
Integration Playbooks
Deep-dive guides walk through setup and sample workflows for each integration:Gmail Trigger
Google Calendar Trigger
Google Drive Trigger
OneDrive Trigger
Microsoft Teams Trigger
Salesforce Trigger
Slack Trigger
Zapier Trigger
Trigger Capabilities
With triggers, you can:- Respond to real-time events - Automatically execute workflows when specific conditions are met
- Integrate with external systems - Connect with platforms like Gmail, Outlook, OneDrive, JIRA, Slack, Stripe and more
- Scale your automation - Handle high-volume events without manual intervention
- Maintain context - Access trigger data within your crews and flows
Managing Triggers
Viewing Available Triggers
To access and manage your automation triggers:- Navigate to your deployment in the CrewAI dashboard
- Click on the Triggers tab to view all available trigger integrations

Example of available automation triggers for a Gmail deployment
Enabling and Disabling Triggers
Each trigger can be easily enabled or disabled using the toggle switch:
Enable or disable triggers with toggle
- Enabled (blue toggle): The trigger is active and will automatically execute your deployment when the specified events occur
- Disabled (gray toggle): The trigger is inactive and will not respond to events
Monitoring Trigger Executions
Track the performance and history of your triggered executions:
List of executions triggered by automation
Building Trigger-Driven Automations
Before building your automation, it’s helpful to understand the structure of trigger payloads that your crews and flows will receive.Trigger Setup Checklist
Before wiring a trigger into production, make sure you:- Connect the integration under Tools & Integrations and complete any OAuth or API key steps
- Enable the trigger toggle on the deployment that should respond to events
- Provide any required environment variables (API tokens, tenant IDs, shared secrets)
- Create or update tasks that can parse the incoming payload within the first crew task or flow step
- Decide whether to pass trigger context automatically using
allow_crewai_trigger_context
- Set up monitoring—webhook logs, CrewAI execution history, and optional external alerting
Payload & Crew Examples Repository
We maintain a comprehensive repository with end-to-end trigger examples to help you build and test your automations: This repository contains:- Realistic payload samples for every supported trigger integration
- Ready-to-run crew implementations that parse each payload and turn it into a business workflow
- Multiple scenarios per integration (e.g., new events, updates, deletions) so you can match the shape of your data
Integration | When it fires | Payload Samples | Crew Examples |
---|---|---|---|
Gmail | New messages, thread updates | New alerts, thread updates | new-email-crew.py , gmail-alert-crew.py |
Google Calendar | Event created / updated / started / ended / cancelled | Event lifecycle payloads | calendar-event-crew.py , calendar-meeting-crew.py , calendar-working-location-crew.py |
Google Drive | File created / updated / deleted | File lifecycle payloads | drive-file-crew.py , drive-file-deletion-crew.py |
Outlook | New email, calendar event removed | Outlook payloads | outlook-message-crew.py , outlook-event-removal-crew.py |
OneDrive | File operations (create, update, share, delete) | OneDrive payloads | onedrive-file-crew.py |
HubSpot | Record created / updated (contacts, companies, deals) | HubSpot payloads | hubspot-company-crew.py , hubspot-contact-crew.py , hubspot-record-crew.py |
Microsoft Teams | Chat thread created | Teams chat payload | teams-chat-created-crew.py |
Triggers with Crew
Your existing crew definitions work seamlessly with triggers, you just need to have a task to parse the received payload:Crew and Flow inputs can include
crewai_trigger_payload
. CrewAI automatically injects this payload:- Tasks: appended to the first task’s description by default (“Trigger Payload: ”)
- Control via
allow_crewai_trigger_context
: setTrue
to always inject,False
to never inject - Flows: any
@start()
method that accepts acrewai_trigger_payload
parameter will receive it
Integration with Flows
For flows, you have more control over how trigger data is handled:Accessing Trigger Payload
All@start()
methods in your flows will accept an additional parameter called crewai_trigger_payload
:
Triggering Crews from Flows
When kicking off a crew within a flow that was triggered, pass the trigger payload as it:Troubleshooting
Trigger not firing:- Verify the trigger is enabled
- Check integration connection status
- Check the execution logs for error details
- If you are developing, make sure the inputs include the
crewai_trigger_payload
parameter with the correct payload
CrewAI AMP Trigger Examples
Check them out on GitHub!