App Event
The App Event trigger fires when something happens in a connected third-party app: a new Slack message, a Stripe payment, a GitHub PR, a Gmail email, or any event from 100+ supported integrations.
Internal name: Integration
Node color: Navy (#1C3693)
Setting it up
The App Event trigger has a 3-step configuration flow:
Step 1: Pick an app
A search input and grid of popular apps appears:
Popular apps shown by default: Slack, Stripe, GitHub, HubSpot, Notion, Google Sheets, Gmail, Google Drive, Google Calendar, Salesforce, Microsoft Outlook, Microsoft Teams, X/Twitter
Type to search all 100+ integrations, or click View all to browse the full list.
Step 2: Pick a trigger event
After selecting an app, you see a list of available trigger events filtered to that app. Each event shows its name and description.
Example Slack trigger events:
- New Message: fires when a new message is posted in a channel
- Reaction Added: fires when someone adds an emoji reaction
- Member Joined Channel: fires when a user joins a channel
- App Mentioned: fires when someone mentions your app
Example Stripe trigger events:
- Charge Succeeded: fires on successful payment
- Invoice Created: fires when a new invoice is generated
- Customer Created: fires when a new customer is added
Only events annotated as triggers appear; actions for the same app are shown separately as "related operations."
If an app shows "No triggers are available for this app yet," it means the app only has actions: you can't use it as a trigger, but you can use it in downstream action nodes.
Step 3: Connect your account
The Connection Manager opens with the OAuth or API key flow for the selected app:
- OAuth2 apps (Slack, Gmail, HubSpot, etc.): click Connect, sign into the app, grant permissions
- API key apps (Stripe, SendGrid, OpenAI): paste your API key from the app's developer settings
- Manual setup webhooks (some apps): no account needed, you get a webhook URL to paste into the app's settings
Configure tab
After connecting, the Configure tab may show additional options depending on the integration:
- Branded webhook panel: for manual-setup integrations, shows a branded webhook URL with provider-specific setup instructions
- Dynamic form fields: some integrations have configurable inputs (e.g., which Slack channel to listen on, which Stripe event types to filter)
- No configuration needed: some triggers fire automatically for all events once connected
Output variables
Each integration produces different output variables based on the event. Common patterns:
| App | Event | Example variables |
|---|---|---|
| Slack | New Message | {{trigger.channel}}, {{trigger.text}}, {{trigger.user}} |
| Stripe | Charge Succeeded | {{trigger.amount}}, {{trigger.currency}}, {{trigger.customer}} |
| GitHub | Pull Request Opened | {{trigger.title}}, {{trigger.body}}, {{trigger.author}} |
| Gmail | New Email | {{trigger.from}}, {{trigger.subject}}, {{trigger.body}} |
The exact variables depend on the app and event. Check the output in the execution history after a test run.
Validation
- An integration (app) must be selected
- A trigger event must be selected
- An account connection is required (except for manual-setup webhooks)
Common patterns
Slack → action pipeline
App Event (Slack: New Message in #support) → AI Analyzer (classify intent) → If-Else → Route to team
Stripe → notification
App Event (Stripe: Charge Succeeded) → Send Slack message ("New payment: ${{trigger.amount}}")
GitHub → workflow
App Event (GitHub: PR Opened) → AI Writer (draft review comments) → HTTP Request (post review to GitHub API)
After connecting an app, trigger a real event (send a Slack message, create a test Stripe charge) to see the exact output variables. The execution history shows the full payload.