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

# Publish a flow

> Publish your flow and make its customer entry point live on your selected channel.

Publish a flow after you test your sales agent's responses.
Publishing saves the flow configuration for customer conversations.
The builder checks the selected goal, flow type, and required connections.

## Publishing checks

The builder can block publishing for these reasons:

* A Meta flow has no valid Meta connection.
* A sales flow needs Shopify but Shopify is not connected.
* A lead collection flow has no valid form or conversational content.
* An incentive has no valid delivery method.

An Embedded Form must keep one way to contact the lead.
Keep an email or phone field, or enable a handoff channel.

**1. Review the draft**

Check the goal, flow type, greeting, and required stage cards.

**2. Select Publish**

Use the Publish action at the bottom of the builder rail.

**3. Resolve a gate**

Follow the shown connection or content requirement.
Return to the builder after you complete it.

**4. Wait for completion**

Keep the page open while Moshi publishes the flow.

**5. Open the published flow**

Open the results page after the success state appears.

## Review before activation

A flow that requires approval shows a Not live yet banner.
Select Review test drive to review each test shopper's conversation.
Select a response to add a fix in its floating editor.
Apply your fixes and review the updated responses before you select Approve and go live.

See [Review conversations](https://docs.moshi.ai/build-and-launch/test-a-flow.md#review-conversations) for the complete procedure.

## Make the customer entry point live

Complete the channel setup after Moshi confirms publication and any required approval.

| Flow type | Channel launch |
| - | - |
|  Paid Engagement Ad | Select Open Meta Ads Manager when available. Publish the paused ad in Meta and confirm delivery starts. |
|  Listen on Instagram | Add the keyword prompt to your caption or pinned comment. Publish the post if you select Next post. |
|  Embedded Form | Copy the embed snippet from the flow results. Install it on your website and publish the website changes. |

Test the live ad, Instagram trigger, or website form as a customer.
Confirm that it starts the expected conversation or collects the lead details.

> [!WARNING]
>
> MCP `create_ad` can create real Meta objects when `publishToMeta` is true.
> The tool creates the Meta ad in a paused state and requires explicit confirmation.

## Failed publishing

Read the failure message and correct the named requirement.
Do not create another flow to bypass a connection or content error.
Try publishing the same draft again after the correction.


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