Skip to main content
Agents can run autonomously without manual interaction. Set up scheduled triggers to run on a recurring or one-time basis, app triggers to fire when something happens in an external service, or a webhook trigger to fire when another app sends data to a unique URL.
All triggers are managed from the Triggers section of your agent’s configuration page. Click Add trigger to create a new one.
Trigger type selector showing Scheduled Trigger and App Trigger options
Need to monitor multiple services, apply custom logic, or watch an app without a pre-built trigger? Use Create With AI to build custom triggers in natural language. To offer a reusable trigger to people using the same agent, see shared trigger templates.

Scheduled triggers

Schedule your agent to run automatically on a recurring schedule or as a one-time trigger. When a trigger fires, the agent receives a prompt you configure and processes it exactly as if you had typed it in the chat.

Setting up a scheduled trigger

Go to your agent’s configuration page, find the Triggers section, and click Add trigger. Choose Scheduled Trigger as the type, then fill in three fields:
  • Name: A short label (e.g., “Daily Ticket Summary”)
  • Schedule: When the trigger should run (recurring cron or one-time)
  • Prompt: The message your agent receives when the trigger fires
Click Create and the trigger is immediately active.
Runs on a cron schedule until you pause or delete it. You don’t need to know cron syntax: describe your schedule in plain language and the AI generates the expression.
Create a Scheduled Trigger dialog showing the Recurring tab with name, AI-powered schedule field, cron expression, and prompt
Minimum interval is 1 minute. Timezones default to your browser’s timezone.
Once created, triggers appear in the Triggers section. Click a trigger to open Trigger Details, where you see its recent tasks and edit its settings, or use the three-dot menu to activate, deactivate, or delete. See Viewing a trigger’s tasks and settings.
Triggers section showing a created Tickets Summary trigger that runs every 30 minutes

Writing good trigger prompts

The prompt is what your agent receives when the trigger fires. Be specific:
If your agent has a relevant skill for the task, reference it in the prompt. The agent will load the skill and follow its instructions for consistent results.

Self-Scheduling

Your agent can create and manage its own triggers during a conversation. Just tell it what you need: Agents can only manage their own schedules, not those of other agents.

Webhook triggers

A webhook trigger gives your agent its own URL. Any service that can send an HTTP POST (such as Stripe, GitHub, a CI job, or an internal script) runs the agent by calling it. Unlike app triggers, nothing needs a pre-built integration and Gumloop doesn’t poll anything: the other system calls you.

Setting up a webhook trigger

1

Add the trigger

On your agent’s configuration page, find the Triggers section, click Add trigger, and choose Webhook.
Trigger menu showing Create With AI, App Trigger, Webhook, Scheduled Trigger, and One-Time Trigger options
2

Describe what the agent should do

Fill in the trigger and decide how the payload reaches your agent:
Webhook trigger dialog with Trigger name, a prompt containing the Raw JSON badge, and the Send raw JSON instead of a prompt toggle
A prompt is required unless Send raw JSON instead of a prompt is on.
3

Copy the URL

Click Create trigger. Gumloop generates a unique URL plus a ready-to-run curl example. Paste the URL into whatever app or script should start the agent.
Trigger created screen showing the webhook URL, a copy button, and a Try it yourself curl example
Need the URL again later? Click the trigger in the Triggers section: the webhook URL is on its detail panel.

Calling the webhook

Send a POST request to the URL. No API key or header is required: the URL itself is the credential.
Gumloop replies 200 with {"success": true} as soon as the request is accepted, then runs the agent in the background: it does not wait for the agent to finish, and the response never contains the agent’s answer. Have the agent report back through a tool (Slack, email, a database write) instead. Payload handling:
  • JSON is parsed as JSON, even if the sender omits the Content-Type: application/json header.
  • Form-encoded bodies are turned into key/value pairs.
  • Anything else is passed through as raw text.
