Buni.aiDocs
NewUSSDChatbotAutomationSubworkflow

Run workflow

Runs one of your organisation's shared workflows, waits for its answer and saves it, then continues on Success or Failure.

Run workflow runs a shared workflow: an automation in your organisation that other projects run and get an answer from. The step passes the workflow its inputs, waits for its answer, saves it, and continues on Success or Failure.

When to use it

  • Several projects need the same steps, such as looking up a customer in your CRM or getting an access token. Build them once as a shared workflow and run it wherever it's needed.
  • To reuse steps that should be copied into each project and pinned to a version, use a Subworkflow instead. A Run workflow step always runs the shared workflow's current live version.
  • For a single HTTP call, the API node is simpler.

Where you find it

Run workflow is in the Logic group of the palette in USSD, chatbot and automation projects, and in subworkflows. Voice projects can't run shared workflows yet.

Run workflow settings with a shared workflow chosen, its required inputs country and accountNumber filled in, Save the answer as acct_workflowResult, and the outputs it answers

Settings

Prop

Type

When the workflow stops taking an input, the step lists it under No longer taken: with a button to remove it.

How long it waits

Project typeDefaultLongest
USSD3 seconds4.5 seconds
Chatbot8 seconds20 seconds
Automation20 seconds120 seconds

A step that runs out of time takes Failure and is not retried.

Outputs

HandleWhen
SuccessThe shared workflow answered. Also taken when it ends without reaching a Return step, with an empty output.
FailureThe shared workflow failed, timed out or could not be reached.

The answer is saved as:

{
  "success": true,
  "output": { "clientId": "C-1042" },
  "error": null,
  "cached": false
}

output holds what the workflow's Return step answers. When success is false, error has a code and a message:

CodeWhen
TIMEOUTThe workflow did not answer within the wait.
UNAVAILABLEThe workflow could not be reached.
BAD_INPUTThe inputs are not what the workflow takes, for example a required input is missing.
NOT_PUBLISHEDThe workflow has no live version. Publish it, then publish this project again.
NOT_CONFIGUREDThe workflow isn't ready, or isn't available to this project any more. The message says what to do.
WORKFLOW_ERRORThe workflow itself failed. The message is the workflow's own.

cached is true when the answer came from a saved result.

When Failure isn't connected

  • USSD: the session ends on the error screen. The canvas warns No Failure Path.
  • Chatbot: the turn stops.
  • Automation: the run fails with the workflow's error.

Example

A USSD project asks for an account number, runs the shared workflow Find client and greets the client by name:

  1. Menu, asking Enter your account number:, Output variable accountNumber.
  2. Run workflow, Workflow Find client, input accountNumber set to {{state.accountNumber}}, Save the answer as client.
  3. On Success, a Menu showing Welcome, {{state.client.output.firstName}}.
  4. On Failure, a Menu showing We couldn't find that account. Please try again later.

Tips and limits

  • A draft runs the draft. In the simulator, the step runs the shared workflow's saved draft. A published project runs its live version, so publishing a new version of the workflow changes what published projects run, without republishing them.
  • Publishing checks the step. A project can't be published while a step runs a workflow that isn't live, or leaves out an input the live version requires.
  • Keep USSD calls fast. A USSD session has only a few seconds per screen, so the wait is capped at 4.5 seconds.
  • Shared workflows can run each other at most 3 deep, and a workflow can't run one that is already running further up the chain.
  • Buni can add the step. When your organisation has shared workflows, the AI assistant can add a Run workflow step for one of them, with its inputs and both paths.
Last reviewed 24 October 2026

On this page