Subflows
Call a reusable Attio workflow for a record, pass it values, and choose whether the calling workflow waits for its answer.
Before you start
Use the Advanced Workflow Automations app version that includes Start a subflow, Call a subflow, and Return from a subflow. Complete Automations setup and check that your Neon Deer plan includes scheduled workflow runs.
The app is available today through All apps in Neon Deer; it is not yet listed in Attio's marketplace.
A subflow starts when another workflow calls it. Use scheduled workflows when you want a record to enter a workflow at a future date and time instead.
Set up the called workflow
- Start an Attio workflow with
Start a subflow. Choose theObjectwhose records it accepts. - Add the steps you want to reuse. The trigger supplies the record, its
Subflow ID, and the input values sent by the caller. - Add
Return from a subflow. MapSubflow IDfrom the trigger, chooseStatus, and map the values to return. - Turn the workflow on. It can then be selected by a calling workflow for the same object.
The return step sends the result to the workflow that called this run. Use the Subflow ID from this run's trigger; do not hardcode an ID from an earlier run.
Call it from another workflow
- Add
Call a subflowto the calling workflow. ChooseObject, the matchingSubflow, and theRecordto send. - Map the values the called workflow needs into the input fields. Unused inputs arrive as empty text.
- Leave
Don't wait for a resultclear to wait for a return. Later steps can useStatusand the returned output values. - Select
Don't wait for a resultwhen the calling workflow should continue immediately. It receives no returned values in that mode.
Example: reuse an account-routing check
Create a Companies subflow that reads the company's region and uses a lookup table to choose an owner. Return Succeeded and the owner's email in Output 1 when a match is found, or Failed when it is not.
A demo-request workflow and a partner-referral workflow can both call it for their company record. Each waits for the result, checks Status, and uses Output 1 in its next step. Changing the routing workflow updates the shared process without copying its steps into both callers.
Failed is a returned status your calling workflow can branch on. It is different from a call that could not start or failed to receive a return.
Review calls and resolve problems
In Automations → Scheduled runs, choose Type → Subflow runs. Open a run to see which workflow called it and follow the link to the calling run in Attio.
If the subflow is missing from the picker, check that it is on, starts with Start a subflow, and uses the selected object. If a waiting call does not receive a result, check that the called workflow reaches Return from a subflow with the correct Subflow ID. Review both workflows in Attio before retrying work that may already have changed records.
The first return decides the result. Later returns do not replace it. Calls that cannot start or do not return in time fail the waiting step; check its error and the Activity page before trying again.