Anyone with the URL can run your agent, so treat it like a password and don’t share it publicly. To retire a URL, delete the trigger: a new trigger always gets a fresh URL.
Every rejected call returns the same 404 not_found, whether the trigger doesn’t exist, is deactivated, or the URL’s secret is wrong. That’s deliberate: a caller holding a bad URL learns nothing about your agents.
Rate limit: each webhook trigger accepts up to 100 requests per minute. The limit is counted per trigger, no matter who sends the request or from which IP, and every request counts toward it, including rejected ones. Requests over the limit get a 429 rate_limited response with a Retry-After header giving the seconds to wait, and the agent does not run for them. If a sender can burst past 100 events a minute, batch or space out its calls, or retry after the Retry-After delay.

Letting your agent manage webhooks

You don’t have to build the trigger by hand. Ask the agent in chat, “give me a webhook I can call from our deploy script,” and it creates one, then tells you to copy the URL from the trigger’s detail panel (the agent never sees the URL itself). Creating, editing, deleting, disabling, and enabling all require your approval before they take effect, and an agent only sees the webhook triggers you created: not ones your teammates added.
Agent-managed triggers require AI Managed to be on in the Triggers header. Turn it off and only you can create or change triggers.

App triggers

App triggers fire your agent when something happens in an external service. Instead of checking manually, your agent reacts automatically to new emails, messages, database changes, and more. When a trigger fires, the event data (e.g., the email body, the Slack message) is injected into a prompt template you write. The agent processes it as if you had typed it in the chat.

Supported integrations

Gmail

New email in a label

Slack

New channel message

Slack reaction

Emoji reaction on a message

Microsoft Teams

New channel message

Google Drive

New file in a folder

Google Sheets

New or updated row

Google Calendar

Upcoming event

Notion

New or updated page

Airtable

New or updated record

Zendesk

New ticket or comment

Salesforce

New or updated record in any object

Linear

New or updated issue

Jira

New issue created

Monday.com

Item, subitem, update, or column change on a board

Parallel Web Monitor

Web changes matching a query
Also supported: Outlook, Outlook Calendar, Google Forms, Typeform, HubSpot, incident.io, and Jira. Some integrations (Gmail, Slack, Slack Reaction, Teams, Drive, Forms, Typeform, Zendesk, Monday.com, Parallel Web Monitor) are real-time and fire within seconds. Others (Sheets, Calendar, Notion, Airtable, HubSpot, incident.io, Salesforce, Linear, Jira) use polling and check for changes approximately every 60 seconds.

Setting up an app trigger

Go to your agent’s configuration page, find the Triggers section, and click Add trigger. Choose App Trigger as the type. Then follow three steps:
1

Select a trigger

Choose which integration event should fire your agent.
App Trigger picker with a search box and integrations including Google Drive Folder, Google Sheets, Google Calendar Event, Gmail, Outlook, Slack Message, Slack Reaction, Teams Message, Notion Database, Airtable, HubSpot List, Salesforce Record, Zendesk Ticket, Linear Issue, Jira Issue, Outlook Calendar Event, Typeform Submission, Monday.com Board, Google Form Responses, incident.io Incidents, and Parallel Web Monitor
2

Configure the integration

Connect the account your trigger should use and set its parameters. For example, with Gmail you can choose which label to monitor, whether to mark emails as read, and whether to read HTML content.
Gmail trigger setup with credential selection, label filter, and options for Mark as Read and Read as HTML
Your agent uses the credentials of the person who created the trigger. Make sure you’ve connected the required app on your Connectors page before setting up the trigger.
3

Write a prompt template

Define what your agent should do when the trigger fires. Use template variables (shown as badges) to inject event data into your prompt.
Prompt template editor showing trigger name and a prompt with template variables like Email Body, Attached File Name, and more
Template variables are specific to each integration. For Gmail, you get variables like Email Body, Subject, Sender, and Attached File Name. For Slack, you get Message, Sender Name, Channel Name, etc.

Prompt templates

