Some connected apps can fire a trigger directly off an event that happens inside them, without you building a raw webhook yourself. Swan wires up the connection on your behalf — a webhook it registers with the app, or a native app subscription — so you just pick the event you want and the trigger fires with structured, app-specific data already attached.Whether an app supports this depends on the app: some only expose tools Swan can call (read data, take actions), while others also expose events Swan can react to. The set grows over time, so the current list is whatever shows an event option when you create a trigger (Triggers → New trigger) — or just ask Swan “which apps can trigger an automation?” As of writing it spans roughly 19 apps, including CRMs (Salesforce, Pipedrive, Attio), meeting and call tools (Fathom, Fireflies, Zoom, Calendly, Google Calendar), Google Workspace (Docs, Sheets), support (Zendesk), and outbound/marketing tools (Instantly, ActiveCampaign, Mailchimp), among others like Airtable, Notion, Linear, Stripe, and Productboard.
An app event trigger can carry event filters: conditions on fields of the incoming event, combined with All (every condition must match) or Any (one match is enough) logic. You set them up when creating the trigger or later from its configuration card (open the trigger from Triggers, then Configure) — pick a field from the event’s schema, an operator (equals, contains, greater than, exists, and so on), and a value. Fields inside lists work too (say, an attendee email on a calendar event), where each list entry is checked independently.Events that don’t match your filter are dropped before anything runs — they don’t start a run, don’t appear in run history, and don’t cost any credits.
The app has to be connected to your organization first — connect it from agent.getswan.com/tools (see connected apps for details). If the connection is lost later (an expired token, a revoked authorization), the trigger stops firing until you reconnect it.
On v1 (per-action credits), each app event fires for 1 credit as a flat fee, plus whatever the run’s own actions cost. Some apps may define a different flat fee for their specific events. On v2 (data and intelligence credits), app events have no fee; the run pays for the intelligence and data credits it uses. See credits for how action costs are calculated.
My app isn’t listed as having event triggers — can I still react to it?
If the app is connected but doesn’t support event triggers directly, check whether it can send a webhook you point at a webhook trigger instead — many apps that lack native event support in Swan’s catalog still have generic outgoing webhooks you can wire up yourself.Does disconnecting the app pause the trigger, or delete it?
Disconnecting the app stops new events from arriving, but the trigger itself isn’t deleted — reconnecting the app resumes it.Can one app event trigger cover multiple event types from the same app, like both “record created” and “record updated”?
Each event type is its own trigger source — set up a separate trigger per event type you want to react to differently. Within one event type, use event filters to narrow which events actually fire the trigger.Do app event triggers show up differently in monitoring than webhook triggers?
No — runs from app events appear alongside all your other trigger runs in monitoring runs, tagged with the app they came from.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Swan","colors":{"primary":"#FF4433","light":"#FF7A66","dark":"#D6382A"},"logo":{"light":"https://mintcdn.com/swan-3b714839/41ih7x4FEanI0A9V/logo.svg?fit=max\u0026auto=format\u0026n=41ih7x4FEanI0A9V\u0026q=85\u0026s=cae4189148760b354d3740a305af6795","dark":"https://mintcdn.com/swan-3b714839/41ih7x4FEanI0A9V/logo-dark.svg?fit=max\u0026auto=format\u0026n=41ih7x4FEanI0A9V\u0026q=85\u0026s=d5f21a7c9487de16bc3fbc3eb3e6e8de"},"favicon":{"light":"https://mintcdn.com/swan-3b714839/Ri__wz64ie1gAaau/favicon.svg?fit=max\u0026auto=format\u0026n=Ri__wz64ie1gAaau\u0026q=85\u0026s=c94f174bba4c337d111d07c0bc19302f","dark":"https://mintcdn.com/swan-3b714839/Ri__wz64ie1gAaau/favicon-dark.svg?fit=max\u0026auto=format\u0026n=Ri__wz64ie1gAaau\u0026q=85\u0026s=18322ce2f69d29177c808dd6a1f8384f"},"background":{"decoration":"gradient"},"navbar":{"links":[{"href":"https://getswan.com","label":"Website"}],"primary":{"type":"button","label":"Open Swan","href":"https://agent.getswan.com"}},"footer":{"socials":{"website":"https://getswan.com","linkedin":"https://www.linkedin.com/company/swan-ai-gtm"}},"fonts":{"heading":{"family":"Manrope"},"body":{"family":"Inter"}},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","codeblocks":"dark","latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"swan-3b714839","hasAudioNarration":false,"actualSubdomain":"swan-3b714839","customDomains":["docs.getswan.com"],"gitSource":{"type":"github","owner":"swan-gtm","repo":"gptest-backend","deployBranch":"staging","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad0e88d179861afef86fa41","collectionId":"e8f13cc9-75f2-45b5-8800-c1896b08c483","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad0e88d179861afef86fa41"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ad5e7f2a1e26a9e5609016a","clientVersion":"0.0.3883","searchFilterCounts":[{"language":"default","tag":"Triggers","count":14},{"language":"default","tag":"Outreach","count":10},{"language":"default","tag":"Trigger Types","count":9},{"language":"default","tag":"Integrations","count":7},{"language":"default","tag":"Data","count":6},{"language":"default","tag":"Administration","count":5},{"language":"default","tag":"Workspace","count":5},{"language":"default","tag":"Getting Started","count":4},{"language":"default","tag":"Reference","count":4},{"language":"default","tag":"Knowledge \u0026 Skills","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-branches-v2-autocommit","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-branches-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"teamspace","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"client-snapshot-docs-config","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"triggers/app-events","slug":"/triggers/app-events","pageMetadata":{"title":"App event triggers","description":"Fire a trigger from an event in a connected third-party app, like a call recording being processed.","questions":["Can Swan trigger an action when something happens in a connected app, like a call recording or a form submission?","Do I need to connect an app before I can build a trigger off its events?","What apps can fire a trigger in Swan today?","Are app event triggers billed differently than webhook triggers?","Can I filter which app events actually fire the trigger?"],"sources":["src/externalApis/composio/definitions/providers/fathom.ts","src/externalApis/composio/definitions/providers/activeCampaign.ts","src/externalApis/composio/definitions/providers/attio.ts","src/externalApis/composio/definitions/providers/instantly.ts","src/lambdas/webhookTriggerHandler/handler.ts","src/lambdas/swanGtmInngest/runWebhookTrigger/runWebhookTrigger.func.ts","frontend:src/features/triggers/components/trigger-event-filters-section.tsx","frontend:src/features/triggers/pages/trigger/components/trigger-config-card.tsx","frontend:src/features/triggers/pages/new/components/new-trigger-config-card.tsx","frontend:src/routes/tools/index.tsx"],"lastVerified":"2026-07-19T00:00:00.000Z","href":"/triggers/app-events"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Fire a trigger from an event in a connected third-party app, like a call recording being processed.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading}=_components;if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`what-it-does`,children:`What it does`}),`\n`,_jsxs(_components.p,{children:[`Some `,_jsx(_components.a,{href:`/integrations/built-in-integrations`,children:`connected apps`}),` can fire a trigger directly off an event that happens inside them, without you building a raw webhook yourself. Swan wires up the connection on your behalf — a webhook it registers with the app, or a native app subscription — so you just pick the event you want and the trigger fires with structured, app-specific data already attached.`]}),`\n`,_jsxs(_components.p,{children:[`Whether an app supports this depends on the app: some only expose tools Swan can call (read data, take actions), while others also expose events Swan can react to. The set grows over time, so the current list is whatever shows an event option when you create a trigger (`,_jsxs(_components.strong,{children:[_jsx(_components.a,{href:`https://agent.getswan.com/triggers`,children:`Triggers`}),` → New trigger`]}),`) — or just ask Swan “which apps can trigger an automation?” As of writing it spans roughly 19 apps, including CRMs (Salesforce, Pipedrive, Attio), meeting and call tools (Fathom, Fireflies, Zoom, Calendly, Google Calendar), Google Workspace (Docs, Sheets), support (Zendesk), and outbound/marketing tools (Instantly, ActiveCampaign, Mailchimp), among others like Airtable, Notion, Linear, Stripe, and Productboard.`]}),`\n`,_jsx(Heading,{level:`2`,id:`filtering-which-events-fire`,children:`Filtering which events fire`}),`\n`,_jsxs(_components.p,{children:[`An app event trigger can carry `,_jsx(_components.strong,{children:`event filters`}),`: conditions on fields of the incoming event, combined with All (every condition must match) or Any (one match is enough) logic. You set them up when creating the trigger or later from its configuration card (open the trigger from `,_jsx(_components.a,{href:`https://agent.getswan.com/triggers`,children:`Triggers`}),`, then Configure) — pick a field from the event’s schema, an operator (equals, contains, greater than, exists, and so on), and a value. Fields inside lists work too (say, an attendee email on a calendar event), where each list entry is checked independently.`]}),`\n`,_jsx(_components.p,{children:`Events that don’t match your filter are dropped before anything runs — they don’t start a run, don’t appear in run history, and don’t cost any credits.`}),`\n`,_jsx(Heading,{level:`2`,id:`requirements`,children:`Requirements`}),`\n`,_jsxs(_components.p,{children:[`The app has to be connected to your organization first — connect it from `,_jsx(_components.a,{href:`https://agent.getswan.com/tools`,children:`agent.getswan.com/tools`}),` (see `,_jsx(_components.a,{href:`/integrations/built-in-integrations`,children:`connected apps`}),` for details). If the connection is lost later (an expired token, a revoked authorization), the trigger stops firing until you reconnect it.`]}),`\n`,_jsx(Heading,{level:`2`,id:`cost`,children:`Cost`}),`\n`,_jsxs(_components.p,{children:[`On v1 (per-action credits), each app event fires for 1 credit as a flat fee, plus whatever the run’s own actions cost. Some apps may define a different flat fee for their specific events. On v2 (data and intelligence credits), app events have no fee; the run pays for the intelligence and data credits it uses. See `,_jsx(_components.a,{href:`/administration/credits`,children:`credits`}),` for how action costs are calculated.`]}),`\n`,_jsx(Heading,{level:`2`,id:`common-questions`,children:`Common questions`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`My app isn’t listed as having event triggers — can I still react to it?`}),`\nIf the app is connected but doesn’t support event triggers directly, check whether it can send a webhook you point at a `,_jsx(_components.a,{href:`webhook`,children:`webhook trigger`}),` instead — many apps that lack native event support in Swan’s catalog still have generic outgoing webhooks you can wire up yourself.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Does disconnecting the app pause the trigger, or delete it?`}),`\nDisconnecting the app stops new events from arriving, but the trigger itself isn’t deleted — reconnecting the app resumes it.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Can one app event trigger cover multiple event types from the same app, like both “record created” and “record updated”?`}),`\nEach event type is its own trigger source — set up a separate trigger per event type you want to react to differently. Within one event type, use event filters to narrow which events actually fire the trigger.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Do app event triggers show up differently in monitoring than webhook triggers?`}),`\nNo — runs from app events appear alongside all your other trigger runs in `,_jsx(_components.a,{href:`monitoring-runs`,children:`monitoring runs`}),`, tagged with the app they came from.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"App event triggers","description":"Fire a trigger from an event in a connected third-party app, like a call recording being processed.","questions":["Can Swan trigger an action when something happens in a connected app, like a call recording or a form submission?","Do I need to connect an app before I can build a trigger off its events?","What apps can fire a trigger in Swan today?","Are app event triggers billed differently than webhook triggers?","Can I filter which app events actually fire the trigger?"],"sources":["src/externalApis/composio/definitions/providers/fathom.ts","src/externalApis/composio/definitions/providers/activeCampaign.ts","src/externalApis/composio/definitions/providers/attio.ts","src/externalApis/composio/definitions/providers/instantly.ts","src/lambdas/webhookTriggerHandler/handler.ts","src/lambdas/swanGtmInngest/runWebhookTrigger/runWebhookTrigger.func.ts","frontend:src/features/triggers/components/trigger-event-filters-section.tsx","frontend:src/features/triggers/pages/trigger/components/trigger-config-card.tsx","frontend:src/features/triggers/pages/new/components/new-trigger-config-card.tsx","frontend:src/routes/tools/index.tsx"],"lastVerified":"2026-07-19T00:00:00.000Z","href":"/triggers/app-events"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What it does","slug":"what-it-does","depth":2,"children":[]},{"title":"Filtering which events fire","slug":"filtering-which-events-fire","depth":2,"children":[]},{"title":"Requirements","slug":"requirements","depth":2,"children":[]},{"title":"Cost","slug":"cost","depth":2,"children":[]},{"title":"Common questions","slug":"common-questions","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"swan-3b714839","siteName":"Swan","title":"App event triggers - Swan","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-08T12:14:47.158Z","originalFileLocation":"triggers/app-events.md"},"headHtml":"\u003cmeta data-mint-head name=\"description\" content=\"Fire a trigger from an event in a connected third-party app, like a call recording being processed.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Swan\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/swan-3b714839/FyJ1I4tm4urs5puI/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/swan-3b714839/FyJ1I4tm4urs5puI/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/swan-3b714839/FyJ1I4tm4urs5puI/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/swan-3b714839/FyJ1I4tm4urs5puI/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/swan-3b714839/FyJ1I4tm4urs5puI/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/swan-3b714839/FyJ1I4tm4urs5puI/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/swan-3b714839/FyJ1I4tm4urs5puI/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/swan-3b714839/FyJ1I4tm4urs5puI/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/swan-3b714839/FyJ1I4tm4urs5puI/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"App event triggers - Swan\">\u003cmeta data-mint-head property=\"og:description\" content=\"Fire a trigger from an event in a connected third-party app, like a call recording being processed.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Swan\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.getswan.com/triggers/app-events\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"App event triggers - Swan\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Fire a trigger from an event in a connected third-party app, like a call recording being processed.\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/swan-3b714839/FyJ1I4tm4urs5puI/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Swan\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF4433\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.getswan.com/triggers/app-events\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/triggers/app-events.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.getswan.com/#organization\",\"name\":\"Swan\",\"url\":\"https://docs.getswan.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/swan-3b714839/41ih7x4FEanI0A9V/logo.svg?fit=max\u0026auto=format\u0026n=41ih7x4FEanI0A9V\u0026q=85\u0026s=cae4189148760b354d3740a305af6795\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.getswan.com#website\",\"name\":\"Swan\",\"url\":\"https://docs.getswan.com\",\"publisher\":{\"@id\":\"https://docs.getswan.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.getswan.com/triggers/app-events#webpage\",\"url\":\"https://docs.getswan.com/triggers/app-events\",\"name\":\"App event triggers\",\"description\":\"Fire a trigger from an event in a connected third-party app, like a call recording being processed.\",\"dateModified\":\"2026-10-08T12:14:47.158Z\",\"isPartOf\":{\"@id\":\"https://docs.getswan.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.getswan.com/triggers/app-events#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.getswan.com/triggers/app-events#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Triggers\",\"item\":\"https://docs.getswan.com/triggers/how-triggers-work\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Trigger Types\",\"item\":\"https://docs.getswan.com/triggers/schedule\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"App event triggers\",\"item\":\"https://docs.getswan.com/triggers/app-events\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.getswan.com/triggers/app-events#article\",\"headline\":\"App event triggers\",\"name\":\"App event triggers\",\"description\":\"Fire a trigger from an event in a connected third-party app, like a call recording being processed.\",\"url\":\"https://docs.getswan.com/triggers/app-events\",\"mainEntityOfPage\":{\"@id\":\"https://docs.getswan.com/triggers/app-events#webpage\"},\"dateModified\":\"2026-10-08T12:14:47.158Z\",\"publisher\":{\"@id\":\"https://docs.getswan.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.getswan.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Swan\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Swan","nav":{"global":null,"groups":[{"group":"Getting Started","pages":[{"title":"Quickstart","href":"/getting-started/quickstart"},{"title":"What Swan is","href":"/getting-started/what-swan-is"},{"title":"Core concepts","href":"/getting-started/core-concepts"},{"title":"How Swan runs your work","href":"/getting-started/how-swan-runs-your-work"}]},{"group":"Outreach","pages":[{"title":"How sequences work","href":"/outreach/how-sequences-work"},{"title":"Campaigns","href":"/outreach/campaigns"},{"title":"Scheduling and cadence","href":"/outreach/scheduling-and-cadence"},{"title":"Sending limits","href":"/outreach/sending-limits"},{"title":"Replies and stop conditions","href":"/outreach/replies-and-stop-conditions"},{"title":"Approvals for outreach","href":"/outreach/approvals"},{"title":"Inboxes","href":"/outreach/senders-and-connected-accounts"},{"title":"LinkedIn outreach","href":"/outreach/linkedin-outreach"},{"title":"Email tracking and deliverability","href":"/outreach/email-tracking-and-deliverability"},{"title":"Writing and personalization","href":"/outreach/writing-and-personalization"}]},{"group":"Triggers","pages":[{"title":"How triggers work","href":"/triggers/how-triggers-work"},{"title":"Monitoring trigger runs","href":"/triggers/monitoring-runs"},{"group":"Trigger Types","pages":[{"title":"Schedule triggers","href":"/triggers/schedule"},{"title":"Webhook triggers","description":"Fire a trigger from any external system that can send a POST request.","href":"/triggers/webhook"},{"title":"App event triggers","href":"/triggers/app-events"},{"title":"HubSpot workflow","description":"Fire a trigger from a HubSpot workflow, with optional filters on which enrolled records qualify.","href":"/triggers/hubspot-workflow"},{"title":"LinkedIn engagement","href":"/triggers/linkedin-engagement"},{"title":"Business events","href":"/triggers/business-events"},{"title":"Bombora intent","href":"/triggers/bombora-intent"},{"title":"Website Changes","href":"/triggers/website-changes"},{"title":"Message received","href":"/triggers/message-received"}]},{"group":"Website Visitors","pages":[{"title":"Tracking script","href":"/triggers/website-visitors/tracking-script"},{"title":"Visitor identification","href":"/triggers/website-visitors/visitor-identification"},{"title":"Replacing a visitor identification tool","href":"/triggers/website-visitors/replacing-visitor-id-tools"}]}]},{"group":"Data","pages":[{"title":"Companies and contacts","href":"/data/companies-and-contacts"},{"title":"Swan vs. your CRM","href":"/data/swan-vs-your-crm"},{"title":"ICP, personas, and the funnel","href":"/data/icp-personas-and-funnel"},{"title":"Tags, lists, and exclusions","href":"/data/tags-lists-and-exclusions"},{"title":"Enrichment","href":"/data/enrichment"},{"title":"Prospecting","href":"/data/prospecting"}]},{"group":"Integrations","pages":[{"title":"HubSpot","href":"/integrations/hubspot"},{"title":"Salesforce","href":"/integrations/salesforce"},{"title":"Slack","href":"/integrations/slack"},{"title":"Integrations catalog","href":"/integrations/built-in-integrations"},{"title":"Custom MCP servers","href":"/integrations/custom-mcp-servers"},{"title":"Direct API access","href":"/integrations/direct-api-access"},{"title":"Connect your agent to Swan","href":"/integrations/connect-your-agent-to-swan"}]},{"group":"Knowledge \u0026 Skills","pages":[{"title":"Org knowledge","href":"/knowledge-and-skills/org-knowledge"},{"title":"Memory","href":"/knowledge-and-skills/memory"},{"title":"Skills","href":"/knowledge-and-skills/skills"}]},{"group":"Workspace","pages":[{"title":"Chat and approvals","href":"/workspace/chat-and-approvals"},{"title":"Desk and tasks","href":"/workspace/desk-and-tasks"},{"title":"Executions and history","href":"/workspace/executions-and-history"},{"title":"Analytics","href":"/workspace/analytics"},{"title":"Apps","href":"/workspace/apps"}]},{"group":"Administration","pages":[{"title":"Roles and permissions","href":"/administration/roles-and-permissions"},{"title":"Members, seats, and sign-up","href":"/administration/members-seats-and-signup"},{"title":"Plans and billing","href":"/administration/plans-and-billing"},{"title":"Credits","href":"/administration/credits"},{"title":"Secrets and credentials","href":"/administration/api-keys-and-secrets"}]},{"group":"Security \u0026 Privacy","pages":[{"title":"Security","href":"/security-and-privacy/security"},{"title":"Data privacy","href":"/security-and-privacy/data-privacy"},{"title":"AI behavior and guardrails","href":"/security-and-privacy/ai-behavior-and-guardrails"}]},{"group":"Reference","pages":[{"title":"App map","href":"/reference/app-map"},{"title":"Limits","href":"/reference/limits"},{"title":"Credit costs","href":"/reference/credit-costs"},{"title":"Statuses","href":"/reference/statuses"}]}]},"title":"App event triggers - Swan","buildId":"dpl_37ZDLJcyt8yhrTVF6LiYvX7LvmXB","deploymentId":"dpl_37ZDLJcyt8yhrTVF6LiYvX7LvmXB","dynamics":[],"chunks":[]}