Skip to content

Automations ​

Event-driven playbooks that capture leads and start conversations without anyone touching the inbox. Each automation attaches to one of your agents: the automation fires on its trigger (a form email, a webhook call, a Meta lead form submission, an Instagram comment, or a schedule), and the agent takes the conversation from there.

In the app

Open Automations in the left sidebar at app.mychatbot.app/automations. Pick the agent in the dropdown at the top right, then choose a template from the list on the left β€” its settings open on the right. On single-agent plans the agent picker is fixed.

The Automations page: template list on the left, settings panel on the right

At a glance ​

AutomationCategoryTriggerWhat it does
Lead Form Instant OutreachLead Capture & OutreachAn email from your website form arrives in the connected mailboxCreates a lead and (optionally) sends a first message via Personal WhatsApp, Telegram account, E-Chat Viber and other channels; the agent handles replies
Lead FormsLead Capture & OutreachA Meta (Facebook/Instagram) Lead Gen form is submittedSaves the lead to Contacts always; per enabled form, routes it to an agent for instant outreach
Trigger OutreachLead Capture & OutreachAn external system POSTs to a unique webhook URLCreates a lead and (optionally) sends a message β€” order updates, appointment reminders, CRM events
Lead SupervisorLead OperationsA schedule you set (daily / every 3 days / weekly)Reviews recent chats and fills in missing funnel statuses and labels from conversation context
Instagram Keyword ResponderSocial Keyword TriggersA monitored Instagram post receives a comment containing a keywordReplies publicly under the comment and/or sends a private DM

Each template in the list carries a chip: Connected (this agent already uses it), Connect (available), or Soon (coming soon). At the bottom of the list, Request a custom automation lets you describe a bespoke workflow (up to 2000 characters) β€” save it with Save request and the team follows up.

Automations vs follow-ups ​

Both send messages automatically, but they solve different problems:

AutomationsFollow-ups
Starts fromAn external event (form email, webhook, lead form, comment) or a scheduleAn existing conversation that matches a status/label and goes quiet
AudienceNew leads that don't have a chat yet (or chats needing maintenance)Clients your agent has already talked to and tagged
Typical jobFirst touch: capture the lead and open the conversationRe-engagement: nudge a lead that stopped replying
Configured atAutomations (/automations)Outreach (/follow-up)

Rule of thumb: use an automation to start the relationship, a follow-up to revive it. Lead Supervisor is the odd one out β€” it doesn't message anyone; it keeps your pipeline data clean so follow-ups have accurate statuses/labels to target.

How the page works ​

ElementBehavior
Create automationCreates the setup and attaches it to the selected agent. Disabled while required channels are missing (a yellow warning explains what to connect first)
Save changesReplaces Create automation once connected; persists edits
Connect agent switchShows connection state in the panel header. Flip it off to disconnect the automation from this agent (the setup itself is kept, not deleted)
Use an existing automation setupIf another agent on your account already has this automation configured, buttons labeled with that agent's name let you attach the same setup instead of building a new one
Automation status cardAppears once connected; refreshes about once a minute while the page is open

The Automation status card shows a state badge β€” Pending, Processing, Paused, Finished, Error, or Interrupted β€” plus Last updated, a "Processed X of Y leads/chats/comments" summary, and metric tiles: New leads queued (or New chats queued / New comments queued), Processed, Failed, Skipped. Failures show under Recent errors (N) with the item, channel, and time; only the last three display ("…N more logged in history").

Status badges and recovery ​

BadgeMeaningWhat to do
PendingConnected and waiting β€” for the first trigger event, the next scheduled run, or messages held back by a Send Delay / Sending WindowNothing; it starts on its own
ProcessingA run is working through the queue right nowWait β€” the card refreshes about once a minute while the page is open
FinishedThe last run completed; the automation stays connected and fires again on the next triggerNothing
ErrorThe last run hit a problemRead Recent errors, fix the cause (most often a disconnected channel or expired access β€” reconnect it on Channels), then fire the trigger again; the next run replaces the badge
Paused / InterruptedA run stopped part-way (rare)No manual resume exists β€” none is needed: the next trigger event or scheduled run starts fresh and replaces the badge

