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

# Choose an automation objective

> Match delivery, sales, audience growth, and lead collection to supported levios features.

## Use this agent skill

Copy the instructions below into a `SKILL.md` file in a folder named `levios-plan-conversation`
and add it through your client’s supported skill mechanism. If it does not load
skill files, provide this content to the agent as task instructions. This does
not install anything or enable tools on its own. The skill uses English for one
shared instruction set and asks the agent to answer in your language.

<Accordion title="SKILL.md">
  ```markdown theme={null}
  ---
  name: levios-plan-conversation
  description: Plan levios Instagram messages around a business outcome, such as delivering a PDF then presenting a course, sending a video then inviting a booking, or qualifying a contact. Use when choosing opening messages, delivery, continuation, relevant gates, pacing or campaign measurements.
  ---

  # Plan the conversation

  Answer in the user's language. Read `get_automation_guide` topic `conversation`
  and the actual connection report. Use the known interaction, account and goal;
  do not restart an intake or assume every request includes a resource. If needed,
  ask one missing decision using the native question lifecycle in topic `start`.

  ## Turn the outcome into messages

  1. Establish what is delivered and what the owner wants afterward. Learn the
     specific topic/benefit and how the real offer helps that audience. Ask for
     related resource/offer URLs together; never infer claims from their domains.
  2. For resource plus continuation, recommend an opening `start_follow_up` button.
     Its eligible interaction starts the continuation and opens/refreshes the
     24-hour window. The initial private reply or a URL click alone does neither.
     Respect explicit direct-only delivery instead of adding steps silently.
  3. State the delivery format: a URL button opens a link; `send_media` with
     `media_type=file` sends a hosted attachment after the opening click. Require
     the real hosted URL. This MCP does not upload local files.
  4. Propose a short sequence: prompt delivery, a truthful bridge, then one useful
     next step. Usually two to four messages are enough when a sequence helps.
     Do not split every sentence into a notification or write one long pitch.
     Do not say the material "helped" or imply it was read seconds after delivery.
     Connect its topic to a verified course benefit instead. Invent no prices,
     urgency, testimonials, outcomes or claims.
  5. Explain editable relative pauses based on message length and campaign intent.
     A pause is not a typing indicator, proof of reading or waiting for a reply.
     Avoid long artificial waits and do not schedule at the 24-hour boundary.
  6. For comments, resolve replies during opening: show five short DM-arrival
     questions and offer use/adjust/decline. Read topic `public_replies` for exact
     fields. Explain cap, rotation and mentions; show every approved variation.

  ## Choose only relevant capabilities

  - **Product:** deliver, connect the topic to the real offer, then link to it.
    A click is not a purchase.
  - **Booking:** explain why a conversation helps and link to the owner's actual
    booking page. No calendar availability or appointment creation is exposed.
  - **Qualification:** ask one relevant question and finish for a human to review.
    `send_message` does not wait, capture structured answers or branch on them.
  - **Capture:** read topic `capture`. Email/phone gates wait for supported inputs
    before delivery; they do not send email, start WhatsApp or verify ownership.
  - **Growth:** read topic `follow_gate`. Discuss the extra effort; use it for a
    fitting growth objective, not as a mandatory step for every delivery.
  - **Tagging:** use real account-scoped tag IDs after delivery. A tag is not a
    send campaign, new trigger or arbitrary branch. Follow and capture gates
    cannot be mixed in the same public sequence.

  ## Review the actual flow

  Use `get_automation_schema` where needed, then
  `validate_automation_configuration` with the complete configuration and user
  language. Show its full `preview_markdown`, exact copy, URLs, relative pauses,
  gate/no-click outcomes and repeat policy. Add verified account and intended state
  separately. Justify settings instead of defaulting to six hours, seven days or
  a fixed sales delay. Preserve the plan when editing copy and compare the previous
  configuration when revising. Follow topic `review` for authorized execution.

  Choose one primary outcome and one cost measure supported by actual metric
  tools. Label missing click/purchase attribution and suggest an external source
  when needed. Compare equivalent cohorts; do not promise a conversion lift.

  [Detailed paths and valid configuration examples](https://docs.levios.app/mcp/choose-objective).
  ```