When an app trigger fires, the event data is injected into your prompt template before the agent receives it. How it works:
  1. You write a prompt template with placeholder variables (shown as badges in the UI)
  2. When the trigger fires, each variable is replaced with the actual event data
  3. The agent receives the fully resolved prompt and acts on it
Example: Your template:
When fired, your agent sees:
You can also toggle Pass Raw Data to send the entire event payload as JSON instead of using template variables. This is useful when you want the agent to decide what’s relevant.

Managing active triggers

All your triggers (scheduled, app, and webhook) appear in the Triggers section of your agent’s configuration. Owners can edit, deactivate, or delete triggers they have permission to manage. Users can always view, deactivate, and delete their own triggers; creating, editing, or activating an independent trigger requires Create triggers to be Allow. Shared template copies have a separate exception: people who can use the agent can turn on their own available copy and change its offered personal settings. See Who can manage triggers?. Deactivating every trigger is the supported way to switch an agent off: the agent stops running on its own, but its configuration, connectors, and triggers stay intact and you can re-enable them at any time. Do not use is_active: false on the agents API or gumloop agents update --inactive for this: that retires the agent instead of pausing it.
Triggers tab of an agent listing triggers with a three-dot menu open on Edit, Deactivate, and Delete

Viewing a trigger’s tasks and settings

Each trigger has one screen, Trigger Details, that shows its activity and its settings together. Open it by clicking the trigger in the Triggers tab at the top of the agent’s configuration panel, or in the Triggers card under the chat box on the agent’s home screen. Edit in the trigger’s three-dot menu and the Setup button on a trigger that needs an account open the same screen. Trigger Details has three parts:
  • Header: the trigger’s name, its creator, and how many tasks and credits it has used. Click the name to rename the trigger.
  • Recent tasks: the trigger’s last three runs, each with its status, time, and credits. Click a run to open it. Click View all to open Task history, the full list of the trigger’s runs with All, Completed, Approval Required, and Failed filters.
  • Trigger settings: the trigger’s configuration, edited in place. A scheduled trigger shows Schedule, Model, Status, and Prompt. App and webhook triggers show their own setup fields with the prompt. An eligible trigger you created also shows Sharing next to Status.
Click Save at the top of Trigger Details, or press Ctrl+S (Cmd+S on Mac), to apply your changes. If you click View all with unsaved changes, Gumloop asks whether to discard them first.
Trigger Details for Weekly joke showing the creator, 15 tasks and 138 credits, Recent tasks with three completed runs and View all, and Trigger settings with Schedule, Model set to Use agent model, Status Active, and Prompt

Trigger Details: recent tasks and trigger settings on one screen.

Task history for a trigger with All, Completed, Approval Required, and Failed filters above a list of completed runs with their times and credits

Task history lists every run of the trigger.

People who cannot edit the trigger see the header, Recent tasks, and Status, plus Sharing where they are allowed to manage it. Shared copies show the settings the subscriber can change. See How do shared trigger templates work?.

Integration details

