# Automations > An automation in MailCamp pairs a single trigger with a single action — for example, "when a contact subscribes, send the welcome email". Automations run on their own once configured. Each automation is one trigger and one action; to build a series, create several automations together. ## What it is Where a campaign is sent at a specific moment to everyone in an audience, an automation is a standing rule that fires for individual contacts as they meet the trigger condition. The model is intentionally simple: one trigger, one action, optionally with a timing delay. ## Key concepts - **Trigger**: the event that causes the automation to fire for a contact. Available trigger types include: - **When a contact joins a list** — the new-subscriber moment. - **Based on subscription date** — useful for anniversaries or "X days after signup" follow-ups. - **Based on a date in the contact's profile** — for example, a birthday or renewal date. - **When a contact opens or clicks any campaign** — engagement-based fire. - **When a contact has not opened or clicked recently** — re-engagement after inactivity. - **When a contact engages (or fails to engage) with a specific campaign** — fine-grained per-campaign reactions. - **Action**: what the automation does when the trigger fires. Available actions: - **Send an email** — deliver a specific email to the contact. - **Tag the contact** — apply a label to the contact for later targeting (for example, tag them "engaged" or "lapsed"). - **Timing**: when the action runs relative to the trigger. You can run it immediately, wait a fixed period before firing, repeat at intervals, or re-check after a window. This is how "wait three days, then send" is expressed. - **Email actions**: the emails sent by automations are managed in one central place and can be reused across multiple automations. - **Active / paused**: an automation can be paused without losing its configuration; while paused it does not fire for new triggers. ## Common workflows ### Welcome email on subscribe 1. Open **Automations** in the navigation. 2. Choose **New automation**. 3. Set the trigger to "when a contact joins" and pick the relevant list. 4. Set the action to send the welcome email. 5. (Optional) Add a short delay so the welcome arrives a few minutes after signup rather than instantly. 6. Activate the automation. ### Multi-step welcome series Because each automation is one trigger and one action, a multi-step series is built as several automations: 1. Automation 1: "when a contact joins", send the welcome email immediately. 2. Automation 2: "based on subscription date", send a day-3 follow-up after a 3-day delay. 3. Automation 3: "based on subscription date", send a day-7 follow-up after a 7-day delay. Each runs independently for every contact. ### Re-engagement after inactivity 1. Trigger: "when a contact has not opened recently" (over a window of your choosing — for example, 60 days). 2. Action: send a "we miss you" email. 3. Optionally pair with a second automation that tags contacts who remain inactive after the re-engagement send so you can clean them up later. ### Editing an email used by an automation Because emails are reusable, you edit them once in the **Email actions** area and the change applies to every automation that uses that email. ## Limits and edge cases - Automations are flat: there is no flow editor, no condition step, and no separate wait step. Sequences are composed of multiple automations sharing related triggers. - Tagging is the primary way to record state from automations (for example, mark a contact "engaged" or "lapsed"). - Pausing an automation stops it from firing for new triggers; in-flight contacts are handled according to the platform's standard behaviour. - Editing a shared email action affects every automation that uses it — there is no per-automation copy. ## Web routes Paths use `:id` as the placeholder for an automation's identifier. - `/automations` — list of all automations. - `/automations/new` — create a new automation. - `/automations/:id/detail` — view an automation's trigger, action, and recent activity. - `/automations/:id/update` — edit an automation's trigger, action, or timing. - `/automations/:id/history` — view the run history for an automation. - `/automations/email-actions` — manage the reusable emails that automations send. - `/automations/email-actions/:id/update` — edit a specific email action. ## Related - [Campaigns](/llms/campaigns.txt) — the one-off counterpart to automations. - [Contacts](/llms/contacts.txt) — who automations fire for. - [Templates](/llms/templates.txt) — designs used inside email actions. - [Statistics](/llms/statistics.txt) — performance for campaigns sent by automations.