PROCESIO
OverviewPlatform ActionsIntegrations & DemosMarketplaceCustom ActionsDeveloper’s Guide

Approval

The Approval element lets a reviewer approve or reject a form, with an optional or required comment, and runs events before and after the decision.

The Approval element is a purpose-built control for formalizing review decisions within Procesio Forms. It presents the reviewer with a clear Approve / Reject action pair and optionally requires them to leave a comment before their decision is recorded — enforcing accountability and audit-readiness in approval workflows.

Unlike a generic button or radio button, the Approval element captures rich metadata alongside the decision: the reviewer's user object (responseuser), the timestamp of the decision (responsedate), their written comment (comment), and the outcome itself (response). All of this data is part of the element's data model and flows directly into your process for downstream actions such as notifications, escalations, or document generation.

Comment requirements can be made conditional per outcome — you can require a justification on rejection but make it optional on approval, or vice versa, giving you fine-grained control over the governance policy your workflow enforces.

Key Use Cases

•        Document, purchase order, or leave request approval workflows

•        Multi-level approval chains where each reviewer's response is captured and stored

•        Requiring a written reason for rejection (iscommentrequiredonreject: true) for compliance

•        Reading responseuser and responsedate at runtime to stamp a document or send a notification

•        Pre-filling the description with context-sensitive instructions based on the record being reviewed

Runtime API — Attributes in Procesio Forms

All attributes below are accessible and modifiable at runtime via the element's data model in Procesio Forms — on any available event such as onLoad, onChange, or custom triggers.

API NameDescriptionTypeDefaultNotes
labelDisplay label above the approval controlstring——
tooltipHelp text shown alongside the labelstring——
descriptionInstructional text for the reviewerstring——
infotextSupplementary info displayed below the elementstring——
visibleControls element visibilitybooleantrue—
commentThe reviewer's written comment — readable at runtimestring——
responsedateTimestamp of when the decision was madestring|date|null——
responseuserThe user who made the decision (id, name)object|null——
responseThe decision outcome — Approve or Rejectstring|null—APPROVE, REJECT
nameUnique element namestring——
idUnique element IDstring——
iscommentrequiredonapproveForces a comment when approvingbooleanfalse—
iscommentrequiredonrejectForces a comment when rejectingbooleanfalse—

Comments

The reviewer sees a comment box above Approve and Reject. Its placeholder says whether a comment is needed: (required), (required on approve), (required on reject) or (optional). While a required comment is missing, the matching button is disabled, and hovering it shows "Please make sure that required comment is set".

Events

Open the element's Events group to run actions around the decision. The Approval element has seven events:

EventWhen it runs
onInputWhen the reviewer changes the comment.
onBeforeApproveAfter Approve is clicked, before the decision is saved.
onBeforeRejectAfter Reject is clicked, before the decision is saved.
onBeforeSubmitAfter either button is clicked, before the decision is saved. It runs after onBeforeApprove or onBeforeReject.
onAfterApproveAfter an approval is saved.
onAfterRejectAfter a rejection is saved.
onAfterSubmitAfter either decision is saved.

Values that the before events write into the form, for example with a data mapping or a process, are saved together with the decision.

In the before and after events, $event holds the decision: response (APPROVE or REJECT), comment, responseUser (the reviewer's id and name) and responseDate. A script run by the event can read it. Processes and mappings can read the same decision values from the element itself.

See Trigger events for form and elements for the actions an event can run.

Forms saved before September 2025 have no event slots on their Approval elements. Open such a form in the Form Designer and publish it again to add them. Its approvals keep working without this step.

For support, please join our Discord community for further assistance and support.

On this page