</Accordion>

## Reference and examples

A message sent seconds after delivery must not assume the recipient has read,
completed or benefited from the resource. Connect its topic to a verified offer
benefit instead. A pause does not establish reading.

First define what should happen when the person interacts, then the intended
next step. There may be no resource to deliver. “Send an ebook” identifies
delivery; “send an ebook and then offer my course” also defines the
continuation. Recommendations are hypotheses to test, not promises of higher
conversion.

| Your objective | Suggested path | Cost to consider |
| - | - | - |
| Start a useful conversation | Opening button, resource, one qualification question | Someone must read and answer; a scripted question does not create branching |
| Present a product or invite a booking | Opening button, resource, relevant context, real destination link | Keep the offer connected to the resource and the invitation concise |
| Grow relevant followers | Opening button, agreed follow gate, valuable material | Some people may leave before delivery |
| Collect leads | Opening button, email or phone gate, then delivery | Collect only information useful to your next step |
| Only deliver with fewer steps | Direct URL in the opening message | A URL click does not start a follow-up sequence or open a messaging window |
| Find potential partners | Analyze existing contacts and relevant profile data | Reach does not prove fit or buying intent |

## Recommend an opening message first

For a comment-to-resource campaign, first propose an opening message with a
`start_follow_up` button. Explain its purpose: the person's eligible interaction
starts the continuation and opens or refreshes the standard 24-hour messaging
window. Sending the opening alone does not open it. This makes room for a
relevant next step after delivery, at the cost of one extra click.

Offer direct delivery when the objective is only to receive the resource with
minimum friction. Clicking its URL does not start this levios continuation or
open a window. The person can still independently send a message later. Respect
an explicit direct-only preference without repeatedly proposing extra steps.

Establish the next step before proposing the opening and continuation, unless it
is already known. Ask one missing decision using the native harness tool when
usable in the current mode, with contextual choices and free text. If the tool
is unavailable or fails, ask in chat. Learn only the material or offer context
needed to propose the copy.

For growth, suggest an agreed follow gate when the material is valuable and
related to what the account publishes. For purchase intent, consider whether
extra gates would interrupt the buyer. Present the reason and tradeoff before
including a feature. See [the guided conversation](/mcp/first-automation).

## Build a short conversation around the next step

Propose two to four separate messages when useful, with one purpose each:
deliver the promise, add useful context, and invite the next action. Adapt to
the actual material instead of sending a generic pitch or many tiny fragments.

| Desired next step | Proposed continuation after delivery | Execution boundary |
| - | - | - |
| Qualification | One useful tip, then one relevant question | End the scripted sequence at the question; a human can review the answer in Instagram |
| Product | A truthful connection between the resource and the actual product, then its URL | Do not invent prices, urgency, results or testimonials; a click is not a purchase |
| Booking | Explain the purpose of the conversation and offer the real booking URL | This public contract does not query availability, create or confirm appointments |
| Capture after delivery | Offer a real external form URL, or discuss moving a supported capture gate before delivery | Never silently change the agreed order |

For example, deliver promptly, pause five seconds before a useful sentence,
then eight seconds before a question. Adjust pauses to the amount of text and
show them for approval. These are illustrative reading or typing-length
estimates, not a typing indicator, a reply wait, proof of reading or human
presence. Delays are relative and cumulative; queues can add time. Validate the
sequence against the remaining window. Outbound messages do not refresh it.

`send_message` does not wait for arbitrary answers or adapt later messages to
them. Do not put an answer-dependent sales pitch on a timer after a question.
Only supported gates wait for their specified input. No opening click means
this continuation does not begin; do not promise automatic no-click reminders.

## Recommend replying to comments

