Workflows

A workflow is a set of tasks: for example, ask a manager to approve an invoice, update a field, or send information to another system. A trigger decides when it starts. Lines and conditions decide which tasks follow.

Open Workspace Settings → Workflows to manage workflows. Start with one clear outcome, choose how it starts, then build and check its steps. Save keeps a draft; Publish makes a valid version available for new runs. The lessons below let you inspect real controls with local example values without running a workflow.

What a workflow is

Learn this in Finpilo

Name

A workflow does work around a document, such as an approval. Name says the outcome.

  • It can also send the document on
  • For example, Manager review

How It Starts

How It Starts sets the workflow's own trigger, or a lifecycle move runs it. Saving a draft never runs it.

  • Manual: started from a document, the list, a move or the API
  • On a Schedule: at set times
  • When a Document Matches a Condition: once for each matching document
  • When an HTTP Request Is Received: another system calls it
  • When Fields Change: a save changes a watched field
  • When Read by AI: each time AI reads a matching document

Runs For

Runs For picks the entities a clock or an incoming call belongs to. Each entity gets its own run.

Steps

Creating the workflow opens its Steps diagram, where the actions are added. Nothing runs until you publish.

Start from a document's data

Learn this in Finpilo

When a Document Matches a Condition lets a workflow react to documents by itself.

  • It starts once per matching document

Start on a schedule

Learn this in Finpilo

On a Schedule

On a Schedule runs regular work by itself, such as a nightly sync.

  • It starts the workflow at set times, over no document
  • Times are UTC

Runs for

Runs for names the entities a schedule belongs to. Each entity gets its own run.

Repeat

Repeat sets the pattern, and the settings below change with it.

  • Every … minutes: a set gap in minutes between runs
  • Every … hours: a set gap in hours between runs
  • Every day: at the times you set
  • Every week: on chosen days at chosen times
  • In detail…: minute, hour, day, month and weekday yourself

On these days

On these days picks the days it runs. Each time below applies to every picked day.

At these times

At these times are UTC, not your own clock. Next Runs shows them in your time.

In detail…

In detail… sets minute, hour, day of month, month and weekday yourself. Next Runs shows the result.

Start from another system

Learn this in Finpilo

When an HTTP Request Is Received

When an HTTP Request Is Received lets another system start work the moment something happens there.

  • It starts when called at its address

Runs for

Runs for names the entities a call belongs to. Each entity gets its own run.

Address

Address is where the other system sends its calls. It is made when the workflow is saved.

Hook key

Hook key travels with every call in an X-Hook-Key header. A call without it is refused.

Request body

Request body is an example of what the other system sends. Its fields become available to the steps below.

Arrange workflow steps

Learn this in Finpilo

Workflow diagram

The diagram shows the whole workflow at a glance, and lines from Starts decide what runs and when.

  • A box's place on the screen changes nothing

Add Action

A + after a box adds an action there. A + on a line inserts one before the line’s destination.

Action card

A box such as Approval opens its card here, with that action’s settings. Each type has its own controls.

Which result

Which result picks which outcome of the step before this line follows.

  • Any result: the line follows whatever the step reports
  • A named result: the line follows only that outcome
  • And only when: adds a condition on the next step

Continue with an existing action

At the end of a chain, + offers Continue with an existing action instead of a new one.

  • Joins here: the step waits for this path as well
  • Another round: the path goes back to an earlier step

Finished when

A group runs steps side by side, and Finished when decides when it counts as done.

  • All of them: every step in the group has finished
  • Any one: the first step to finish is enough
  • A number of them: the count set in How many of them

Use values from the run

Learn this in Finpilo

One message fits every document, because @ inserts run values into What To Say.

  • Plain text stays as typed
  • Document fields: the document's own values
  • Earlier steps: results of the steps that come before this one

Publish and maintain a workflow

Learn this in Finpilo

Unpublished changes

A workflow changes only on Publish, so runs never pick up half-made edits.

  • Save: keeps your draft
  • Publish: checks it and makes it the version new runs use
  • Unpublished changes: a saved draft that is not live yet
  • Could not publish: lists why the draft was refused

Discard Draft

Discard Draft removes the unpublished changes and returns to the published version.

Pause Workflow

