Skip to main content
The Create With AI option lets you describe what you want to monitor in plain language, and your agent builds a custom polling trigger for you automatically. Unlike pre-built event-based triggers that are limited to a single integration, AI-created triggers can combine multiple services, apply custom filtering logic, and handle scenarios that no pre-built trigger covers.
Trigger type selector showing Create With AI, Scheduled Trigger, and Event-Based Trigger options

When to use AI triggers

AI-created triggers (also called custom MCP triggers) are the right choice when:
If your use case is simple single-service monitoring (e.g., “new email from X” or “new Slack message in #channel”), a pre-built app trigger is simpler to set up. Depending on the integration, it uses real-time events or polling. Use AI triggers for anything more complex.

How it works

When you select Create With AI from the + Trigger menu (or simply describe what you want in the agent chat), the agent follows a structured process:
1

Connect required services

The agent identifies which connectors your trigger needs (e.g., Gmail, Salesforce, Slack). If any are not yet connected to the agent, it prompts you to add and authenticate them before proceeding.
2

Discover available tools

The agent checks the connected services for the tools and parameters needed to monitor your condition.
3

Build the trigger code

Based on your request, the agent writes a custom trigger class that polls the relevant services and detects when your condition is met.
4

Test in a sandbox

The trigger code runs in a secure, isolated sandbox environment to verify it works correctly with your real data. If there are issues (wrong credentials, API errors), the agent reports them so you can fix the configuration.
5

Define what counts as new

The agent sets up the check to track previously seen events or compare values, depending on your condition. Specify whether existing data should be ignored on the first check.
6

Activate the trigger

Once validated and approved, the trigger is saved and starts polling on the schedule you specified. A check that calls a decision model needs separate approval for recurring model charges. When the trigger condition is met, your agent receives the event data and acts on it.

Creating a trigger

There are two ways to create an AI trigger:
Go to your agent’s configuration page, find the Triggers section, click + Trigger, and select Create With AI. This opens a chat where the agent walks you through the process.

What you need

Before the agent can build your trigger, make sure:
  1. The required connectors are added to the agent. In the Agent tab, expand Connectors and add the services the trigger needs. The agent will prompt you if anything is missing.
  2. You’ve authenticated with each service. Visit your Connectors page to connect an account for each service.
  3. The agent has trigger creation enabled. Gumball has this enabled by default. For custom agents, check that AI Managed is on in the Triggers section.

Examples

Here are real-world examples to illustrate the range of triggers you can build. Just describe any of these to your agent and it will build the trigger for you.

Single-service triggers

Prompt: “Alert me when my Airtable ‘Inventory’ items drop below 10 in quantity.”Reads Airtable records and checks quantity fields against a threshold. Uses state to avoid re-alerting on the same item.Services: Airtable
Prompt: “Notify me when a HubSpot deal moves to ‘Closed Won’.”Polls HubSpot deals and detects changes in the deal stage, not just the current value. Stores the last known stage to identify transitions.Services: HubSpot
Prompt: “Watch Slack #support for messages with no reply after 30 minutes.”Polls Slack messages, checks timestamps, and fires when a message has been sitting without a reply for the specified window.Services: Slack
Prompt: “Alert me when a Linear issue has been stuck in ‘In Progress’ for over 5 days.”Polls Linear issues, performs date arithmetic, and detects stale items. Deduplicates so you only get alerted once per issue.Services: Linear
Prompt: “Notify me when someone mentions a dollar amount over $10k in Slack #sales.”Parses Slack messages with regex to extract dollar amounts and fires when one exceeds the threshold.Services: Slack
Prompt: “Alert me when our Salesforce pipeline total drops more than 20% since last check.”Stores the pipeline total after each poll and compares it to the next check. Fires on significant percentage drops.Services: Salesforce

Multi-service triggers

Prompt: “When I get a new Gmail email, check if the sender is already in our HubSpot contacts.”Polls Gmail for new emails, then queries HubSpot to check if the sender exists as a contact. Fires with both email details and the HubSpot match result.Services: Gmail + HubSpot
Prompt: “Watch for new Salesforce leads that don’t already exist in HubSpot.”Polls Salesforce for new leads, then checks HubSpot to see if the lead email already exists. Only fires for leads that are truly net-new across both CRMs.Services: Salesforce + HubSpot
Prompt: “Alert me when a GitHub PR is opened and the linked Jira ticket is still in ‘To Do’.”Watches GitHub for new PRs, parses the Jira ticket reference from the PR title or description, then checks the ticket status in Jira. Fires when the status hasn’t been updated.Services: GitHub + Jira
Prompt: “Notify me about new emails from @partner.com if there’s a matching open deal in Salesforce.”Monitors Gmail for emails from a specific domain, then queries Salesforce to find related open deals. Only fires when both conditions are true.Services: Gmail + Salesforce
Prompt: “Watch for new Jira tickets: check if the reporter has open GitHub PRs and find their Slack handle.”Monitors Jira for new tickets, looks up the reporter in GitHub to find their open PRs, and resolves their Slack handle. Fires with enriched context from all three systems.Services: Jira + GitHub + Slack

External MCP server triggers

AI triggers can use external MCP servers as well as Gumloop’s built-in integrations, provided the connected server has tools to read the data your condition needs.
Prompt: “Watch for new database entries in Notion.”Uses an external Notion MCP server to poll for new pages in a database. For standard Notion database events, you can also use a pre-built app trigger.Services: Notion (external MCP)
Prompt: “Notify me about new Stripe subscriptions if the customer email appears in my recent Gmail.”Combines an external Stripe MCP server with Gmail to cross-reference new subscriptions against your email history.Services: Stripe (external MCP) + Gmail

Poll frequency and scheduling

Every AI trigger runs on a polling schedule. The agent chooses a frequency based on your intent, but you can also specify it explicitly.
Minimum frequency: 5 minutes (300 seconds). Maximum frequency: 1 week (604,800 seconds). Default: 5 minutes if not specified.
Match the poll frequency to your actual need. If “check every hour” is good enough, don’t poll every 5 minutes: you’ll save significant credits over time.

How triggers detect changes

AI-created triggers can keep track of data already seen and compare it with later checks. For example, a trigger can remember message IDs to avoid alerting repeatedly on the same message, or compare a sales total with its previous value. Ask the agent to define what counts as a new event and whether the first check should only establish a baseline. If you need a historical record, have the agent save it to a service such as Google Sheets or Airtable when the trigger fires.

Can a polling trigger ask a decision model?

Yes. A custom trigger can ask a decision model during its polling check when the condition needs judgment that plain code cannot provide, or when you explicitly request a model. Use ordinary code for timestamps, thresholds, exact matches, and other deterministic conditions instead of paying for unnecessary model judgment. For example, ask the agent to monitor new support messages and fire only when a decision model identifies an urgent escalation.
  • Recurring billing: model calls are billed on every poll, including checks that do not fire the agent. These charges are additional to sandbox polling costs and the agent’s work after firing.
  • Separate approval: the approval card for a model-calling trigger has a Model calls row, for example “Asks a decision model on every check (every 3600 seconds), billed per call.” Approving ordinary trigger creation, including a remembered Don’t ask again for this tool choice, does not approve recurring model calls.
  • Permissions: your role must have AI models from agent code turned on, and the selected model must be allowed for your role. Organization admins manage this from Settings in the bottom-left sidebar: under People & Access, open Roles & Approvals, stay on the Custom Roles tab, select the role, and open the Features tab. If the feature is off, the agent’s test run fails with a message that model access on Computer is restricted for your role. Approval does not override these restrictions.
  • Changes to the check: if the agent changes the trigger code, it must get model-call approval again before the changed check can use a model.
  • Sharing: model-calling triggers cannot become shared templates, because each person’s recurring charges require their own approval.
Create MCP Trigger approval card with Name, Connectors, Poll frequency, Model calls, and Prompt rows. The Model calls row reads: Asks a decision model on every check (every 3600 seconds), billed per call. Reject and Approve buttons and a Don't ask again for this tool checkbox are at the bottom.

Credit costs (polling only)

Custom AI triggers use credits each time they poll, whether or not they fire. Sandbox execution costs 0.018 credits per second, rounded to the nearest whole credit, with a minimum of 1 credit per poll. Any decision-model calls are additional. The agent shows an estimated sandbox polling cost before activation. Decision-model calls are additional, billed per call, and disclosed separately in the approval. When the trigger fires, the agent’s work has its own model and tool costs. See Credits.
To reduce polling costs, check less often, simplify the condition, or use a pre-built app trigger where it meets your needs.

Limits and safety

Trigger limits

  • Maximum 100 active triggers per user per agent. This includes all trigger types: AI-created, pre-built integration triggers, scheduled triggers, and webhooks. Inactive triggers do not count. If you hit the limit, deactivate or delete unused triggers first.

Circuit breaker

If a trigger is blocked by your concurrency limit 100 times in a row without a run starting, it is automatically deactivated. This stops a trigger that keeps firing while your agent is at its limit. Separately, any trigger is deactivated after 3 consecutive failed runs (see Auto-disable on failure). Review the task history for concurrency blocks or failed runs. Fix the cause, test the trigger, then reactivate it from the Triggers section.

Deduplication

Trigger checks should track previously seen data so the same event does not repeatedly start the agent. Test this behavior with the events you expect to monitor.

Credit limit protection

If your account runs out of credits, polling is paused automatically. The trigger resumes when credits are available again.

Read-only enforcement

AI trigger code can only read data from your connected services. It cannot create, update, delete, or send anything. All actions happen through the agent’s prompt after the trigger fires.
The trigger detects the condition; the agent takes the action. For example, a trigger can detect “new email from VIP client” but cannot reply to the email itself. The agent does that based on the prompt you configured.

Can I share an AI-created trigger?

You can share an eligible recurring AI-created trigger with people who can use the agent. Triggers that call a model during polling cannot be shared as templates: each person must approve their own recurring model charges. For eligible templates, people turn on their own copies and choose only the personal settings offered. See Agent triggers for setup and permissions.

Managing AI triggers

From the Triggers section

All active triggers (AI-created, pre-built, and scheduled) appear in the Triggers section of your agent’s configuration page. Click any trigger to see its details, or use the three-dot menu to:
  • Edit an independent trigger, or a shared original you are authorized to edit, to change its name, prompt, or poll frequency. Subscribers use Change settings for their own copy’s offered personal settings.
  • Test Now to run the trigger’s check immediately
  • Deactivate the trigger (pauses polling without deleting)
  • Delete the trigger entirely
Trigger management menu showing Edit, Test Now, Deactivate, and Delete options

From the chat

You can also ask your agent to manage triggers you own conversationally. Configuration updates are different for a shared copy: use Change settings in the Triggers tab for its offered account or timezone settings. The agent cannot rewrite the template’s shared configuration through your copy.

Testing a trigger

Use Test Now (from the UI or by asking the agent) to run the trigger’s check immediately without waiting for the next poll. This is useful for:
  • Verifying a newly created trigger works correctly
  • Debugging triggers that aren’t firing as expected
  • Checking what data the trigger would return right now
The test returns one of three statuses:
  • Fired + data: New items were detected (shows the items)
  • Empty: No new data since the last poll
  • Error: Something went wrong (shows the error message)

Prompt templates

When an AI trigger fires, the trigger data is injected into a prompt template you configure. The agent receives this prompt and acts on it.
Trigger prompt template editor showing field chips and the prompt text area

Inserting trigger fields

The prompt editor shows all available output fields as chips below the text area. Click a chip (or type @ and select a field) to insert it into your prompt. When the trigger fires, each field chip is replaced with the actual value from the trigger data. For example, if your trigger outputs File Name, File Url, Created Time, and File Id, your prompt might look like:
A new Google Sheet has been created in your account! Name: File Name Link: File Url Created: Created Time File ID: File Id Let me know if you’d like to do anything with this new sheet.

Raw data mode

Toggle Pass raw JSON event data instead of prompt at the bottom of the editor to send the entire trigger payload as JSON instead of using the prompt template. This is useful when you want the agent to dynamically decide what’s important rather than mapping specific fields.
Use raw data mode when your trigger returns many fields and you want the agent to interpret them flexibly, or when you’re prototyping and don’t want to set up a structured prompt yet.

Supported server types

AI triggers work with three types of MCP servers:

Built-in integrations

Gumloop’s built-in MCP servers (Gmail, Slack, GitHub, Salesforce, Airtable, HubSpot, Linear, Jira, Google Calendar, and 70+ more). Connect from your agent’s Tools page.

External MCP servers

Any third-party MCP-compatible server (e.g., Notion’s MCP at mcp.notion.com, Stripe’s MCP at mcp.stripe.com). Connect via the Custom MCP option in your agent’s Tools.

Hosted MCP servers

Custom MCP servers deployed through Gumloop’s Hosted MCPs infrastructure. These are organization-managed servers configured in Settings → Organization → Hosted MCPs.
A single trigger can combine servers of different types. For example, you can build a trigger that polls a built-in Gmail server and an external Stripe MCP server in the same check.

AI triggers vs. pre-built triggers vs. scheduled triggers


Troubleshooting

Common causes:
  • The check may be waiting for new data rather than matching existing records. Create a test event in the monitored service, then use Test Now to verify.
  • The poll frequency is longer than expected (check if it was set to hourly/daily instead of every 5 minutes).
  • The trigger condition is too specific and no data matches.
The check may be treating existing data as new. Deactivate the trigger to stop repeated runs, then ask the agent to fix its duplicate detection and test it before reactivating. The circuit breaker only applies after repeated concurrency blocks, not simply because every check fires.
Make sure the required integrations are connected and authenticated:
  1. Go to your Connectors page and verify the service is connected
  2. In the Agent tab, expand Connectors and verify the required service is added
  3. Refresh the affected connector from its account menu
Two common reasons:
  • Circuit breaker: The trigger was blocked by your concurrency limit 100 times in a row. Make it fire less often, then re-enable.
  • Failed runs: The trigger failed 3 runs in a row. Fix the cause, then re-enable. Running out of credits does not deactivate a trigger. Gumloop skips its checks until credits are available again.
The error message from the sandbox will tell you what went wrong. Common issues:
  • Auth errors: Authorization expired or permissions changed. Refresh the affected connector.
  • API errors: Read the returned error, then correct the request or check the connector permissions.
  • Code errors: Ask your agent to fix the check, then use Test Now before reactivating it.
No. Trigger code is managed by the AI agent. To change the trigger’s behavior, describe what you want differently and the agent will rebuild the trigger. You can update the name, prompt, and poll frequency without rebuilding.

FAQ

No. Describe the condition in plain language, and the agent writes and tests the check for you. Review the proposed behavior, polling costs, and any approval requests before activation.
Yes. Custom agents can create AI triggers when AI Managed is on in the Triggers section. Gumball, your personal agent, has this enabled by default.
The trigger data is injected into the prompt template you configured, and the agent receives it as a new message. The agent then processes the prompt and takes whatever action you specified (reply to email, post to Slack, update a spreadsheet, etc.).
Yes. This is one of the main advantages of AI triggers. A single trigger can poll Gmail, check Salesforce, and verify data in Airtable: all in one check cycle.
The agent writes change-detection logic for your condition. Test with representative events to check that new events fire and previously seen events do not repeat. Ask the agent to revise the logic if it misses an event or repeats an alert.
No. Triggers are strictly read-only. They can poll and read data, but cannot create, update, or delete anything. All write actions happen through the agent after the trigger fires.
100 active triggers per user per agent. This limit includes all trigger types (AI-created, pre-built integration triggers, scheduled triggers, and webhooks). Inactive triggers do not count.
Yes. Describe what you want to monitor, and the agent can build and test the trigger, then request approval to create it. You do not need to use the + Trigger menu.
Either go to the Triggers section and click Deactivate or Delete, or tell your agent “pause the [trigger name]” or “delete the [trigger name]” in chat.

Agent triggers

Pre-built event-based triggers and scheduled triggers

Agent skills

Teach your agent reusable processes

Custom MCP servers

Connect external MCP servers to your agent