Retry semantics: each trigger event is processed once β€” items counted as Failed are not retried automatically. To retry a lead, fire its trigger again: re-send the webhook call, re-submit the form, or post the comment again. Re-firing is safe β€” contacts are matched by phone/email, so a retry updates the existing lead instead of duplicating it. (One exception: messages already queued for delayed delivery that catch the Telegram account channel while it is reconnecting are retried automatically a few times before being marked Failed.)

Error history: "…N more logged in history" means older failures from the same run stay in the Recent errors (N) count, but there is no separate error-history page β€” the card is the whole view. The durable per-client record lives in the conversation itself: open the client's chat on Chats and look for the "Outreach sent successfully" / "Outreach send failed" activity entries in the timeline. Lead Form Instant Outreach failures additionally raise an alert on Notifications.

One setup per agent

An agent can hold one setup of each automation type β€” creating a new one replaces the old attachment. The exception is Lead Form Instant Outreach, which supports up to 5 lead sources per agent ("You can connect up to 5 lead source emails for this assistant").

Shared outreach settings ​

The lead-capture automations (Lead Form Instant Outreach, Lead Forms, Trigger Outreach) share the same outreach building blocks:

SettingWhat it does
Destination channelsWhich channel(s) send the first message. Only channels connected to the agent are selectable β€” others show (not connected). Channels are attempted in order; the first successful send stops further attempts for that client
Message typeAgent instruction β€” the AI composes the first message from your guidance ("Describe the outcome, tone, and key talking points"). Custom message β€” you write the exact text; {name} and {context} placeholders are substituted. Type / in either field to insert a saved message template (create templates in profile settings)
Email Subject and AttachmentsExtra tab that appears when the Gmail/Email channel is selected; an email subject is required when using a custom message over email
Omit core instructionsThe agent uses only the instruction written here and ignores its general core instructions
Delay & Throttling OptionsSend Delay (e.g. 5m, 1h) β€” wait after the trigger fires; empty sends as soon as rules allow. Interval Seconds β€” minimum gap between consecutive sends to avoid API blocking (e.g. 15 queues 1 message every 15 s). Timezone + Sending Window (optional) β€” inside the window messages go out immediately; outside they wait for the window to open (e.g. hold until 09:00)

Channel lineups differ slightly: Lead Form Instant Outreach offers the "cold-start" channels (Personal WhatsApp, Telegram account, E-Chat Viber, E-Chat Telegram, Gmail, Calls, Calls Ringostat, SMS). Trigger Outreach and Lead Forms additionally list WhatsApp, Telegram bot, Viber bot, Messenger, Instagram, TikTok, and OLX β€” those can only deliver when the client already has a chat on that channel.

Lead Form Instant Outreach ​

Turns website-form emails into instant conversations. Your form notifications land in a mailbox; the automation watches that mailbox and reacts to each new lead.

SettingNotes
Form sender emailThe sender address of your form notifications (e.g. form-leads@yourdomain.com) β€” so the automation only processes letters from that specific sender, not everything in the mailbox
Automation modeCollect leads only β€” capture submissions into the leads pipeline, no message sent ("Outreach stays off in this mode. Switch anytime when you are ready."). Collect and send instant outreach β€” queue the lead for an immediate agent follow-up
Pipeline stage (optional)In collect-only mode, pick a default funnel status so leads land in the right column (No default stage otherwise). Leads are assigned to this agent's pipeline
Outreach agent instruction"The AI agent sends one message to start the conversation. Explain the greeting and how to respond to typical lead questions."
Add lead sourceTabs across the top let you run up to 5 form mailboxes per agent, each with its own settings

Prerequisites (shown as warnings until met):

  • "Email channel is not connected, and it has to be connected with the same mailbox that receives website form leads." β€” connect the receiving mailbox as an Email channel on this agent (see Email channel).
  • In outreach mode: "Connect at least one outbound channel (Personal WhatsApp, Telegram account, Email or E-Chat Viber) for this assistant before creating the automation."

How lead details are read from the email ​

