> ## Documentation Index
> Fetch the complete documentation index at: https://docs.assistable.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Test a flow before publishing

> Exercise the current draft, inspect its path, and separately verify real channel behavior.

The flow test drawer runs the current draft. Use it to check conversation paths before publishing, then test the actual phone or website channel to confirm delivery.

## Start a test

1. Wait for **Saved** and open **Test**.
2. Review the test drawer. Its **Chat/Voice** and **Inbound/Outbound** selectors are visible, but currently do not change how the runtime executes this test.
3. Click **Start conversation** to begin without an initial visitor message, or send a message to start with visitor input.
4. Follow the conversation and the highlighted active node. Review errors and tool-call details shown in the conversation.
5. Click **Reset** before testing a different scenario. This starts a new test session.

Selecting Voice here does not place a telephone call or test microphone audio, transcription, interruptions, or carrier routing. Verify those with the published assistant's voice test and a real number when applicable.

## Minimum test set

| Scenario | What to check |
| - | - |
| Expected request | Correct destination and useful response |
| Missing information | Assistant asks before taking action |
| Ambiguous answer | No premature branch or invented result |
| Integration failure | Honest recovery message; no false confirmation |
| Repeat request | No unintended duplicate external action |
| End of conversation | Appropriate closing and no extra action |

For values passed to an integration, inspect the received request or resulting record. The presence of a variable in the editor does not confirm the runtime supplied it.

## Tests can perform actions

A draft test can call configured tools and external endpoints. Use test records and reversible actions. **Reset** clears the conversational test session; it does not undo sent messages, bookings, or CRM changes.

## Publish and check again

Publish the flow when its draft behavior is ready. Confirm the assistant uses that published flow, publish the assistant, and test the actual delivery channel. If the live conversation differs, check that you published the latest draft and selected the correct assistant and subaccount.

For no response, check the displayed error, model access, start node, and connected paths. For a pause at Logic, check the default path. See [model access](/v3/guides/flows/model-access).

## Test drawer controls and results

| Control or detail | What it does |
| - | - |
| Start conversation | Starts a turn without a visitor message, using the draft’s configured start node. |
| Message input / Send | Sends a typed visitor message into the current test session. |
| Reset | Clears displayed conversation and starts a new session; it does not undo external actions. |
| Chat / Voice | Defaults to Chat. Currently these choices do not change runtime execution and do not test channel transport. |
| Inbound / Outbound | Defaults to Inbound. Currently these choices do not change runtime execution or call direction. |
| Test variables | Shows editable draft values locally, but those edits are currently not included in the test request. Set **Variables** in the flow itself, save, and reset the test to check different defaults. |
| Active node | Highlights where the flow is currently responding. |
| Response details | When supplied: node ID, provider, model, tokens in/out, latency, cost, and transition from/to. These describe the turn, not proof of an external action. |
| Tool call details | Expand a tool to inspect input and output. A pending/async label means completion still needs verification. |
| Ended / errors | Indicates the conversation ended or a request failed. Reset before a new scenario. |

For contact or channel-specific variables, test through the actual integration that supplies them. The editor does not automatically load a CRM contact merely because a contact variable appears in its picker.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.