Automations

When something happens in Meridian, run an ordered list of actions automatically.

The shape of an automation#

Under Settings → Automations, each automation is a trigger event, an optional condition, and an ordered list of actions that run when the trigger fires and the condition (if any) matches. Give it a name, toggle it enabled or paused, and delete it any time — a paused automation stops running immediately but stays saved.

What can trigger one#

The canonical triggers cover the core lifecycle: a form is submitted, a booking is created, a job is created or its state changes, a quote is sent or accepted, an invoice is sent or paid, a payment succeeds, a review is requested, a customer is created, or an opportunity is created.

The trigger picker also lists a state-entry option for every stage in your own custom workflows and CRM pipeline — for example “Job enters ‘Diagnosed’” or “Opportunity enters ‘Proposal’” — generated from whatever you’ve actually built under Settings → Workflows and Settings → CRM, so the list always matches your setup, not a generic one.

What it can do#

Actions run in order: send an email or text, post an in-app notification (fanned out to roles), post to an internal Slack channel, request an e-signature, create a record (Customer, Contact, Booking, and more), assign work to a role or a specific person, or call an outbound webhook.

In-app and push notifications automatically link to the record the event is about — a “quote accepted” notification opens that quote, a “new job” notification opens that job, on web and in the mobile app. If you set an explicit URL on the notification action, your URL is used instead.

Every text field in an action is a template — write things like “{{customer.firstName}}” and it’s filled in from the event when the automation runs. The editor shows the variables available for whichever trigger you’ve picked.

Connecting Slack#

A Slack action needs somewhere to post first. Under Settings → Integrations, click “Add to Slack” to authorize with Slack and pick a channel right there in Slack’s own screen — no copying and pasting a URL. Only an owner or admin can connect or disconnect it.

Once connected, the Integrations page shows exactly which workspace and channel you’re posting to, with a button to disconnect or reconnect to a different channel any time.

Prefer not to use Slack sign-in, or your platform doesn’t have it turned on yet? An “Advanced” option on the same page lets you paste an Incoming Webhook URL by hand instead — Slack’s own instructions for creating one are linked right there.

Conditions & the JSON escape hatch#

An optional condition narrows when an automation runs — match all or any of a set of rules against the event’s data (equals, contains, is one of, greater/less than, is present, and more) before its actions fire.

The Builder tab covers the visual editor; a JSON tab underneath is available for hand-editing the raw trigger/condition/action config if you need something the visual editor doesn’t expose yet.

New workspaces start with a few safe, internal “notify the team” automations already on — edit or turn any of them off from this same list.