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

# Test and publish a Flow

> Verify every branch in the Fliqr AI Flow simulator, publish safely, and avoid breaking contacts mid-conversation.

Never attach a live trigger to an untested draft. Use the simulator, then publish deliberately.

## Test Flow

<Steps>
  <Step title="Open the simulator">
    In Flow Builder, click **Test Flow** (toolbar).
  </Step>

  <Step title="Walk the happy path">
    Confirm copy, personalization, and media for the primary route.
  </Step>

  <Step title="Force every branch">
    Exercise each Quick Reply, Condition outcome, API success, and API failure path.
  </Step>

  <Step title="Validate data writes">
    Check that custom fields and tags update as expected on the test contact.
  </Step>
</Steps>

<Note>
  The in-builder **Test Flow** simulator validates the graph. A separate Bot Simulator tool may exist for embedding a demo widget on a website — that is for demos, not a substitute for path QA.
</Note>

## Publish

1. Click **Publish**.
2. Confirm the Flow shows as published in the Flows list.
3. Attach or verify triggers ([Automation Rules](/docs/core-concepts/automation-rules), menus, broadcasts, inbox).

Unpublished edits remain draft-only until you publish again.

## Safe release practices

<Warning>
  Publishing replaces the live graph for contacts already mid-Flow. Breaking structural changes can strand people on missing blocks.
</Warning>

| Change type                  | Safe approach                                                                                                    |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| Copy / typo fixes            | Publish in place after a quick test                                                                              |
| New optional branch          | Publish in place; keep old paths intact                                                                          |
| Removed / rewired core steps | [Duplicate](/docs/core-concepts/flows/manage-and-duplicate), point new traffic to the copy, retire the old Flow later |
| Channel-specific media       | Test on a real device for each channel                                                                           |

## After publish checklist

* Trigger still points at the correct Flow ID/name
* Default Reply still covers unmatched messages
* Drip campaigns that reference the Flow still resolve
* Team knows which version is live

## Next

<CardGroup cols={2}>
  <Card title="Trigger a Flow" icon="bolt" href="/docs/core-concepts/flows/trigger-a-flow">
    Connect rules, inbox, broadcasts, and API.
  </Card>

  <Card title="Manage and duplicate" icon="copy" href="/docs/core-concepts/flows/manage-and-duplicate">
    Copy Flows for safe cutovers.
  </Card>
</CardGroup>
