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

# Build a journey step by step

> Start a draft, set the link, keyword, replies, and capture one at a time, check everything, and then publish.

Use this path when you want to decide each piece yourself, or when you are still choosing the link or the keyword. Every step saves to the same draft in your Fanaura account, so you can stop and come back later.

<Note>
  If you already know the link and the keyword, [one message is faster](/mcp-server/guides/launch-a-keyword).
</Note>

## The tools in order

```mermaid theme={null}
flowchart LR
  S["start_journey"] --> D["set_destination_url"]
  D --> K["set_instagram_keyword"]
  K --> R["set_public_replies"]
  R --> C["set_capture"]
  C --> F["set_followers_only"]
  F --> L["check_link"]
  L --> V["validate_publish"]
  V --> P["publish_journey"]
```

Only `start_journey`, a destination, a keyword, and `publish_journey` are required. The rest have sensible defaults.

<Steps>
  <Step title="Start a draft" icon="file-plus">
    ```text theme={null}
    Start a new journey for my booking page.
    ```

    The assistant calls `fanaura.start_journey`. You can pass a destination and a name now, or later. The result includes the `journey_id` the next steps use.
  </Step>

  <Step title="Set where people land" icon="link">
    ```text theme={null}
    Send them to https://calendly.com/you/intro
    ```

    `fanaura.set_destination_url` saves the page. It must be a full public `https://` address. Anything else returns an error, and the journey keeps its previous destination.
  </Step>

  <Step title="Pick the keyword" icon="key-round">
    ```text theme={null}
    Use the keyword BOOK.
    ```

    `fanaura.set_instagram_keyword` saves the word in capitals. It must be one word of up to 32 letters or numbers. Reserved words such as STOP and HELP are refused.
  </Step>

  <Step title="Write the public replies" icon="messages-square">
    ```text theme={null}
    Reply under the comment with "Sent it to your DMs" or "Check your messages".
    ```

    `fanaura.set_public_replies` saves up to 10 versions. Fanaura rotates them so your comments do not look copied.
  </Step>

  <Step title="Choose what to collect" icon="contact">
    ```text theme={null}
    Ask for their email before the page opens.
    ```

    `fanaura.set_capture` takes `email`, `phone`, or `either`. Mode `either` currently adds only an email field. If you skip this step, the journey uses automatic capture, which asks for one missing detail per visit.
  </Step>

  <Step title="Limit it to followers, if you want" icon="user-check">
    ```text theme={null}
    Only send the link to people who follow me.
    ```

    `fanaura.set_followers_only` turns the follow check on or off.
  </Step>

  <Step title="Check the link" icon="shield-check">
    ```text theme={null}
    Does my destination link work?
    ```

    `fanaura.check_link` answers yes or no for the saved destination, or for a URL you pass to compare. It never changes the journey.
  </Step>

  <Step title="Review the checklist" icon="clipboard-check">
    ```text theme={null}
    Is this ready to go live?
    ```

    `fanaura.validate_publish` lists anything missing. It never publishes.
  </Step>

  <Step title="Publish" icon="rocket">
    ```text theme={null}
    Publish it.
    ```

    `fanaura.publish_journey` reserves your public link from the journey name and publishes the current draft. You get the public link and a recap. Publishing is refused unless `user_confirmed` is true, which records that you asked for the journey to go live.
  </Step>
</Steps>

## Example conversation

<Frame caption="A step-by-step build in Claude. Each line from you maps to one Fanaura tool.">
  ```text theme={null}
  You:        Start a new journey for my booking page.
  Assistant:  Started a draft. What page should people land on?
  You:        https://calendly.com/you/intro
  Assistant:  Saved. What word should people comment?
  You:        BOOK. Ask for their email first.
  Assistant:  Keyword BOOK is set, and the link asks for an email before it opens.
  You:        Publish it.
  Assistant:  Your BOOK journey is live at fanaura.me/yourname/intro-call.
  ```
</Frame>

## If publish fails

`fanaura.publish_journey` names the field that needs work, in the form `Field keyword: ...` or `Field destination_url: ...`. Fix that one thing and publish again.

| Field in the error | What it means |
| - | - |
| `user_confirmed` | The assistant tried to publish without your go-ahead. Say "Publish it." |
| `destination_url` | The link is missing, not public, or needs review. |
| `keyword` | The keyword conflicts with another reply source. |
| `replies` | The keyword and replies are not finished. |
| `name` | Your public name is not claimed. Claim it in Fanaura on your iPhone. |
| `slug` | The public link could not be reserved. Try a different journey name. |
| `expected_revision` | The journey changed somewhere else, such as in the iPhone app. Ask the assistant to load it again and retry. |
| `journey_id` | The journey is archived or does not exist. |

<Card title="Already live? Change it in place" icon="pencil" href="/mcp-server/guides/edit-a-live-journey">
  Edit a published journey without taking it offline.
</Card>


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