Pause Workflow stops any new run from starting, and runs already going finish. Resume Workflow lets new runs start again.

History

Every published version is listed with what changed. An older one offers Restore Version, which makes it your draft.

Workflow runs

Learn this in Finpilo

Run timeline

Every run is recorded, so you see what is Completed and what is Upcoming.

  • A document's Activity tab shows the same timeline, newest step first
  • Upcoming: the step running now and the steps still waiting
  • Completed: the steps that have finished
  • Workflow started: who began the run, and when

Failure reason

A failed run shows its reason under the step that failed, before Retry Run.

Retry Run

Retry Run sends a failed run again from the step that failed.

Cancel Run

Cancel Run stops a running run and closes its open approvals.

Step: Change Access

Learn this in Finpilo

Change Access

Change Access lets access follow the process, such as opening an approved document to accounting.

  • It gives people, groups or roles a level of access
  • It can also take access back

People

People names who gets or loses the access. A group or role stays itself, so later joiners get it too.

Access

Access is the level the people get. The levels are the ones your workspace defines, such as View.

No access

No access takes back the access that sharing or a Change Access step gave these people on the document.

Step: Change Rows

Learn this in Finpilo

Change Rows

Change Rows makes routine row corrections happen by themselves.

  • It adds, edits, duplicates, deletes, merges or splits table rows
  • Each change can follow a condition

Rows from

Rows from is the table whose rows change.

Which rows

Which rows decides which rows each change touches.

  • All of them: every row of the table
  • Only rows I pick: the rows that match a condition

Change: Add

Add puts new lines at the end of the table.

  • New Lines lists them
  • A column a line leaves out stays empty

Change: Edit

Edit writes new values into the picked rows. Set lists the columns that change, each with its new value.

Change: Delete

Delete removes the picked rows. With All of them every row goes, so the scope matters.

Duplicate, merge or split rows

Learn this in Finpilo

Change: Duplicate

Duplicate reshapes rows for the next system with no manual work.

  • It copies each picked row, keeping its values except those you change

On the Copy

On the Copy lists the columns whose values the copy gets instead.

Change: Merge

Merge combines the picked rows into one row per group.

Group by

Group by names the columns whose equal values put rows in one group, and each group becomes one row.

  • Column Rules: can set one column's rule for this merge

Change: Split

Split turns each picked row into two or more parts. Split by sets how the parts divide it.

  • Share: each part takes a share of the row
  • A column: each part gets an amount of one dividing column

Parts

Parts lists the parts each row becomes.

  • Each has a share or amount
  • Each can set its own column values

Step: Delay

Learn this in Finpilo

Delay

Delay lets a workflow wait for the right moment, such as days before a reminder.

  • It pauses the run for a time or until a date
  • The run then carries on, and waiting is not failing

Wait

Wait is a length of time. Days, hours and minutes add up: 1 day and 6 hours is thirty hours.

or until

or until waits for a date the run knows, such as the due date. A past date carries straight on.

Step: Read with AI

Learn this in Finpilo

Read with AI reads a document again whenever your process needs it.

  • It reads the file and fills the document
  • Reading can use credits

Step: Read Record

Learn this in Finpilo

Read Record

Read Record lets later steps use details kept elsewhere, such as a partner's data.

  • It finds one record, and later steps use its fields

Record

Record is the kind of record to look up.

  • Document: a document
  • Dimension Value: a value of a dimension, such as a partner
  • Entity: an entity

Which one

Which one says which record is read.

  • Found by: the field that identifies it, per kind of record
  • Value: what to look for
  • It is fixed text, or a run value inserted with @

Dimension

Dimension is where a dimension value is looked for. The same code can exist in different dimensions.

Step: Update Field

Learn this in Finpilo

Update Field

Update Field lets the process fill values instead of a person.

  • It writes field values on the document or a related record

On

On is the kind of record whose fields change. The kinds offered are the destinations allowed here.

Which one

Which one picks the record to change.

  • The one this run is about: the document the run started for
  • The one where…: another record, found by a field and a value

Found by and Value

Found by is the field that identifies the record, such as its reference.

  • Value: what to look for
  • It is fixed text, or a run value inserted with @

Dimension

Dimension is where a dimension value is looked for. The same code can exist in different dimensions.

What to Change