Fires when: A new email arrives in the specified label. (Real-time)Configuration: Choose your Gmail credential, select a label to monitor (e.g., INBOX, a custom label), and optionally enable “Mark as Read” and “Read as HTML”.Available variables: Email Body, Subject, Sender, Attached File Name, Date, Message ID, Thread ID
Due to Google API limitations, only one Gmail account can be monitored per credential. For multiple accounts, create separate triggers with different credentials.
Fires when: A new message is posted in the specified channel. (Real-time)Configuration: Choose your Slack credential and select the channel to monitor. “Ignore Bot Messages” is enabled by default. You can also optionally ignore thread replies.Available variables: Message, Sender Name, Channel Name, Channel ID, Date, Thread ID, Attachment Names
”Ignore Bot Messages” is on by default to prevent infinite loops if your agent posts back to the same channel. We recommend keeping it enabled unless you specifically need to process bot messages.
Fires when: Someone reacts to a message with an emoji in the specified channel. (Real-time)Configuration: Choose your Slack credential and select the channel to watch. Optionally filter by specific emoji (e.g., white_check_mark, thumbsup). Leave the emoji filter empty to trigger on any reaction. “Ignore Reactions From Bots” is enabled by default. You can also include or exclude reactions on thread replies, and optionally read the full thread for additional context.Available variables: Message, Emoji, Reaction Count, Reacted By, Message Sender, Attachment Names, Thread ID, Thread Link, Channel Name, Channel ID, Date
”Ignore Reactions From Bots” is on by default. Reactions from Gumloop itself are always ignored regardless of this setting, preventing infinite loops if your agent reacts to messages in the same channel.
Fires when: A new message is posted in the specified Teams channel. (Real-time)Configuration: Choose your Teams credential, select the team and channel. Optionally ignore bot messages and thread replies.Available variables: Message, Sender Name, Channel Name, Channel ID, Date, Subject
Teams triggers only work with Microsoft 365 work or school accounts. Personal Microsoft accounts are not supported.
Want your team to chat with an agent inside a Teams channel instead? See Using Agents in Microsoft Teams.
Fires when: A new file is uploaded to the specified folder. (Real-time)Configuration: Choose your Google Drive credential and select the folder to watch.Available variables: File Name, File ID, File Type, Modified Date
Fires when: A new row is added or an existing row is updated, depending on your trigger mode. (Polling, ~60s)Configuration: Choose your Google Sheets credential, select the spreadsheet and worksheet. Pick a trigger mode: “Create Row” (new rows only) or “Create or Update Row” (new and modified rows).Available variables: All column values from the row that triggered the event
Fires when: An event is about to start, an event is about to end, or a new event is created in the future, depending on the trigger mode. (Polling, ~60s)Configuration: Choose your Google Calendar credential, select the calendar, and set how many minutes before the event the trigger should fire (default: 15 minutes).Available variables: Event Title, Start Time, End Time, Attendees, Description, Location
Fires when: A new email arrives in your Outlook inbox or a folder you select.Configuration: Choose your Outlook credential and select the inbox or folder to monitor.Available variables: Email Body, Subject, Sender, Attached File Name, Date, Message ID, Thread ID
Fires when: An event is about to start, an event is about to end, or a new event is created in the future, depending on the trigger mode.Configuration: Choose your Outlook Calendar credential, select the calendar, and set how far ahead of the event the trigger should fire.Available variables: Event Title, Start Time, End Time, Attendees, Description, Location
Fires when: A new page is created or an existing page is updated in the specified database. (Polling, ~60s)Configuration: Choose your Notion credential and select the database to monitor.Available variables: All database property values from the page that triggered the event
Fires when: A new record is created or an existing record is updated in the specified table. (Polling, ~60s)Configuration: Choose your Airtable credential, select the base, table, and optionally a view. Requires a “Last Modified Timestamp” field in your table.Available variables: All field values from the record that triggered the event
Fires when: Depending on your trigger mode: new ticket created, new comment added, ticket status changed, or ticket enters a view. (Real-time)Configuration: Choose your Zendesk credential and select a trigger mode. Optionally filter by ticket type, priority, or status.Available variables: Ticket ID, URL, Subject, Description, Status, Priority, Type, Requester Email, Assignee Email, Comments
Fires when: A new form response is submitted. (Real-time)Configuration: Choose your Google credential and select the Google Form to monitor.Available variables: All submitted form field values
Fires when: A new form submission is received. (Real-time)Configuration: Choose your Typeform credential and select the form to monitor.Available variables: All submitted form field values
Fires when: New records appear in a specified HubSpot list. (Polling, ~60s)Configuration: Choose your HubSpot credential, select the list to monitor, and configure the object type.Available variables: All property values from the records that triggered the event
Fires when: A new incident is detected. (Polling, ~60s)Configuration: Choose your incident.io credential. Optionally filter by severity (Minor, Major, Critical) and mode (Standard, Retrospective, Tutorial, Test).Available variables: Incident ID, Name, Status, Severity, Timestamps, Summary, Permalink, Slack Channel ID
Fires when: A new record is created or an existing record is updated in the selected Salesforce object, depending on the trigger mode. (Polling, ~60s)Configuration: Choose your Salesforce credential, select the object to monitor (e.g., Lead, Contact, Opportunity, Account, Case, or any custom object), and choose a Trigger Mode:
  • New Record: Fires when a new record is created
  • Updated Record: Fires when an existing record is modified (newly created records are automatically excluded)
