Skip to main content

Use this agent skill

Copy the instructions below into a SKILL.md file in a folder named levios-create-automation 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.

Review the configuration, not a rewritten summary

The validation tool returns preview_markdown in the requested language (pt-BR, en or es). The agent presents it in full: every reply variation, message, button, URL, condition, pause and repeat interval comes from the valid configuration. It adds the verified profile, name and intended status separately. Invalid configurations have no preview. Account eligibility, working URLs and actual delivery still require their own checks. A PDF link button and an attached PDF are different experiences. The agent proposes the format explicitly: a link opens the resource; send_media with media_type=file sends a hosted attachment after the opening click. There is no upload tool. A request to change wording changes that message only; the agent clarifies an ambiguous target without reopening the agreed flow or goal.

Reference and examples

You can start with “I want to create an automation.” The agent helps you choose the interaction, understand what you want to accomplish and propose the messages.

Start with the interaction

The agent checks get_automation_guide and briefly explains whether you can create and activate through this connection or save a draft. It does not assume that you want a draft. This check does not establish account or plan eligibility. For a vague request, it asks one decision: “Which interaction should start your automation?”. Options include comments on a post, carousel or Reel; a reply or reaction to a story; a story mention; an incoming DM keyword; or help choosing. If the selector has fewer slots, the agent groups Comments, Stories and DMs, then asks about the chosen family. Help and free text remain available. If you already said “send an ebook to commenters”, the comment interaction is known. The agent skips it. It resolves the profile next if needed, then the initial action and desired next step. One decision per turn does not mean repeating a questionnaire: a complete answer can resolve several stages.

Use the question interface that is available

For choice questions, inspect the tools actually exposed by the client. In Codex, prefer request_user_input_async when available and usable. Use request_user_input only when its declaration and current mode permit that question. Other clients can use an equivalent native tool with a different name. A brainstorming skill recommends multiple choice; it does not open the selector. These names are examples, not a claim that every client exposes them. When a native question tool is exposed and usable in the current mode, the agent actually invokes it. It preserves Other or free text without adding a duplicate field. A preselected option or a submitted question is not your answer. If the tool is unavailable, restricted, fails or does not appear for you, the agent asks the same short question in chat. It must not point you to questions that were never presented. The MCP cannot observe or force this local interface, and a planning answer is not activation confirmation. For asynchronous questions, the agent keeps one question pending and uses the client’s supported interruptible wait or a documented handoff that preserves it. It does not end the response, repeat the question or choose for you before you answer. A timeout is not an answer. If the selector closes or is unavailable, the agent collects the same choice in chat without restarting the briefing.

Set the result before writing the messages

Resolve the delivery first, then ask about the next goal only if missing. Do not mix PDF/link formats with sales, bookings or follower growth in one menu. One decision at a time does not mean one field at a time: request the resource and course URLs together when both are needed. For resource-to-course flows, learn the specific topic, benefit, course audience and relationship between them. A broad topic or URL alone is not enough to write a useful bridge. Explain why you need an input without promising the sequence is finished while choices remain. Confirm an ambiguous URL instead of silently changing it. “Deliver a PDF” identifies an initial action. “Deliver a PDF and then offer my course” also defines the next step. If only the delivery is known, the agent asks what the person should do afterward. It adapts the choices to your context: discover a product, book a conversation, answer a qualification question or only receive the material. Growth and contact collection are relevant when they serve your goal. No resource is assumed if you have not mentioned one. The agent learns only the material and offer context needed to propose useful copy. You do not have to write every message. Known answers carry forward; if the goal changes, only affected choices are revisited before execution. The briefing follows interaction → profile → desired result, then the canvas steps Trigger → Opening message → Continuation → Extras, followed by preview and execution. These are reasoning stages, not mandatory questions for every setting. Public MCP schemas determine which builder capabilities are executable.

Consider an opening message first

For a resource campaign, the agent first proposes an opening message with a button to request the material. When the recipient uses the eligible start_follow_up button, the interaction starts the continuation and opens or refreshes the standard 24-hour messaging window. Sending the opening message alone does not open it. Read Instagram limits. This lets you deliver the material and continue with relevant product information, a qualification question or a real booking link while eligible. The extra click adds a step, so the agent explains the tradeoff and follows your choice. It must not silently add the opening or a gate. A direct url button with follow_up set to null is the alternative when you only want to deliver the resource with fewer steps. Clicking that link does not start this sequence or open a new messaging window. The person can still send a message independently later; that is a separate eligible interaction.

Decide what happens after delivery

The desired next step comes from the briefing. The agent uses it to propose what happens after the opening click and delivery. If it is still missing, it resolves that decision before proposing the sequence. It does not ask again when your goal is already clear. It proposes a short sequence with one purpose per message: deliver the resource, add a useful point, then give one relevant next step. Review each message and pause in Choose an objective. A timed message is not a wait for the person’s answer. The agent explains where a human, a supported capture gate or an external page is needed. For growth, it can suggest a follow gate. For lead collection, it can suggest email or phone capture. These gates precede delivery, and the current public sequence does not combine following with email or phone capture.

Suggest replying to comments and relevant settings

During the opening stage, recommend Reply to comments and show five short variations. Offer Use these variations, Adjust, or Do not reply in the native selector when usable. Keep free text. Resolve this choice before moving to continuation, unless you already know the answer. Draft the suggestions without asking permission just to write them; do not silently enable replies.
  • “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? 😊”