There is no required email template. The automation takes each notification whose sender matches the Form sender email (HTML emails are fine β€” they're converted to plain text, attachments included) and an AI step extracts four things from whatever the text contains: the lead's name, phone number, email address, and Telegram username. Anything it can't find stays empty; local phone numbers are normalized to international format. Clearly labeled lines parse most reliably:

From: form-leads@yourdomain.com     ← must match the Form sender email
Subject: New enquiry from the website

Name: Maria Kovalenko
Phone: +380 67 123 45 67
Email: maria@example.com
Message: Interested in the spring collection

What happens when parsing comes up short:

SituationOutcome
No identifier usable by any selected channel (e.g. no phone for Personal WhatsApp, no email address for Gmail) in outreach modeCounted as Skipped on the status card β€” no lead is created and no message is sent
Parsing or sending fails outrightCounted as Failed, listed under Recent errors, and an alert appears on Notifications
Collect leads only modeThe lead is saved to Contacts with whatever was found β€” even just a name; free-text from the form is kept as a note on the contact

When a message does go out (or delivery fails after a chat was created), the full form email text is written into the chat as the first message, so the original submission stays readable next to the agent's outreach.

Lead Forms (Meta Lead Gen) ​

Routes Facebook/Instagram Lead Ads form submissions to an agent. Leads are always saved to Contacts. Enable a form to also run an agent.

Setup flow:

  1. Connect a Facebook account β€” click Connect Facebook (the account that owns your Lead Gen forms). Connected social accounts are billed at $10/mo each; accounts included with your plan are free.
  2. After the redirect, Choose a Facebook Page and confirm with Connect Page.
  3. Pick the Facebook account in the dropdown; its Lead forms list loads with a per-form lead count. Use Refresh to re-pull; new forms appear once they exist in Meta.
  4. Toggle Enable on each form you want an agent to handle.

Per enabled form:

SettingNotes
Agent"Leads from this form are handled by the selected agent" β€” each form can go to a different agent
ModeCapture only β€” "Save the lead to Contacts without sending any message." Capture and send outreach β€” "Save the lead and let the agent start an immediate follow-up."
Channels, message, delaysThe shared outreach settings above

Save changes confirms with "Lead form routing saved".

Meta Ads add-on

If the connected account lacks the Meta Ads add-on, the form list can't be shown: "This account doesn't have the Meta Ads add-on enabled, so lead forms can't be listed. Leads received via webhooks are still saved to Contacts."

The add-on is the Ads Manager capability on the connected social account β€” it's what lets MyChatBot list your Lead Gen forms from Meta. To enable it:

  1. Check your plan on Subscription: the Ads Manager comes with the Multipro and Corporate plans here, or with the UGC Scale plan and higher. There is no separate add-on fee β€” only the connected-account pricing above applies.
  2. In the content studio at ugc.mychatbot.app (same login), open the Ads Manager and connect the Meta ad account that owns your Lead Gen forms to the already-connected Facebook profile.
  3. Back on Automations, press Refresh β€” the Lead forms list loads with per-form lead counts.

You're not blocked on capture in the meantime: submissions keep landing in Contacts; you just can't enable forms for agent routing yet.

Trigger Outreach ​

Webhook-driven messaging: "Send messages to customers when external systems trigger events." Create up to 20 named triggers, each with its own webhook URL β€” one per CRM event, order status, reminder type, and so on.

Per trigger:

SettingNotes
Trigger nameRequired; e.g. "Order Confirmation", "Appointment Reminder"
Webhook URLGenerated on first save ("Save the automation to generate webhook URL"); Copy puts it on the clipboard. Send a POST with JSON body { "phone_number": "+1234567890", "name": "John Doe", "context": "Extra info" } β€” or { "email": "john@example.com", "name": "John", "context": "Extra info" } when the trigger sends over email
Automation modeCapture only β€” "Receive webhook data and create a lead without sending any message" (with an optional default pipeline stage). Capture and send outreach β€” immediate agent follow-up
Communication channelOne or more channels; each selected channel must be connected for that trigger to save
Message typeAgent instruction / Custom message (with {name} and {context} placeholders) / Email Subject and Attachments β€” see shared settings
Skip chat history"The agent starts this outreach without loading the contact's prior conversation history"
Omit core instructionsUse only the trigger's instruction, ignore the agent's core instructions
Delay & Throttling OptionsSend Delay, Interval Seconds, Timezone, Sending Window
Call result callbackAppears when the Calls channel is selected: "After each call, the agent POSTs a JSON result to your URL so you can update your CRM." Provide a Callback URL (must be https://) and Result fields β€” each field has a Name (JSON key) (snake_case), a Description of what the agent should put there, and optional Allowed values. The callback needs both a URL and at least one field, and field names must be unique

The context value you POST is handed to the agent, so your CRM can pass order numbers, appointment times, or anything else the message should reference.

Webhook reference ​

Security. The URL is the credential: it contains a long random key unique to your automation setup plus a per-trigger id. There is no signature header or extra authentication β€” treat each webhook URL like a password; anyone holding it can create leads and message your clients. If a URL leaks, remove that trigger (Delete trigger), save, and create a new one β€” the old URL immediately stops working (404). Requests must be POST with a JSON body.

Responses. Every reply is JSON with a status of ok or error and a human-readable message:

HTTP code / messageWhenNotes
200 β€” "Outreach prepared, sending message" (or "…queued for scheduled delivery" with a Send Delay / Interval)Outreach acceptedDelivery happens after the response: 200 means accepted, not delivered. Check the Automation status card and the client's chat for the outcome
200 β€” "Lead captured successfully"Capture only mode saved the lead
200 β€” "No phone, email, or action provided, skipping outreach"The payload had no contactable identifierNothing is created β€” this is also why CRM "test webhook" pings succeed
400 β€” "Invalid request body" / "Assistant is not active"The body isn't valid JSON, or the attached agent is switched offFix the payload; re-enable the agent
404 β€” "Invalid webhook URL" / "Trigger not found"The key or trigger no longer exists (trigger deleted, URL mistyped)Re-copy the URL from the trigger's Webhook URL field
500 β€” "Failed to capture lead" / "Failed to prepare outreach"The lead couldn't be saved or the message couldn't be prepared β€” including a "duplicate event" refusal when a concurrent POST for the same contact is already in flightSafe to re-send after a pause (see dedup rules)

Duplicates and idempotency.

  • Contacts are matched by phone number / email: re-POSTing the same phone_number never creates a second lead β€” the existing contact is updated and messages land in the same chat.
  • Each accepted POST in Capture and send outreach mode is a fresh event and composes one new message, so a CRM that fires twice will message the client twice. Only simultaneous duplicates (same trigger + same contact, while the first request is still being processed) are blocked β€” the loser gets the "duplicate event" error.
  • MyChatBot never replays an inbound webhook on its own: a request that returned an error is dropped unless your system re-sends it.

Payload parsing. Only phone_number (or email on email triggers) is needed for anything to happen; name and context are optional. Extra JSON fields are kept β€” they're saved onto the lead as custom fields and handed to the agent alongside context (nested objects are flattened). If phone_number is empty, any extra field whose name contains "phone" and holds 7+ digits is used instead, and any value that looks like an email address can stand in for email. Phone numbers are normalized to international format before matching.

Lead Supervisor ​

A scheduled housekeeping agent: "Review recent chats and automatically assign missing funnel statuses or labels based on the current conversation context." No messages are sent to clients.

How it works (as shown on the page):

  1. Your assistant reviews chats active during the period at the specified time.
  2. For each chat, it takes the last intent and sets the specified attributes.
  3. Only empty fields are updated β€” existing statuses or labels are not changed. With Overwrite existing values enabled, all selected attributes are overwritten with the agent's analysis instead.
SettingNotes
Attributes to updateStatus and/or Labels (at least one; the Labels option only appears once your account has labels). Statuses are set within the agent's assigned pipeline
Overwrite existing valuesOff by default β€” the safe "fill gaps only" behavior
Activity cut-offPast N days (default 30, max 365) or Since a date with an exact date and time; "Current selection" previews the effective cut-off
Run time / Run timezoneWhen the queue is processed (defaults to the agent's or your browser's timezone)
FrequencyDaily, Every 3 days, or Weekly

Once connected, a Current configuration box summarizes attributes, cut-off, run time, timezone, and frequency, and the status card counts chats processed. Pair it with Labels and statuses so follow-ups always have accurate targeting data.

Instagram Keyword Responder ​

"Trigger dedicated replies for Instagram comments when monitored posts receive specified keywords." Classic comment-to-DM: someone comments "PRICE" under a post, the automation answers publicly and/or slides into their DMs.

SettingNotes
Instagram accountWhich connected Instagram channel to monitor (the agent must have an Instagram channel connected first)
Select Instagram postsPick up to 100 recent posts (Reels are labeled). Refresh posts re-pulls the latest, with a 30-second cooldown. Previously selected posts that fall outside the latest 100 stay monitored
Trigger keywordsAdd each word or phrase that should fire the automation β€” matching is not case sensitive
Under comment replyA short public reply posted directly below the comment. "Leave blank to skip the quick public reply and only send the private message."
Dedicated agent instructionGuidance for the Private Reply sent via Instagram DM (Agent instruction), or switch to Custom message to send an exact DM instead
Settings per postBy default all selected posts share the same reply/message. Select a post to override individually β€” "Leave a field empty to use the global default." Overridden posts show a Custom badge

The status card counts comments (metric: New comments queued). If the channel's access expires you'll see "Instagram channel token is missing or expired. Reconnect the channel to keep monitoring comments."

Use cases ​

  • Website form β†’ instant WhatsApp reply β€” Lead Form Instant Outreach on the mailbox that receives form notifications; leads get a personal message within minutes of submitting.
  • Facebook Lead Ads qualification β€” Lead Forms saves every submission to Contacts and lets a dedicated agent qualify each form's leads over the right channel.
  • Order/appointment notifications from your CRM β€” Trigger Outreach with one named trigger per event; your CRM POSTs to the webhook with the client's number and context.
  • AI phone follow-up with CRM write-back β€” a Trigger Outreach trigger on the Calls channel plus a Call result callback that returns structured fields (lead temperature, outcome) to your system after every call.
  • Pipeline hygiene β€” Lead Supervisor nightly, so untagged chats get statuses/labels and your follow-up sequences actually match someone.
  • Comment-to-DM promos β€” Instagram Keyword Responder on a giveaway post with the keyword "WIN": public thank-you under the comment, details by DM.

Test it ​

  1. Lead Form Instant Outreach β€” submit your own website form (or send yourself an email from the configured sender address to the connected mailbox). Watch the Automation status card: the counter should move from New leads queued to Processed, and the first message should arrive on the selected channel. Failures land in Recent errors with the channel and reason.
  2. Trigger Outreach β€” copy the Webhook URL and POST the sample JSON from the helper (e.g. with your own phone number as phone_number and a test note as context). Expect a 200 with "Outreach prepared…" in the JSON reply (see the webhook reference β€” 200 means accepted, delivery follows). In capture-only mode, check the lead appears in your pipeline; in outreach mode, check you receive the message β€” including after the configured Send Delay and inside the Sending Window.
  3. Lead Forms β€” use Meta's Lead Ads testing tool to submit a test lead to an enabled form, then confirm it shows in Contacts and (in outreach mode) that the agent's first message goes out.
  4. Lead Supervisor β€” set the run time a few minutes ahead, keep the cut-off wide (e.g. past 30 days), and after the run verify a previously untagged chat received a status/label. The card should report chats processed and state Finished.
  5. Instagram Keyword Responder β€” comment one of your trigger keywords on a monitored post from another account; expect the under-comment reply and/or the DM.

The status card only refreshes while the page is open (about once a minute) β€” reopen Automations and select the automation to see the latest run.

See also ​

  • Follow-ups β€” status/label-targeted sequences for existing conversations, and Immediate outreach broadcasts.
  • Labels and statuses β€” the pipeline data Lead Supervisor maintains and follow-ups target.
  • Email channel β€” connect the mailbox Lead Form Instant Outreach watches.
  • Instagram channel β€” prerequisite for the Instagram Keyword Responder.
  • WhatsApp and Telegram account β€” the usual first-touch outreach channels.
  • Webhooks channel β€” other ways to wire external systems into MyChatBot.