Available variables: All fields from the selected Salesforce object (e.g., First Name, Last Name, Email, Company, etc.). The exact fields depend on the object type.
The trigger uses a compound cursor based on the relevant timestamp field (CreatedDate or LastModifiedDate) and record Id to avoid duplicates. It fetches up to 5 records per poll. In Updated Record mode, each modification to a record triggers the agent again.
Fires when: A new issue is created or an existing issue is updated in the selected Linear team, depending on the trigger mode. (Polling, ~60s)Configuration: Choose your Linear credential, select the Team to monitor (required), and choose a Trigger Mode:
  • New Issue: Fires when a new issue is created
  • Updated Issue: Fires when an existing issue is modified (newly created issues are automatically excluded)
Optionally add Filters to narrow which issues fire the trigger:
  • Status: Filter by issue status (e.g., In Progress, Done, Backlog)
  • Project: Filter by Linear project
  • Priority: Filter by priority level (e.g., Urgent, High, Medium, Low)
  • Labels: Filter by issue labels (matches issues with at least one of the selected labels)
  • Assignee: Filter by the team member assigned to the issue
Available variables: Description, Identifier (e.g., “ENG-123”), Title, URL, Assignee, Status, Project, Labels
The trigger fetches up to 5 issues per poll. In Updated Issue mode, each modification to an issue triggers the agent again. A Team must be selected: it is a required parameter.
Fires when: A new issue is created in the selected Jira project. (Polling, ~60s)Configuration: Choose your Jira credential, select the Resource (your Jira instance), the Project to monitor, and optionally apply filters to narrow which issues fire the trigger.Filter options:
  • Standard Filters: Filter by Status, Priority, Labels, Issue Type, Assignee, and Custom Fields
  • JQL: Write a custom Jira Query Language expression for advanced filtering
  • Saved Filter: Use an existing filter saved in your Jira instance
Available variables: Issue ID, Key, Summary, and other issue fields based on the Information to Read selection
The trigger fetches up to 5 new issues per poll. Uses a compound cursor based on the issue’s created timestamp and issue key to avoid duplicates. You must connect your Jira account on the Connectors page before setting up the trigger.
Fires when: Something changes on a Monday.com board: an item, subitem, update, or column event, depending on the Trigger Mode you pick. (Real-time via webhook)Configuration: Choose your Monday.com credential, select the Workspace and Board to watch, then pick a Trigger Mode. Some modes ask for one more field:All 18 modes: Item Created, Item Name Changed, Any Column Changed, Specific Column Changed, Status Changed To, Item Moved To Group, Item Moved To Any Group, Item Deleted, Item Restored, Update Posted, Update Edited, Update Deleted, Column Created, Subitem Created, Subitem Name Changed, Any Subitem Column Changed, Subitem Deleted, and Update Posted On Subitem.Available variables: One variable per column on the selected board, named after the column title, plus the board’s item name column (Item, Task, or whatever your board calls its items). Values come from the item behind the event.
The Item Deleted, Subitem Deleted, and Column Created modes still fire, but the column variables come through empty. Use Pass Raw Data if you need the raw event payload for those.
Subitem events are watched from the parent board you select, and their column values are read from the subitems board, so the variables you get are the subitem’s own columns matched by title.
Monday.com triggers create a webhook on the board, so your connected account needs permission to manage webhooks on it. If you connected Monday.com before this trigger shipped, refresh the connector on the Connectors page to grant the webhook permission, otherwise the trigger fails to save.
Fires when: Relevant changes are detected on the web matching your natural-language query. (Real-time via webhook)Configuration: No credentials required: works out of the box. Write a Query describing what you want to monitor and set the Frequency for how often to check (hourly, daily, or weekly).Unlike other triggers that watch a specific service, the Parallel Web Monitor uses AI to scan the entire web for material changes matching your query. This makes it ideal for open-ended monitoring like tracking competitors, news, or market changes.Query examples:
  • “OpenAI product announcements and API pricing changes”
  • “Acme Corp product launches, pricing changes, and new partnerships”
  • “YC Startups that have raised Series A funding”
  • “SEC rulings on cryptocurrency ETF applications”
  • “New job postings for VP of Engineering at FAANG companies”
