Starting an AI Employee Automatically with Triggers

By default, an AI Employee only runs when someone opens it and starts it by hand. Add a trigger when a run shouldn't depend on someone remembering to start it — a recurring report, a reply that has to go out within minutes of a ticket landing, or a backlog that needs picking up as records show up in another system.

Three kinds of trigger are set up in the builder, and they differ in one thing: what starts the run.

  • A scheduled trigger runs on a clock you set.
  • A webhook trigger runs when another system tells Ema that something happened.
  • A poll trigger runs when Ema checks another system and finds something new.

This page helps you pick the right one. Each kind then has a guide of its own.

Triggers need a Dashboard AI Employee. All three kinds work on Dashboard AI Employees only — Chat and Voice AI Employees cannot be started this way. If yours isn't a Dashboard AI Employee, start with Creating a Dashboard AI Employee.

Which trigger do I need?

Start from what you already know about when the work should happen.

You know when it should run. "Every Monday at 9am." "Every night." "Once an hour." Nothing needs to happen elsewhere first — the time itself is the reason to run. That's a scheduled trigger. What the workflow does once it starts is a separate matter: the first Agent might fetch data from another app, or the whole thing might never leave Ema. Both are ordinary.

Something happens elsewhere and you want to react straight away. A ticket is raised, a form is submitted, a deal closes — and waiting even a few minutes is too slow. This works only if the other system can send messages out when things happen. That's a webhook trigger, and it's the only kind that reacts immediately.

Something happens elsewhere, but that system can't tell you. Plenty of systems have no way to notify you when something changes. Ema can check them on a rhythm instead, and start a separate run for each new thing it finds. That's a poll trigger.

Not sure whether the other system can send webhooks? Look in its settings for "Webhooks", "Outgoing webhooks", or "Notifications". If there's nothing like that, a poll trigger is your answer.

Comparing the three

ScheduledWebhookPoll
What starts itA clock you setThe other system, sending to EmaEma checking the other system
How fast it reactsAt the next scheduled time — 15 minutes apart at the closestImmediatelyAt the next check — 5 minutes apart at the closest
Runs it producesOne per firing, using the inputs you saved on the scheduleOne per message receivedOne per item, if you set it up that way
Keeps track of what's newNo — your workflow does that itselfThe sending system decides what to sendYes, if you choose to
Can fetch external dataYes, using ToolsYesYes
Needs from the other systemNothingIt must be able to send outgoing webhooksAn API Ema can read
Set up before you beginNothingAdmin access to the sending system, and its signing documentationA working connection to the app, already set up in Integrations

Scheduled triggers

A scheduled trigger runs your AI Employee on a repeating cadence — every 15 minutes, every Tuesday at 6pm, the first of the month. You pick the pattern from a list of common ones, or write your own timing if you need something unusual. You also choose a time zone, so "9am" means 9am where your team actually is.

Each firing produces one run, using the inputs you saved on the schedule. Those are mostly fixed values, but you can also drop in the date or time of the firing itself, so a daily schedule can tell your workflow which day it's running for. One AI Employee can have several schedules at once — a quick hourly check and a fuller weekly pass, for example — and they don't block each other.

Set up a scheduled trigger →

Webhook triggers

A webhook trigger gives you a URL. When another system sends a message to that URL, your AI Employee starts running — there's no clock to wait for and no check to come round. It's the only trigger that reacts the moment something happens, so it's the right choice whenever a delay actually costs something.

The trade-off is that setup is a two-sided job. Ema gives you a URL and a secret; someone with access to the other system has to paste them in and configure it to send. You'll also decide how Ema checks that incoming messages genuinely come from that system, rather than from somebody who guessed your URL.

Set up a webhook trigger →

Poll triggers

A poll trigger is for systems that can't call you. On a rhythm you choose — anywhere from every 5 minutes to once a week — Ema runs a short script that fetches from the other system.

What happens to the results is then up to how you set it up. The usual choice, and the reason most people reach for polling, is one run per item with Ema keeping track of what it has already seen: a batch of forty new records becomes forty runs rather than one run holding a pile of data, and the same record doesn't get handled twice. It also copes with downtime — when a paused trigger is switched back on, it can catch up on what it missed.

Set up a poll trigger →

What every trigger shares

Whichever kind you choose, these things work the same way.

Publish first. A trigger can't start anything until the AI Employee has been published at least once, and it runs your published work rather than your drafts — so saving a draft changes nothing about what fires. See Build your first workflow.

Every run happens as somebody. Nobody is present when a trigger fires, but the run still needs permissions to do its work. So every trigger carries a Runs as user, and the run is checked against that person's access. If they leave, you don't rebuild the trigger: an administrator reassigns Runs as and it carries on.

Turning it off isn't the same as deleting it. Every trigger can be disabled and left in place, keeping its settings and its history. Use that when pausing something temporarily — deleting and rebuilding loses the setup, and for a webhook it means handing the other system a new URL.

Autopilot can set up any of the three. Instead of working through the forms yourself, describe what you want in plain language — "run this every weekday at 8am", "start this whenever a ticket is raised" — and Autopilot creates the trigger for you. It can't invent the things only the other system knows, though, such as how that system signs its messages or how to ask it what changed, so on webhook and poll triggers you'll still finish those parts yourself.

Trigger runs are ordinary dashboard rows. Every run has one origin — either a person started it or a trigger did, never both. But a trigger's run isn't filed away anywhere separate: it appears as a regular row on the AI Employee's dashboard, in the same table and the same shape as any other, so there's one place to review everything. Webhook and poll triggers additionally keep a delivery log — a record of every message received or check performed, and what came of it.

What's next

Last updated: Aug 19, 2026