During the opening stage, recommend **Reply to comments** and draft five short
questions asking only whether the DM arrived, with occasional emojis. Show all
texts and offer use, adjust or do not reply through a usable native selector.
Respect an existing choice and allow another count. Resolve the choice before
continuation. Do not mention buttons, folders or continuing a conversation in
these replies, or claim a send succeeded before it is known.
[See five example replies](/mcp/first-automation#suggest-replying-to-comments-and-relevant-settings).

Show all variations, rotation, mention choice, delay and per-post cap in the
canvas-style preview. One variation is selected per eligible comment, not all
five. A comment reply can appear if the DM fails and does not open the private
window. A reach benefit is a hypothesis, not a guarantee.

## Surface relevant actions and filters

Use `send_message` for text and URL buttons, or `send_media` for a real hosted
image, video, audio or file. `ask_to_follow`, `ask_for_email` and `ask_for_phone`
are gates before delivery. `add_contact_tag` organizes a contact after delivery
using an existing tag ID; `finish` ends the sequence. Explain the useful subset
for this goal instead of asking the user to choose from the entire schema.

| Audience filter | Who it includes | What to explain |
| - | - | - |
| `anyone` | Every otherwise eligible contact | A useful starting proposal for acquisition |
| `followers_only` | Confirmed followers | Excludes the non-followers a follow gate could help convert |
| `non_followers_only` | Confirmed non-followers | Excludes current followers from the resource |
| `previous_dm_contacts` | People who sent your account a DM before this trigger | History does not prove a currently open window |
| `existing_contacts` | Contacts already known before this trigger | A saved contact is not fresh permission to send |

Follower-count thresholds and arbitrary tag conditions are not trigger filters.
For people above 10k followers, use [strategic contact analysis](/mcp/strategic-contacts).

For comments, discuss a specific post, the next publication, or all eligible
posts. Confirm nothing else comes first before using `next_published`, even if
the user says “today” or “soon”. Choose specific keywords or any comment; explain
`whole_word` versus the broader `substring`. Never silently broaden the trigger.

For `story_reply`, choose text with keywords or reaction with the intended
reactions, and any or specific stories. `dm_keyword` matches specific inbound
DM keywords; `story_mention` is a messaging-surface mention, not a mention inside
a post comment. Public replies apply only to `comment`. Do not offer legacy
trigger names as new authoring options.

Agree on a repeat policy for this campaign. Six hours is not a universal
recommendation. `none` removes the configured cooldown, but preserves dedupe,
other guards and provider limits. No delay, rotation or cooldown guarantees
protection from spam enforcement.

## Collect an email or phone number

Use `ask_for_email` or `ask_for_phone` when that information serves your stated
purpose. Explain what you will do with it. These actions check the submitted
format; they do not verify ownership or send email or WhatsApp messages.

In `follow_up`, collection comes before delivery. Each field can appear once.
The current public contract does not combine lead capture with `ask_to_follow`
in the same sequence. Choose the priority instead of promising both gates.

Set a helpful retry message, an attempt limit, and an explicit failure outcome.
`stop` ends the gate without delivering the resource after exhausted attempts.
`continue` permits delivery without successful collection. Expiration does not
extend Instagram's messaging window.

An `add_contact_tag` action needs an existing tag ID and follows a delivery
action. A tag records organization; it is not a purchase confirmation or a new
automation trigger by itself.

## Measure the outcome you actually want

Choose a success measure and a friction measure before comparing variants.
For example, compare completed material deliveries with people who started
the flow. For sales, use checkout data for purchases; a link click is not a sale.

Use `get_metrics` and `get_automation_metrics` only for fields their schemas
return. They do not expose a complete campaign funnel or purchase attribution.
If a denominator, gate completion, or attributed follow is unavailable, mark it
as unmeasured. Compare similar periods and audiences and avoid interpreting a
small or changing sample as causal proof.

## Starting recipes

The examples below are complete configurations, not server defaults or
executable instructions for your account. Replace the sample keyword, copy,
publication choice, and URL with your agreed values. The six-hour cooldown is
illustrative. Your account's permissions, plan, and media still need validation.

### Opening, delivery and a qualification question

This example proposes five public-reply variations and three short messages
after the click. The sequence ends at the question for a human to review any
answer. Pauses of five and eight seconds, a public cap of 50, sequential rotation,
no mentions and no configured cooldown are illustrative choices to discuss,
not campaign defaults. Confirm that the intended post is the next publication
after activation. Without an opening click, the follow-up does not start.

```json theme={null}
{
  "contact_filter": "anyone",
  "trigger": {
    "type": "comment",
    "publication": {
      "mode": "next_published"
    },
    "keywords": {
      "mode": "specific",
      "match_mode": "whole_word",
      "values": [
        "GUIDE"
      ]
    }
  },
  "opening": {
    "public_reply": {
      "enabled": true,
      "delay_seconds": 0,
      "messages": [
        "Did the DM arrive? 📩",
        "Did you get my DM? 🙂",
        "Did the message reach you?",
        "Can you confirm the DM arrived?",
        "Have you seen my DM? 😊"
      ],
      "rotation": "sequential",
      "mention_mode": "none",
      "max_per_post": 50
    },
    "direct_message": {
      "delay_seconds": 0,
      "message": {
        "text": "Tap below to request your guide.",
        "buttons": [
          {
            "type": "start_follow_up",
            "title": "Get guide"
          }
        ]
      }
    }
  },
  "follow_up": {
    "actions": [
      {
        "type": "send_message",
        "delay_seconds": 0,
        "text": "Here is your requested guide.",
        "buttons": [
          {
            "type": "url",
            "title": "Open guide",
            "url": "https://example.com/guide"
          }
        ]
      },
      {
        "type": "send_message",
        "delay_seconds": 5,
        "text": "Choose one idea from the guide to try first.",
        "buttons": []
      },
      {
        "type": "send_message",
        "delay_seconds": 8,
        "text": "What would you like help putting into practice?",
        "buttons": []
      },
      {
        "type": "finish"
      }
    ]
  },
  "extras": {
    "cooldown": {
      "mode": "none"
    }
  }
}
```

### Direct delivery

```json theme={null}
{
  "contact_filter": "anyone",
  "trigger": {
    "type": "comment",
    "publication": {
      "mode": "next_published"
    },
    "keywords": {
      "mode": "specific",
      "match_mode": "whole_word",
      "values": [
        "GUIDE"
      ]
    }
  },
  "opening": {
    "public_reply": {
      "enabled": false
    },
    "direct_message": {
      "delay_seconds": 0,
      "message": {
        "text": "Here is your requested guide.",
        "buttons": [
          {
            "type": "url",
            "title": "Open guide",
            "url": "https://example.com/guide"
          }
        ]
      }
    }
  },
  "follow_up": null,
  "extras": {
    "cooldown": {
      "mode": "fixed",
      "seconds": 21600
    }
  }
}
```

### Collect an email, then deliver in Instagram

```json theme={null}
{
  "contact_filter": "anyone",
  "trigger": {
    "type": "comment",
    "publication": {
      "mode": "next_published"
    },
    "keywords": {
      "mode": "specific",
      "match_mode": "whole_word",
      "values": [
        "GUIDE"
      ]
    }
  },
  "opening": {
    "public_reply": {
      "enabled": false
    },
    "direct_message": {
      "delay_seconds": 0,
      "message": {
        "text": "Tap below to request your guide.",
        "buttons": [
          {
            "type": "start_follow_up",
            "title": "Get guide"
          }
        ]
      }
    }
  },
  "follow_up": {
    "actions": [
      {
        "type": "ask_for_email",
        "delay_seconds": 0,
        "message": "Which email address would you like to share before receiving the guide here?",
        "retry_message": "Send a valid email address, such as name@example.com.",
        "max_attempts": 3,
        "retry_exhausted_action": "stop",
        "expires_in_seconds": 86400
      },
      {
        "type": "send_message",
        "delay_seconds": 0,
        "text": "Here is your requested guide.",
        "buttons": [
          {
            "type": "url",
            "title": "Open guide",
            "url": "https://example.com/guide"
          }
        ]
      },
      {
        "type": "finish"
      }
    ]
  },
  "extras": {
    "cooldown": {
      "mode": "fixed",
      "seconds": 21600
    }
  }
}
```

Ask an agent with `get_automation_guide` to consult `objectives`, `opening`, `conversation`, `public_replies`, `triggers` or `capture`.
Continue with [Follow gate](/mcp/follow-gate),
[Strategic contacts](/mcp/strategic-contacts), or
[Instagram limits](/mcp/instagram-limits).


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