Available variables: Event Output, Event Date, Source URLs
Be specific in your query. “AI news” is too broad: “Anthropic and OpenAI model release announcements” will produce much more relevant results.

How do shared trigger templates work?

Share an eligible trigger so other people can turn on their own copies. You choose what the agent does; each person chooses their own accounts or timezone when needed. Custom triggers that call a model during polling cannot be shared, because each person must explicitly approve recurring model charges. For example, share a weekly brief that runs every Friday at 5 PM. Each teammate can turn it on for themselves, using their own timezone.
You must have created the trigger and have permission to manage triggers on the agent.
1

Give people access to the agent

Share the agent with the people who should use your trigger, then create a recurring schedule, app trigger, webhook, or recurring AI-created trigger.
2

Share the existing trigger

In the Triggers tab of the agent’s configuration panel, click the trigger to open Trigger Details. Under Trigger settings, open the Sharing control next to Status and change Only you to People on this agent. Share an existing trigger from Trigger Details, not from the creation form.This makes the trigger available to others. It does not turn on their copies automatically.

Is setup the same for scheduled and app triggers?

Sharing is the same: the creator selects People on this agent, and others choose Turn on. The settings each person fills in are different. The prompt stays read-only. Settings not offered in the subscriber form remain controlled by the shared trigger. A team template can inherit a configured team account and its app settings instead; the subscriber must have access to that team.

What can each person change?

  • Creator: owns the original and controls sharing. An authorized agent Owner can edit its shared prompt, model, and schedule or trigger logic. Changes update copies in the background.
  • Each person: manages their own accounts, offered settings, timezone, and whether their copy runs. Pausing your copy does not pause anyone else’s.
Sharing a personal trigger does not share your personal credentials. People select their own accounts when required; shared team accounts still require team access.
Anyone who can use the agent. They do not need Create triggers permission or separate approval from the creator. Each person can have one copy, and the creator uses the original rather than subscribing to it.
  • You created the original: use that trigger directly. You cannot subscribe to your own template.
  • You already have a copy: manage that copy; its settings form uses Save instead of creating another subscription.
  • Required settings are missing: wait for the form to load, then select the required account and app settings. If you have no personal connection to that service, connect it first. The creator’s personal account is not shared with you.
If the shared trigger is missing entirely, confirm that you can use the agent with the account you’re signed in to. Ask an Owner or admin to check that the app-trigger type is available to your account. Inherited team connections also require team access.
Stop sharing pauses other people’s active copies. Sharing again does not automatically restart them. Deleting the original while it is still shared removes its copies. Pausing the original alone does not stop other people’s copies.
Open a trigger you created, check that you can manage triggers, and give someone else access to the agent. One-time triggers, shared copies, and custom triggers that call a model during polling cannot be shared.

Choosing the model a trigger uses

Independent triggers and shared originals have a Model field; shared copies use the template’s model. By default the field is set to Use agent model, so the run uses whatever model the agent is configured with. Pick a different model when a specific trigger needs something faster or stronger than the agent’s day-to-day model, for example, keeping an agent on its normal model for chat while a weekly report trigger runs on the smartest one. Open the Model dropdown while creating or editing a trigger and choose one of: The list shows exactly the models your agent could be set to, so anything your organization has restricted does not appear. If a pinned model becomes unavailable because it is retired or an admin restricts it, the trigger falls back to the agent’s model. The Model field is available on scheduled, webhook, app, and MCP triggers, and applies to every run that trigger starts, including runs you fire manually from the Triggers section.
Model choice affects cost. A trigger pinned to a heavier model spends more credits per run than the same trigger on the agent’s default. See Credits for how model usage is billed.

