Prompt or call flow
A Finn follows one of two kinds of instructions:
| System prompt | Call flow | |
|---|---|---|
| What it is | One block of text: objective, flow and rules. | Connected steps on a visual canvas, each with its own instructions. |
| Order of the conversation | The Finn decides, based on the prompt. | You set it with transitions between steps. |
| Tools during the call | No | Yes: calendar, transfer, your own API. |
| Best for | Open conversations, such as answering questions. | Calls with required steps, branches or actions. |
Start with a prompt. Move to a call flow when the Finn must do things in a set order, such as confirming identity before discussing an account, or when it needs to act during the call, such as booking a slot. See agents-prompting.
When a call flow is active, it runs instead of the system prompt. The builder's Call flow tab says so: "Conversational flow active".
Call flows are built in the dashboard only. The API doesn't expose them. See api-finns.
Opening the canvas
Click Edit on the Finn's builder page. On the Call flow tab, under System prompt, click Convert to conversational flow. Save the Finn first; the button is disabled until it exists. Once a flow is active, the same button reads Callflow canvas and shows the number of steps.
Click Save canvas when you are done. Unsaved changes are marked Unsaved in the toolbar.
Steps
Add steps with + below a step, or by dragging from its handle.
| Step | What it does |
|---|---|
| Start | Where the call begins. Exactly one per call flow. Connect it to your first step. |
| Conversation | The Finn speaks, listens and decides where to go next. |
| End Call | Hangs up. Set a Goodbye message for the Finn to say first. No path leads out of it. |
Conversation steps
Each Conversation step has:
- Instruction prompt: what the Finn says and does at this step, its goal, what to ask and how to respond.
- Steer back (optional): what to do if the caller goes off topic, for example answer briefly and return to the step's goal.
- Transitions: the steps it can go to next. Give each transition a condition in plain language, such as "caller agrees to book a demo", so the Finn knows which one to follow. A single transition with no condition always goes to the next step.
Tools
Tools are attached to a Conversation step, not added as steps. The Finn calls them during that step, in parallel with the conversation, for example to look something up and keep talking.
| Tool | What it does | What you configure |
|---|---|---|
| Check Calendar | Checks available slots. | Cal.com API key, Event type ID, Timezone |
| Book Calendar | Books a slot. | Cal.com API key, Event type ID, Timezone |
| Call Transfer | Hands the live call to a person. Ends the Finn's part of the call. | Transfer to number in E.164 format, and an optional Message before transfer |
| API request | Calls your endpoint and uses the response in the conversation. | See below |
| Webhook | Notifies your system. Fire-and-forget: the Finn doesn't wait for or read the response. | See below |
| Custom function | Calls your endpoint, configured the same way as an API request. | See below |
See integrations-calendar and tools-transfer.
Your own endpoints
API request, Webhook and Custom function call an HTTP endpoint you run. Configure:
| Field | Notes |
|---|---|
| Tool name | A name such as lookup_order_status. |
| What does this do? | A description. The Finn uses it to decide when to call the tool, so be specific: "Fetch an order's status by order ID." |
| URL and Method | GET, POST, PUT, PATCH or DELETE. |
| Headers | Request headers, such as an Authorization header for your endpoint. |
| Parameters | Values the Finn takes from the conversation and sends: a name, a type (string, number or boolean), a description and whether it is Required. |
| Timeout (ms) | How long to wait for a response. |
| Filler (optional) | What the Finn says while it waits, such as "One moment…". |
Your endpoint must be reachable over public HTTPS (no VPN or IP allowlist) and return JSON within the timeout. See tools-custom.
Export and import
The canvas toolbar has Export JSON and Import JSON. Export copies or downloads the call flow as JSON. Import takes a pasted or uploaded JSON payload and replaces the current canvas. Use them to copy a flow between Finns or keep it under version control.
Ordering across calls
A call flow orders steps inside one call. To order actions across calls, such as call, wait, then follow up, use a sequence. See sequencing.
Testing
Test each part as you build it. Place a test call with Test → Phone call and walk every branch: answer each question the way a real caller might, including off-topic and unexpected answers. See agents-testing.