+1 (726) 224-7339

Building Approval Chains with Anaplan Workflow

Anaplan Workflow is the platform's native capability for routing tasks and approvals through the people who own them, inside the New UX, with status tracking and notifications. It replaces the combination of email, spreadsheets, and Boolean "Submitted?" line items that most annual budget processes still run on. This walkthrough builds an approval chain for an annual operating budget.

What Workflow gives you

A workflow is a sequence of steps. Each step is one of:

  • Task: someone has to do something on a page (enter a budget, review a variance) and mark it complete.
  • Approval: someone has to approve or reject what the previous step produced, optionally with a comment.
  • Conditional routing: the next step depends on data in the model, for example the size of a budget request.

Assignees come from your Anaplan users, typically by role or by a list of owners held in the model. Workflow keeps a status per instance (one instance per cost center, for example), notifies assignees, and shows managers where the process is stuck. Everything is visible in the New UX; nobody needs to leave Anaplan.

The use case

An annual budget with three tiers:

  1. Cost center managers enter their budget on a worksheet page.
  2. Department heads approve each cost center in their department.
  3. Finance approves the department total; departments above a threshold also go to the CFO.

Rejections at any level send the budget back to the cost center manager with a comment.

Step 1: Get the model ready

Workflow routes people; the model has to tell it who they are and what state the data is in.

Owner lists. Create a SYS Cost Center Properties module with line items for Budget Owner and Department Head, both formatted as user line items, populated from your HR feed or maintained by an admin. Add Department as a list-formatted line item so the chain can roll up.

Status flags. Workflow maintains its own status, but downstream logic (locking inputs, reporting) is easier with model flags:

Submitted?        (Boolean, written by a Workflow action on task completion)
Approved L1?      (Boolean)
Approved L2?      (Boolean)
Budget Locked?    = Submitted? AND NOT Rejected?

Use Dynamic Cell Access driven by Budget Locked? on the input module so a submitted budget is read-only until a rejection unlocks it.

Routing values. Add a calculation the conditional step can read:

Department Budget Total = Budget[SUM: SYS Cost Center Properties.Department]
Needs CFO Approval?     = Department Budget Total > CFO Threshold

with CFO Threshold as an input in a settings module, not a hard-coded number.

Step 2: Build the pages

Workflow tasks point at New UX pages, so build these first:

  • Budget Entry worksheet: the input grid for one cost center, with the page selector defaulted to the user's cost center. Include a context card showing prior-year actuals and the variance.
  • Department Review board: one department's cost centers side by side, with a variance-to-target chart and a comments grid.
  • Finance Review board: all departments, flagged by Needs CFO Approval?.

Pages should be usable on their own; Workflow just gets people to the right page at the right time.

Step 3: Define the workflow

In the app's Workflow area, create a workflow Annual Budget Approval with one instance per item in the Cost Center list.

  1. Task: Enter Budget. Page: Budget Entry. Assignee: Budget Owner from SYS Cost Center Properties. Completion writes Submitted? = TRUE.
  2. Approval: Department Head Review. Page: Department Review. Assignee: Department Head. Approve sets Approved L1?. Reject returns to step 1 with the comment surfaced on the Budget Entry page.
  3. Conditional routing. If Needs CFO Approval? is TRUE, go to step 4a; otherwise step 4b.
  4. (a) Approval: CFO Review, assignee the CFO user; (b) Approval: Finance Review, assignee the FP&A lead. Either approval sets Approved L2?.
  5. End. Mark the instance complete. A final action can run a process that copies the approved budget into a locked version.

Give each step a due date relative to the workflow start (for example entry due day 10, department approval day 15, finance day 20). Workflow will show overdue instances without anyone building a report.

Step 4: Handle rejections deliberately

The most common design mistake is treating rejection as an exception. It is the normal path for the first round of any budget. Make sure:

  • The rejection comment is visible on the entry page, not buried in a notification.
  • Rejection clears Submitted? so Dynamic Cell Access unlocks the inputs.
  • Rejection does not clear the data. Managers should adjust, not start over.
  • The workflow records how many times an instance has been rejected, so Finance can see which cost centers are cycling.

Step 5: Launch and monitor

Kick off the workflow for all instances at once, or in waves by department if you want to stagger the load on approvers. The Workflow status view gives a process owner the equivalent of a Kanban board: how many instances are at each step, which are overdue, and who is holding them. Put that on a board page for the FP&A lead and you have your status meeting.

Practical advice

  • One workflow per process, not per year. Re-launch the same workflow each cycle. Keep year-specific values (thresholds, due dates) in the model.
  • Keep approval layers to three. Every additional layer roughly doubles cycle time. If an organization has five layers of sign-off, solve that politically, not in Workflow.
  • Test with real users on a copy of the model. Notification wording and page defaults are what people notice.
  • Use model flags for reporting, not Workflow status alone, so variance reports and dashboards can filter on approval state without a Workflow dependency.
  • Version the result. The final step should copy the approved budget to a locked version so later edits cannot change the number that was approved.

Workflow is the feature that turns a planning model into a planning process. If you would like help designing one, see our Anaplan Workflow and Process Automation service.