SmartApps Workflow engine

One workflow engine under every app: approvals, assignments, clocks, notifications, signatures.

Approval flows with any number of levels, an alternate at each level, delegation, series or parallel paths, a time limit per level and an escalation user.

APPROVAL FLOW · CAPITAL REQUEST > 250,000startLevel 1Plant controllertime limit 2 daysalternate approverapprovedLevel 2Division CFOtime limit 3 daysalternate approverapprovedLevel 3Group CFOtime limit 5 daysalternate approverreleasedIN PARALLEL WITH LEVEL 2Legal reviewcontract termsProcurementsupplier standingWHEN A CLOCK RUNS OUTThe rule for that level decides: escalate to the parent level, hand to the alternate, or return to the requester with anote. A delegate named by an approver acts in their place for a stated period, and the log records both names.
An approval flow as the engine runs it: three levels in series, two functions in parallel with level 2, an alternate per level, a clock per level and an escalation rule when a clock runs out.
6
settings of an approval flow: levels, alternate per level, delegation, series or parallel, time limit, escalation user
product
4
settings of an assignment: owner, assignees, sequence or parallel, time limit per assignment
product
3
channels for a card with action buttons: Slack, Teams, email
product
18
alerts sent in one showcase day, with 0 judged as noise by the recipients
showcase estate
6 h 14 min
for a three-stage certification with an external auditor as stage 3
showcase estate
Approvals

Levels, alternates, delegates, paths, clocks and escalation

An approval flow is configured once and reused: the number of levels, who sits at each, the alternate approver at each level, whether a person may delegate and for how long, whether levels run in series or in parallel, the time limit at each level and the escalation user when a limit passes. Value bands map amounts to the level where the flow ends, so a 40,000 request ends at level 1 and a 4,000,000 request reaches the committee.

The engine enforces the sequence: every level is passed in order and every decision carries its true time, because the log records the step and the time as they happen. An override, for example an administrator releasing a stuck instance, is a step of its own with a justification and a name.

SettingOptionsExample
Levels1 to n, from a hierarchy or namedplant controller → division CFO → group CFO
Alternateone per leveldeputy controller
Delegationallowed or off; maximum period2 weeks, both names logged
Pathseries, parallel, mixedlegal and procurement in parallel with level 2
Time limitper level; working days or hours; calendar-aware3 working days at level 2
Escalationparent level, alternate, named user, return to requesterto the group CFO after 5 days
Bandamount or score thresholds per level< 100,000 ends at level 1
Assignments and tracking

From an owner to the people who do the work

A record has an owner. The owner assigns it to one or several people, who complete their part in sequence or in parallel, each within a time limit. Tracking shows the owner and the levels above every open assignment: who has it, since when, what is left. A month-end checklist is 80 assignments with dependencies; an audit remediation is 30 actions across 12 owners; both are the same engine.

Assignments can be made by rule, from the case data (the steward of the material's domain), from a list, or by hand on the tracking screen. A person's queue is one screen across all apps: everything assigned to them, sorted by clock.

OwnerThe person responsible for the record; assigns and tracks.one
AssigneesOne or many; sequence or parallel.n
Time limitPer assignment; escalates to the owner.clock
DependencyAn assignment that waits for another.checklist
QueueOne screen per person across all apps.sorted by clock
BoardOwner's and leaders' view of every open item.tracking
Notifications

A card with the context and the buttons to act

A notification carries enough to act on: the case, the values that matter, the deadline, and buttons for the decisions the step allows. On Slack and Teams the card is structured, so an approver can approve, return or escalate from the phone; on email the same buttons deep-link into the workbench. Digests gather what a role needs weekly: open items, clocks about to run out, decisions taken.

In the showcase estate, an anomaly at 02:14 produced one card to the owner with the asset, the pipelines held, the subscribers at risk and the deadline; the owner acknowledged from a phone at 02:19 and the fix was live at 02:58. The exceptions page tells the whole story.

Teams card · Capital request CR-2026-0187 level 2 of 3
RequestPackaging line 3 upgrade · Penang · 640,000
Requested byM. Tan, plant engineering · business case attached
Budget lineCapex 2026 · Penang · 1,200,000 · 410,000 approved to date
Level 1Approved by plant controller, Tue 10:14
Clock2 working days left at your level
ApproveReturn with noteEscalateOpen workbench
Signatures, permissions, surveys, rewards, measures

The rest of the engine

Multi-party signatures

A handshake between functions or companies: each party signs the same version of the case; the case closes when all have signed; the log holds each signature with its time.

Permissions

A level grants a lower level a permission for a period, for example to release a block up to a value; the grant and every use are logged.

Comments and reactions

Threaded discussion anchored to the case, with reactions, visible to every role that sees the case, part of the record.

Broadcast and FYI

Inform a function, a level or a list, with a card and a read receipt, for the steps that need awareness only.

Surveys

A screen sent to a list, a level or a supplier base, with a close date; answers are rows other apps can read; reminders by rule.

Rewards and measures

A rule assigns a reward or an incentive on an outcome; measures are shown per level as the flow runs and on the board afterwards.

Terms on this page

Series and parallelLevels in series decide one after another; levels in parallel decide at the same time and the flow continues when all, or the first, have decided.
Escalation userThe person or level that receives a case when its clock runs out, named in the flow's definition.
DigestA scheduled summary per role of open items, clocks and decisions, sent on Slack, Teams or email.
HandshakeA multi-party signature where each party signs the same version of a case.
Questions

Can approvers act from Slack or Teams?

Yes. The card carries the context and the buttons; the action is logged with the person's identity, the same as in the workbench.

How are working days and holidays handled?

Clocks use a calendar per site or country; a time limit of 3 working days in Penang knows Penang's holidays.

Can the same engine run an approval that exists in ServiceNow or Workday?

The app raises the approval in the app and mirrors it in the other system's approval list, so people act in either place and both records agree; the log holds the acknowledgement.

What about an approver who is also the requester?

A rule of the flow: the engine skips a level where the approver is the requester and records the skip, or routes to the alternate, as the definition says.

See a SmartApp built on your data

Bring one process and the systems it touches. In the first session we register the data handlers, draw the levels or the lanes and run the first screen on your live rows.