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

# Start a conversation

> Manually kick off an outbound conversation on an Initiator-mode flow — for sales, follow-up campaigns, or proactive outreach.

Initiator flows don't wait for inbound traffic. You start each conversation manually (from the editor) or programmatically (from a workflow).

## When to use this

* An account manager places an outbound sales call.
* A renewal team kicks off a "your contract is up for renewal" email.
* A workflow node fires a follow-up SMS after a webhook trigger.
* A scheduled job opens daily check-in conversations.

The flow must be in **Initiator** execution mode. See [Execution modes](/conversation-flows/concepts/execution-modes).

## Starting from the editor

<Steps>
  <Step title="Click Start Conversation">
    Bottom toolbar. The button appears in place of **Deploy** when the flow's execution mode is Initiator.
  </Step>

  <Step title="Pick a channel">
    Only channels that support outbound traffic appear — Gmail, Outlook, Slack, Teams, Phone, SMS, WhatsApp Business.
  </Step>

  <Step title="Enter the recipient">
    Channel-specific recipient field:

    | Channel         | What to enter                                    |
    | --------------- | ------------------------------------------------ |
    | Gmail / Outlook | Email address                                    |
    | Slack           | User ID or channel ID (the modal helps you pick) |
    | Teams           | User or chat ID                                  |
    | Phone           | E.164 number (`+15551234567`)                    |
    | SMS / WhatsApp  | E.164 number                                     |
  </Step>

  <Step title="Fill in initial parameters">
    If the flow defines [Initial Parameters](/conversation-flows/build/flow-settings#initial-parameters-initiator-mode), the form shows those fields. Common ones:

    * `customer_name`
    * `account_id`
    * `purpose_of_call`
  </Step>

  <Step title="Optional — provide a global task">
    A free-text "what is this conversation about" you give the first actor. Often more useful than structured parameters.

    > "Reach out to Sarah from Acme Logistics about her renewal. Her contract ends Aug 31. Her main concern is pricing — be ready to discuss options."
  </Step>

  <Step title="Start">
    The flow opens the conversation. The first actor sends an opener.

    For email: an email lands in the recipient's inbox.

    For Slack/Teams: a message appears in their DMs.

    For phone: the platform places the call.
  </Step>
</Steps>

## After the opener

What happens next depends on the channel:

* **Email** — the recipient replies in-thread. The reply lands back in this conversation and the next actor turn fires.
* **Messaging** — the recipient sends a Slack/Teams reply. Same loop.
* **Phone** — the caller answers (or doesn't). If they pick up, the conversation continues turn by turn.
* **SMS / WhatsApp** — same as email/messaging.

The conversation is visible in **Conversations history** with the recipient as participant.

## Conflict with an existing active conversation

If the recipient already has an **active** conversation with this flow, the platform asks what to do:

* **Use existing** — your message goes into the existing thread. The actor sees it as the next user turn.
* **Replace** — the existing conversation is closed and a new one starts.

This prevents accidental duplicates — useful when multiple teammates might kick off conversations to the same customer.

## Starting from a workflow

In an [Application workflow](/features/applications), use the **Conversation Flow** action node:

1. Drop the node onto your canvas.
2. Pick the flow you want to start.
3. Map workflow variables onto the flow's Initial Parameters.
4. Wire the node into your workflow.

The flow starts as part of the workflow execution. The opener is sent, and the conversation continues independently — the workflow doesn't wait for the conversation to finish unless you configure it to.

## Anti-patterns

<Warning>
  **Don't use Start Conversation as a bulk send.** This UI is for one-off outreach. For bulk campaigns, use a workflow that calls the Conversation Flow action node, driven by a list trigger.
</Warning>

<Warning>
  **Don't kick off real conversations during testing.** Use the [Test drawer](/conversation-flows/operate/test-flow) — it short-circuits channel delivery. Real Start Conversation calls do send real messages.
</Warning>

## Next

<CardGroup cols={2}>
  <Card title="Test a flow" icon="flask" href="/conversation-flows/operate/test-flow">
    Try the flow without sending real messages.
  </Card>

  <Card title="Conversations history" icon="clock-rotate-left" href="/conversation-flows/operate/conversations-history">
    Track everything that's been started.
  </Card>
</CardGroup>