What to Change lists the fields to write, each with its new value. Document values can be inserted with @.

Step: Write Records

Learn this in Finpilo

Write Records

Write Records keeps lists such as a dimension's values in step with another system.

  • It creates or updates records from the run's data

Write into

Write into is the list the records go into, such as a dimension's values.

Update the existing record when

Update the existing record when names the field that decides update or create. A match updates, no match adds.

What Goes in Each Field

What Goes in Each Field fills each field of the record from a value in the received rows.

Rows come from

Rows come from is the list in the run's data whose rows become the records.

Step: Send Notification

Learn this in Finpilo

Send Notification

People hear about what matters without having to check. Send Notification sends an in-app notification to selected people.

  • It informs and asks for no decision

Who To Tell

Who To Tell lists who gets it. A group or a role tells each of its people, once each.

What To Say

What To Say is what they read. Document values can be inserted with @.

Step: Send Processing Feedback to AI

Learn this in Finpilo

Send Processing Feedback to AI makes future reading better with your corrections.

  • It sends the saved values to the AI
  • The AI learns from them

Step: Start Workflow

Learn this in Finpilo

Start Workflow

Start Workflow lets one workflow hand work to another, such as one approval per group of rows.

  • It starts another workflow over this document
  • It runs once, or once per group

Start

Start is the workflow to run. It runs for the same entity and document, and it cannot start itself.

Run one for each group

Run one for each group starts one run per value of a field in a list.

  • The step always waits
  • in: the list to split
  • Run one for each: the field that makes the groups

A different workflow per group

A different workflow per group names another workflow for a named group. Every other group runs the one in Start.

On a re-send, ask again

On a re-send, ask again decides who is asked when this runs again over the same document.

  • Everyone: every group is asked again
  • Only the ones that did not finish: finished ones are left alone

Finished when

Finished when decides when the groups count as done. Groups still running are then stopped.

  • All finish: every group must finish
  • Any one finishes: the first to finish is enough
  • A set number finish: an exact number must finish

Who decides

Learn this in Finpilo

Approval

Approval makes sure the right people agree before a document goes on.

  • It asks people, groups or roles to decide
  • Requests reach them in Actions and the daily email summary

Who Approves

Who Approves names the people, groups or roles asked to decide. A group or role asks each of its people.

How many must approve

How many must approve sets how many approvals settle the step.

  • All of them: every approver must approve
  • Any one: one approval is enough
  • Most of them: more than half must approve
  • A set number: the exact count given in How many is that

Auto-approve the sender

Auto-approve the sender records the sender's approval automatically when the sender is one of the approvers.

Send data to another system

Learn this in Finpilo

Send HTTP Request

Send HTTP Request delivers documents straight into another system, such as your accounting.

  • It calls the system and keeps the reply for later steps

Send to

Send to names the saved connection that supplies the address and the credentials.

  • Entity's Destination: each run goes where its entity points

Method and Address

Method is the kind of request: GET reads and POST sends.

  • Address: a path on the connection's address, or a full one
  • Document fields go into it with @

Extra details

Extra details are the headers the receiver asks for, each with a Name and a Value.

What to send

What to send is the data the receiver expects, and Preview shows the filled-in result. Numbers stay numbers.

  • Leave out empty values: skips empty fields, still sends 0 and false

The document file

The document file sets whether the document's file goes with the request.

  • Not sent: the file stays out of the request
  • As an attachment: the file travels as an attachment
  • Inside the message: the file goes in a field of the data

Start: Manual

Learn this in Finpilo

Manual starts when someone asks, from a document, the list, a status move or the API.

Start: When Fields Change

Learn this in Finpilo

When

When Fields Change starts the workflow when a save changes one of the chosen fields.

Fields

Fields names the fields to watch.

  • Any save can start it: person, API, assistant or workflow

Which Fields

Which Fields holds conditions that narrow which changes count. One can compare a field with its value before the edit.

Start: When Read by AI

Learn this in Finpilo

When

When Read by AI starts the workflow each time AI reads a matching document, a re-read included.

Which Documents

Which Documents limits it to documents that match. Documents read before the workflow existed are not touched.

Step: Re-extract

Learn this in Finpilo

Re-extract reads the document again with AI from the text already read from it, as the type it has now.