Keep the replies this simple: only ask whether the DM arrived, with occasional emojis. Do not mention buttons, folders, requesting material or continuing a conversation. A question does not claim delivery; avoid “I sent it” before a send is known. Replies to comments can appear when a DM is delayed or fails. Inviting a reply is a conversation hypothesis to test, not a guaranteed reach increase. Replying to a comment does not start the DM continuation or open its messaging window. You can request another count. Show every text in the final preview, not just “one of five variations.” Only one variation is sent per eligible comment. sequential cycles through the list; random can repeat. Explain and review mention_mode, delay_seconds and max_per_post. The cap limits replies per post, not DM volume. Other supported trigger types do not support this action. Explain the audience and repeat policy for this campaign. Seven days, three minutes before an offer and 100 replies are not defaults. With a fixed interval, say Do not trigger the automation for the same person within [duration], using the chosen duration. With none, say No additional interval between triggers for the same person. Other guards remain; this is not unlimited sending. This wording concerns repeat triggers, not changing the automation’s status.

Confirm the intended publication

Before listing existing posts, ask whether the target is already published or a future post, unless that is known. Do not fetch existing posts for a confirmed next publication. “Today” or “soon” does not necessarily mean the next post. Before using next_published, confirm that no other publication will come first. Activate before publishing the intended post. This mode does not schedule or publish content. If another post comes first, prepare the messages and bind the intended post after publication. The agent can suggest a keyword, but needs your real destination links. An incomplete plan stays in chat; even a saved draft needs a complete configuration.

Preview the automation like the canvas

Use When… → Then I will… → When the person clicks… → And also…. Build short, numbered clauses with the selected values in bold. Show literal messages, button titles and full destination URLs. This fictional example illustrates the format; copy, account, pauses, limits and final state are choices to review, not defaults or instructions to create an automation. This example assumes a connection that supports activation through the MCP. When…
  1. Anyone leaves a comment…
  2. containing GUIDE as an isolated word, including within a sentence…
  3. on the next post I publish after activation…
  4. on @yourprofile.
Then I will…
  1. Reply to comments using one of these five variations: “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? 😊”.
  2. Send a DM containing:
    Want the photography guide? Tap below to request it.
    With the button Get the guide.
When the person clicks “Get the guide”…
  1. Send a message immediately:
    Here is your photography guide. Enjoy! 📘
    Button Download guide → https://example.com/guide.
  2. Wait 5 seconds and send:
    The course takes you through the lighting exercises introduced in the guide.
    Button Explore the course → https://example.com/course.
  3. Finish the sequence.
And also…
  • Do not trigger the automation for the same person within 24 hours.
  • Reply to up to 50 comments per post, cycling through variations in order, without mentions or a configured opening delay.
  • Without a click on Get the guide, the continuation does not start.
  • Final state: active, after the supported MCP confirmation, waiting for the next post.
In a real preview, use only confirmed resource/offer facts and actual values. Replace every placeholder. Include all messages and media, gate requests and retries, relative pauses, tags, audience, limits and final status from the validated configuration. Explain and justify proposed settings before approval. Do not hide copy behind “a message connecting the guide to the course.” A pause is not proof that someone read the resource. Numbering the opening actions does not guarantee ordering between a comment reply and a DM or confirm delivery. Adapt the summary to the selected trigger. For direct delivery, show the URL in the opening and omit the click-to-continue section. For gates, preserve their actual order before delivery and explain expiration, retry and no-input outcomes. If replies are declined, show that comments will not be answered. Keep the chosen live/draft state and actual activation route visible. Before saving, verify that the reply choice, literal copy, URLs, pauses, gates, extras and final state are resolved. Ask only about missing decisions. Compare the entire preview with the validated configuration, then read back after writing. A real harness test must observe the native tool call, visible selector and submitted choice; a successful tool response alone does not prove rendering.

Review, save and finish

Review the profile, publication, audience, matching rule, every message and button, all public-reply variations, gates, relative pauses, repeat policy and final status. Also review what happens if the person never clicks or replies. For whole_word and keyword EBOOK, both EBOOK and “I want EBOOK” match; EBOOKS does not. It is not whole-comment equality. The agent uses get_automation_schema for unclear fields and validate_automation_configuration with configuration_json before writing. On revisions, previous_configuration_json enables comparison when both versions are valid. An invalid baseline means no comparison was made. The agent corrects errors without removing agreed replies, gates or cooldowns, and shows behavior changes. Validation does not test account eligibility, URL reachability or delivery. Choose the final state after reviewing the plan. If you already asked to activate it, the agent keeps that choice instead of asking again.
  • Create and activate: create_automation with status: "live" creates an active automation through the MCP when the connection has write and activation permissions and supports the required confirmation. Complete that confirmation for the reviewed plan. You do not have to save a draft first.
  • Save a draft: create_automation with status: "draft" saves without processing triggers. Choose this when you want to activate later. An existing draft can be activated with activate_automation through the supported confirmation flow.
If the connection cannot activate, the agent explains the specific reason. activation_route=permission_required means activation permission is missing. activation_route=dashboard means the connection cannot complete the required MCP confirmation, even if it has activation permission. Planning questions or a yes in chat do not replace that confirmation. The agent offers the dashboard route and saves a draft only if you agree to that alternative. It uses the saved automation’s returned ID for the direct link. It does not silently turn an activation request into a draft or describe the entire MCP as draft-only. For next_published, complete activation before publishing the intended post. After a write, the agent reads the automation back. get_automation returns updated_at for expected_updated_at on edits. has_unpublished_changes means changes still need publication. A saved draft, live automation and delivered message are distinct outcomes. Inspect state before retrying an uncertain creation. Check tools/list for the guide and planning tools. Consult start, opening, conversation, public_replies, triggers and review as relevant. If a tool or topic is absent in the connected release, use this page and the available schemas. Guidance helps the agent choose; it does not force an external agent to follow every recommendation.