Automations are the engine of Myra. They allow you to build sophisticated business logic that runs 24/7, ensuring that no lead is forgotten and every client receives timely, personalized communication. If a task is repetitive, it should be an automation.
The Visual Workflow Builder
Our builder is designed to be powerful yet accessible. It uses a "Flowchart" style where you can drag and drop elements to create complex paths.
- The Trigger (The "When"): Every automation starts with a trigger. This is the event that wakes up the workflow (e.g., "A contact submitted a form").
- The Filter (The "If"): Triggers can be refined. Instead of running for every form submission, you can set a filter: "Only run if 'Budget' is greater than $1,000."
- The Action (The "Do"): This is what the system actually does (e.g., "Send an SMS").
Advanced Logic Steps
Beyond simple "If/Then" statements, Myra supports complex logic:
- Wait Steps: Pause the workflow for a set amount of time (e.g., "Wait 2 days") or until a specific condition is met (e.g., "Wait until the contact clicks a link in the previous email").
- Conditional Branching: Create multiple paths. If a contact has the tag "VIP," send them to Path A; everyone else goes to Path B.
- Date-Based Triggers: Run workflows based on a date in a contact field. Perfect for "7 Days Before Renewal" or "Happy Birthday" messages.
- Loop Prevention: The system automatically prevents "Infinite Loops" (e.g., Automation A triggers B, which triggers A). You can also set a "Frequency Cap" to ensure a contact doesn't receive the same automation twice in 24 hours.
Powerful Integrated Actions
Automations can control almost every part of the Myra platform:
- Messaging: Send Emails, SMS, and even AI Workforce agents using your pre-designed templates. Email steps let you choose the recipient: the lead/contact, all team members, specific team members (multi-select from your workspace), or a custom address - with full subject and body customisation including merge tokens like
{{contact.first_name}}and{{signature}}. - CRM Management: Automatically move a contact to a "Sales Pipeline" stage, add a "Hot Lead" tag, or assign the contact to a specific sales rep.
- Communication: Trigger a bridge call with voicemail detection that automatically dials your salesperson and, once they answer, dials the lead.
- AI Steps: Send the contact's recent history to an AI agent to generate a personalized "Summary Note" or a "Draft Reply" for a human to review.
- External Integration: Use the "Webhook" step to send data to an external ERP, accounting software, or custom database.
Automation Best Practices
- Always Add Delays: Sending an automated email 0.1 seconds after a form submission feels robotic. Adding a "Wait 5 Minutes" step makes the interaction feel more human.
- Use Stop-Loss Criteria: Set "Exit Conditions." For example, if a contact books a meeting, they should immediately be removed from the "Request a Meeting" nurture sequence.
- Test with "Test Contacts": Before publishing a 10-step sequence, use the "Run Test" feature to see how a sample contact moves through the logic.
- Version Control: Myra keeps a history of your workflow versions. If a change causes issues, you can roll back to the version from yesterday with one click.
Real-World Examples
- Missed Call Recovery: Trigger: "Inbound Call Missed." Action: "Wait 1 minute," then "Send SMS: 'Sorry we missed you! We're busy helping another client, but you can book a call-back time here: [Link]'."
- Event Onboarding: Trigger: "Booking Confirmed." Action: "Send Email (Confirmation)," "Wait until 1 hour before event," "Send SMS (Reminder with Zoom Link)."
- Churn Prevention: Trigger: "Tag 'Lapsed' added." Action: "Notify Account Manager," "Wait 24 hours," "If contact still has 'Lapsed' tag, send 'We Miss You' discount code."
Monitoring and Debugging
The Workflow History tab is your best friend. It shows a live log of every contact currently in the workflow.
- Successes: Contacts who completed the flow.
- Pending: Contacts currently sitting in a "Wait" step.
- Failed: If an email bounced or a webhook returned an error, the system will highlight exactly which step failed and why.
FAQs
How many automations can I have? There is no limit to the number of workflows you can create. However, each plan has a limit on the total number of "Automation Steps" executed per month.
Can I share a workflow with another workspace? Yes. You can export a workflow as a "Snapshot" and import it into any other Myra workspace you manage.
Outbound SMS Follow-ups
Two additions make classic "send-then-follow-up" flows easy:
- Trigger - Outbound message sent: fires whenever you (or an automation) sends an SMS/email from a contact. Combine with a channel filter to target SMS only.
- Condition - Lead replied since workflow started: use inside an If/Then step to only send a follow-up when the lead has NOT replied yet.
Example: Send an SMS blast → Trigger: Outbound message sent (SMS) → Wait 2 hours → If lead has NOT replied → send "Just checking you got my last text?".
Build with AI
Not sure where to start? Click the Build with AI button on the Automations page to open the AI Automation Builder. Describe what you want in plain English - for example, "When a contact submits the intake form, wait 10 minutes, then send a welcome email and create a follow-up task for the assigned rep" - and Myra generates a complete workflow for you. You can refine it via the chat panel ("add a 1-hour delay before the SMS", "only run this on weekdays") or edit any field directly in the builder, then save when you're happy. No trigger or action knowledge required to get started.
All 17 Triggers
Every automation begins with exactly one trigger. Myra supports 16 trigger types:
| Trigger | Fires when… |
|---|---|
| Lead Created | A new contact/lead record is created. |
| Lead Updated | A field on a lead changes - including any custom lead field. |
| Booking Created | A new appointment is booked. |
| Stage Changed | A lead moves to a different pipeline stage. |
| Tag Added | A specific tag is applied to a lead. |
| Lead added to automation | Someone bulk-enrols contacts into the workflow from Contacts. |
| Form Submitted | A Myra form receives a submission. |
| Message Received | An inbound message arrives (filterable by channel). |
| AI Score Threshold | A lead's AI score crosses a set threshold (up or down). |
| Lead Inactive | A lead has had no activity for a configured number of days. |
| Schedule (Cron) | A standard 5-field cron expression runs on a UTC schedule. |
| Inbound Webhook | A POST request hits the automation's unique webhook URL. |
| CSAT Submitted | A customer satisfaction response is recorded. |
| Appointment Completed | An appointment is marked as completed. |
| Appointment No-Show | An appointment is marked as no-show. |
| Appointment Cancelled | A booking is cancelled from Myra, Google Calendar, or Calendly. |
| Call Ended | An outbound or inbound call ends. |
Triggers support per-trigger filters (e.g. filter Lead Updated to a specific field, filter Message Received to SMS only, filter Tag Added to a particular tag name).
Keyword filters on replies
Message Received also supports a keyword filter. Enter a comma-separated list of keywords (for example yes, interested, book me, info) and choose how they must match:
- Contains any of these words — the reply mentions at least one keyword (default).
- Contains all of these words — every keyword must appear.
- Is exactly one of these words — the whole reply is just that word, ideal for
YES/STOPstyle opt-ins.
Matching is not case sensitive and ignores punctuation, so "Yes!" matches yes. Leave the field blank to run on every reply. This is the easiest way to branch warm leads into their own follow-up sequence: one automation on yes/interested starts the warm nurture, another on no/not now tags them for later.
Action Groups
Actions are organised into four phases, making it straightforward to find the right step.
Phase 1 - Contacts
Create, find, copy, merge, or delete contact records. Add or remove followers. Enable or disable Do Not Disturb (DND) on a contact. Run an email address verification check. Update any contact field (standard or custom).
DND short-circuit: Any outbound step - Send Email, Send SMS, Push Notification, Make Call - is automatically skipped (and logged as
skipped) when a contact has DND enabled. You never need to add a manual DND check before every message step.
Phase 2 - Opportunities & Appointments
Create, update, find, or remove opportunity records. Add or remove an opportunity owner or followers. Update an appointment's status (confirmed, cancelled, no_show, completed, or rescheduled). Append a note to an appointment. Generate a one-time booking link that is stored as {{booking_link}} for use in a subsequent email or SMS step.
Phase 3 - Communication & Notes
Add a note to a contact record. Edit a conversation (mark as read, assign/unassign, override the AI summary). Make an outbound call. Book an appointment programmatically. Send a smart push notification to the workspace, the assigned team member, or all followers of the lead.
Phase 4 - Logic & Formatters
Branch with If/Else conditions. Emit a named Goal Event (and optionally end the run). Update a Custom Value (workspace-level key-value store). Add a contact to another workflow or remove them from one. Schedule a Drip Flow (a sequence of future runs at cumulative hour offsets). Format dates, text strings, and arrays for use in later steps. Execute a Custom Webhook with full control over method, headers, and body.
Live transfer
Control the live-transfer (call bridging) queue from inside a workflow.
- Remove from live transfer - cancels every pending or scheduled live-transfer attempt and callback for the contact. Use it after a booking is made, a deal is won, or a contact asks not to be called. Choose a single preset to cancel just that ladder, or leave it on All presets. A call that is already ringing or connected is not affected.
- Add to live transfer preset - queues a live transfer for the contact, optionally after a delay in minutes, using a chosen preset or the automatically matched one. Skipped (and logged) when the contact has no phone number or has Do Not Disturb enabled.
- Schedule live transfer callback - adds the contact to the callback queue so the next available agent calls them back.
Send contract for signature
Send a contract straight from a workflow. Pick one of your saved contract templates, optionally set a title, a retainer amount and a PIF (paid in full) amount, and choose who it goes to (it defaults to the contact's email).
Myra creates the contract from the template, fills the [Deal.RetainerAmount]
and [Deal.PIFAmount] smart fields with the amounts you entered (both accept
merge tokens, so they can come from the lead or an earlier step), and emails the
signing link. The step is skipped and logged when the contact has no email
address or has Do Not Disturb enabled, and fails clearly if email sending has
not been set up in Settings → Email.
Finding an Action Quickly
The Do this action picker is searchable. Click it and start typing - focus moves directly into the search field, the list filters on action name, group and description, and you can move through results with the arrow keys and pick one with Enter. Action, trigger, timing, and other dropdown lists scroll normally with a mouse wheel, trackpad, or touch gesture, including when opened inside the workflow dialog.
Custom Lead Field Support
Custom fields you define in your workspace are available throughout the automation engine:
- Triggers -
Lead Updatedfires when a custom field changes. - Conditions - filter on any custom field value in If/Else or trigger filters.
- Actions - the
Update Contact Fieldaction includes a picker of all custom lead fields. - Appointment fields - If/Else conditions can also filter on appointment outcome data: retainer amount, PIF amount, cash collected, deal value, opportunity value, sales outcome, confirmation status and appointment title. These read the appointment that triggered the run, or the contact's most recent appointment.
Third-Party Integration Connections
Go to Settings → Integrations to link your external services once. Myra stores the connection, and every automation that sends to that service picks it from a dropdown - no URL pasting required per step.
Supported saved connections:
Slack - post a message to any channel.
Discord - send to a webhook-configured channel.
Zapier - trigger a Zap.
Make (formerly Integromat) - trigger a scenario.
n8n - trigger an n8n workflow.
Generic Webhook - any HTTP endpoint.
You can still paste a one-off URL directly into a step if you prefer not to save the connection.
Choosing what a webhook sends
On any webhook or HTTP step, the Payload fields section builds the JSON body. Each row is a key plus a value, and the value accepts merge tokens - including {{form.responses_json}} for every form answer as structured JSON, or {{contact.<field key>}} for a single answer. Payload rows are sent to the URL only; unlike other steps, they do not update the contact. Leave the section empty to keep the default body (lead_id and client_id).
Sales outcome trigger
Sales outcome recorded fires the moment a closer saves an outcome on an appointment. You can filter it to one outcome (Closed, No Show, Deposit Made, ...) or leave it on "Any outcome".
Later steps can pull the numbers straight from the outcome using these tokens:
{{trigger.outcome_label}}- e.g. Closed{{trigger.retainer_amount}}- retainer entered on the outcome{{trigger.pif_amount}}- paid-in-full amount{{trigger.cash_collected_amount}},{{trigger.deal_value_amount}},{{trigger.opportunity_value_amount}}{{trigger.company_name}},{{trigger.contact_name}},{{trigger.contact_email}},{{trigger.contact_phone}}{{trigger.appointment_title}},{{trigger.appointment_time}},{{trigger.moved_to_stage}},{{trigger.notes}}
Automation settings
Each automation has a settings gear with:
- Name and description - rename it so your team knows what it does.
- Email recipient - send email steps to the contact or to your team.
- Re-enrolment - once per contact ever, not while already running (recommended), or every time the trigger fires.
- Skip Do Not Disturb contacts - contacts marked Do Not Disturb are never enrolled.
- Stop when the contact replies - remaining steps are cancelled as soon as they reply.
- Daily enrolment cap - limit how many contacts can start the automation in a rolling 24 hours.
- Quiet hours - choose a window and timezone; steps due inside it are held and sent as soon as it closes (nothing is skipped).
Reply triggers
- Keyword in SMS/iMessage reply and Keyword in email reply — start the automation only when an inbound reply on that channel contains your keywords (match on any word, all words, or an exact match). No AI, no extra cost.
- Positive reply — SMS/iMessage and Positive reply — email — AI reads each inbound reply on that channel and only starts the automation when the reply is positive or interested. You can describe what "positive" means for your business. These use AI and cost about 1 AI credit per reply checked; anything that uses AI shows its credit cost in brackets next to its name in the builder.
Filtering the "Appointment start time reached" trigger by calendar
The Appointment start time reached trigger can be limited to specific calendars. Leave it on Any calendar to run for every appointment, or select one or more calendars so the automation only runs for bookings made on those.
Duplicating an automation
On the Automations page, each card has a Duplicate button (copy icon). It
clones the automation with all of its steps and branches, names it
"
Filtering the "Booking created" trigger
The Booking created trigger now has two optional filters:
- Only for these calendars - run only for bookings taken on the selected booking calendars.
- Only for these appointment types - run only for bookings of the selected appointment types.
Leave both on "Any" to run for every booking.
Slack mentions
When you use the Slack action, type @channel, @here or @everyone in your message and we convert it into a real Slack mention, so it appears highlighted and notifies the channel. To mention one person, use their Slack member ID in the form <@U012ABCDEF>.
Testing a webhook step
Webhook and HTTP steps have a Send test button in the step editor. It sends the exact request the automation would send, using a real contact from your workspace so your {{tokens}} are filled in properly, then shows you both halves:
- Request — method, URL, headers and the exact body that was sent.
- Response — status code, how long it took, and the response body.
Testing is safe: it does not create an automation run, does not change the contact, and does not enrol anyone. Choose which contact to render tokens against from the dropdown, or leave it on "Most recent contact".
If your step uses a Slack or Discord connection, the URL is hidden in the results because that URL is a secret. Tests are limited to a few sends per minute.