Good to know

File and attachment handling

When a trigger passes files or attachments to your agent, the agent automatically receives and can process them. This includes:
  • Email attachments from Gmail triggers (PDFs, spreadsheets, images, etc.)
  • Supported Slack-hosted file attachments from Slack message triggers. External or remote files are not downloaded as attachments; ordinary URLs in message text are not affected.
  • Google Drive files from Drive triggers (the actual file content, not just the metadata)
  • Teams attachments from Microsoft Teams message triggers
Your agent can read text-based files (PDFs, CSVs, DOCX, etc.), parse images using vision capabilities, and use file contents as context for its response. No additional configuration is needed.

Credentials

Triggers use the credentials of the person who created the trigger, not whoever is chatting with the agent. Make sure you’ve connected the required app on your Connectors page before setting up a trigger. For team agents, if team credentials are configured, those can be used instead of personal credentials.

Auto-disable on failure

All triggers (scheduled, app, and webhook) automatically deactivate after 3 consecutive failed runs. Common causes include expired credentials, deleted resources (channels, folders, databases), or permission changes. When this happens, the trigger owner receives a notification through email, Slack DM, and in-app. The notification links straight to the most recent failed run so you can see what went wrong. You can dismiss it once you’ve handled it. To fix: resolve the underlying issue, then re-enable the trigger from the Triggers section. Re-enabling resets the failure count, so a trigger won’t be immediately disabled again by earlier failures: only failures that happen after you re-enable it count toward the next auto-disable. For a walkthrough of every reason a trigger turns off and how to fix each one, see Why Did My Trigger Turn Off?.

Overlapping runs

If a previous trigger execution is still running when the next one fires, the new execution is skipped. This prevents duplicate work and ensures your agent finishes one task before starting the next.

Credits

Triggered agent runs use credits for model and tool usage, like a chat. Custom AI triggers also use credits for polling. Decision-model calls in a check are billed on every poll, even when it does not fire. See Create triggers with AI.

FAQ

No. Delete the existing trigger and create a new one with the desired type.
The agent’s own model, unless you set the trigger’s Model field to something else. See Choosing the Model a Trigger Uses.
Yes. Open the trigger from the agent’s Triggers tab: Recent tasks in Trigger Details shows its last three runs, and View all opens Task history with every run and All, Completed, Approval Required, and Failed filters. Triggered runs also appear in the agent’s task list.
Yes. When a trigger includes supported files (email attachments, Slack-hosted files, Google Drive uploads), the agent receives them and can read text-based files, parse images, and use the content in its response. See File and attachment handling for supported attachments.
Some integrations use polling instead of real-time webhooks. Polling-based triggers (Google Sheets, Notion, Airtable, Google Calendar, HubSpot, incident.io, Jira) check for changes approximately every 60 seconds. Real-time triggers (Gmail, Slack, Slack Reaction, Teams, Google Drive, Zendesk, Google Forms, Typeform, Monday.com, Parallel Web Monitor) fire within seconds.
Yes. You can have 100 active triggers per user per agent, across scheduled, webhook, app, and custom AI triggers. Inactive triggers do not count. Deactivate or delete an unused trigger before activating another at the limit. This is separate from the webhook request rate limit.
Yes. When AI Managed is enabled, ask your agent to create an app trigger and describe the event and what it should do. The agent guides you through the required account and settings, then requests approval. Use Create triggers with AI for conditions that need custom logic or multiple services.

Create triggers with AI

Build custom multi-service triggers in natural language

Agents

Learn about building and configuring agents

Agent skills

Teach your agent reusable processes