Skip to main content

Agents

Tasks and workflow

Giving an agent a sequence to complete, not just a topic.

What a task is

A task is a structured side-effect the agent can perform during or after a call. Booking a calendar slot, writing a field back to a CRM, sending an SMS, calling your own endpoint. Tasks are configured under the Tasks tab of the Finn editor and stored as finn_tasks on the agent.

Tasks are separate from the prompt. The prompt tells the agent what to talk about. Tasks tell it what to do, and a workflow tells it what order to do things in. See agents-prompting for the talking half.

Tasks are configured in the dashboard

There is no public API for creating or editing tasks. You configure them in the Finn editor: View All Finn → your Finn → EditTasks. The API surface for agents (api-finns) covers the agent record, not per-task configuration.

TaskWhat it doesWhat it needs
Book calendarCreates an event on a connected calendarGoogle or Outlook OAuth connection
CRM updateWrites outcome fields to HubSpot, Salesforce, or PipedriveA connected CRM, see integrations
WebhookPOSTs call data to a URL you controlA reachable HTTPS endpoint
Send SMSSends a follow-up textA number on your account
Transfer callHands off to a humanA destination number, see tools-transfer

Ordering: free-form vs workflow

With tasks alone and no workflow, the agent decides when to fire them based on the conversation. That is fine when the trigger is unambiguous ("book the appointment once you have a date and a time").

It stops being fine when order matters. If you find yourself writing "you must do X before Y" into the prompt and the agent keeps getting it wrong, you need a workflow. Same if a disclosure has to be read verbatim, or the conversation has explicit decision points.

A workflow is a node graph you draw in Edit Workflow. Six node types:

NodePurpose
StartEntry point. Exactly one per workflow. Can carry the opening line.
SayAgent speaks. No question, no waiting.
AskAgent asks and waits. Saves the answer to a named variable.
DecisionBranches on a saved variable, an enum match, or an AI evaluation.
ActionRuns a task (book, transfer, CRM, SMS, webhook).
EndTerminates. Multiple End nodes are allowed and each becomes its own analytics category.

Edges connect nodes. The order is enforced, so the agent cannot skip the disclosure or book before it has checked severity.

Variables carry data between steps

Ask nodes and Action nodes both produce variables that persist for the whole call. Reference them with double braces:

  • {{contact.name}} from the audience row this call targets
  • {{state.severity}} from the Ask node that saved to severity
  • {{state.appointment_id}} returned by a Book Calendar action

They work in Say text, Ask question text, Action parameters, and Decision conditions. Full rules in agents-variables.

The most common failure here is a name mismatch. If the Ask node saved to severity_score and the Say node reads {{state.severity}}, the raw token appears in the transcript and the caller hears it. The names must match exactly.

What breaks in production

Callers do not answer in the format your Ask node expects. An Ask node with no fallback edge strands the run. Add a fallback to every Ask node that re-asks, transfers, or jumps elsewhere. Switching the node from exact match to AI-evaluated lets the model accept paraphrased answers.

Say nodes back-to-back sound robotic. The End node can hand off to free-form, which drops the agent out of the graph and back to identity plus knowledge base for the rest of the call. Use the workflow for the required parts only.

Editors get sluggish past roughly 30 nodes. Group sub-flows into Group nodes (Pro plan) or split into multiple Finns joined by Transfer nodes.

Autosave is off. Unsaved canvas edits are lost. Save with the button or ⌘/Ctrl + S.

Versioning and portability

Every save creates a version. New deployments pick up the current version. Deployments already running stay on the version they launched against, so a save does not change live traffic. Roll back with Edit WorkflowHistoryRestore. More in agents-versioning.

Workflows export and import as JSON from the menu in the workflow editor. Use that to copy a flow between Finns, commit it to git, or share a template.

Tasks vs sequences

A workflow orders steps inside one call. If what you need is ordering across calls (call, wait an hour, retry, text on answer), that is a sequence, built in Sequences and covered in outbound-campaigns.

Test each chunk as you build it. Test on Chat shows node inputs and outputs in real time, which is how you find the branch that went sideways. Test on Call before you launch. See agents-testing.