Overview
The Slack integration allows you to receive notifications from Twenty directly in your Slack channels. Stay informed about important CRM activities without constantly checking Twenty.What You Can Do
With the Twenty Slack integration:- Receive notifications - Get alerts for new leads, deal updates, and more
- Team collaboration - Share CRM updates with your sales team
- Custom alerts - Configure which events trigger Slack messages
- Real-time updates - Stay informed as things happen in Twenty
Use Cases
Sales Team Alerts
Notify your sales channel when new leads come in or deals close
Pipeline Updates
Get updates when opportunities move through your pipeline
Task Reminders
Send reminders for upcoming tasks and follow-ups
Team Mentions
Alert team members when they’re assigned to records
Setting Up the Integration
Using Webhooks
The recommended way to integrate Twenty with Slack is through webhooks and Twenty Workflows.Create a Slack Incoming Webhook
- Go to your Slack workspace settings
- Navigate to Apps > Manage Apps
- Search for “Incoming Webhooks” and add to Slack
- Choose a channel for notifications
- Copy the webhook URL
Create a Workflow in Twenty
- Open Twenty and navigate to Settings > Workflows
- Click Create Workflow
- Name it (e.g., “New Lead Slack Notification”)
Configure the Trigger
- Select a trigger event (e.g., “Record Created”)
- Choose the record type (e.g., “Person”)
- Add filters if needed
Add Webhook Action
- Click Add Action > Send HTTP Request
- Set Method to POST
- Enter your Slack webhook URL
- Configure the message payload (see examples below)
Webhook Payload Format
Slack incoming webhooks expect JSON with specific formatting:Example Notification Workflows
1. New Lead Notification
Trigger: Record Created → PersonAction: Send HTTP Request to Slack Payload:
2. Deal Won Notification
Trigger: Record Updated → Opportunity (when stage = “Closed Won”)Action: Send HTTP Request to Slack Payload:
3. Task Due Soon Reminder
Trigger: Scheduled (Daily at 9 AM)Filter: Tasks due today
Action: Send HTTP Request to Slack Payload:
4. Team Member Assignment
Trigger: Record Updated → Any (when owner changes)Action: Send HTTP Request to Slack Payload:
Customizing Slack Messages
Using Slack Block Kit
Slack’s Block Kit allows rich message formatting:- Headers - Large text for emphasis
- Sections - Formatted text with markdown
- Dividers - Visual separators
- Buttons - Clickable actions
- Images - Inline images
- Context - Small text for metadata
Adding Dynamic Links
Link back to Twenty records:Using Emojis
Add visual interest with Slack emojis::tada:- New leads:moneybag:- Deals won:fire:- Hot prospects:alarm_clock:- Reminders:chart_with_upwards_trend:- Progress updates
Advanced Configuration
Notification Channels by Event Type
Route different notifications to different channels:- Create multiple workflows with different triggers
- Use separate webhook URLs for each channel
- Configure appropriate filters for each
#sales-leads- New person records#sales-wins- Deals marked as won#sales-pipeline- All deal stage changes
Conditional Notifications
Use workflow filters to send notifications only when:- Deal amount exceeds a threshold
- Lead source matches specific criteria
- Owner is a specific team member
- Custom field values meet conditions
Batching Notifications
Avoid notification spam:- Use scheduled triggers instead of real-time
- Create digest workflows that run daily/weekly
- Aggregate multiple records into single messages
Slack App Integration (Coming Soon)
A native Twenty Slack app is in development with features like:- Slash commands to search and create records
- Unfurling of Twenty links in Slack
- Interactive buttons and forms
- Direct messages for personal notifications
Interested in the native Slack app? Join the discussion on GitHub or vote for this feature.
Troubleshooting
Messages Not Appearing
If Slack messages aren’t being sent:- Verify webhook URL - Ensure it’s correct and active
- Check workflow status - Confirm the workflow is active
- Review trigger conditions - Make sure events match your filters
- Test the webhook - Use curl to test directly:
- Check Twenty logs - Look for errors in workflow execution
Invalid Payload Errors
If you see “invalid_payload” errors:- Validate your JSON syntax
- Ensure all brackets and quotes are balanced
- Test your payload in Slack’s Block Kit Builder
- Check that field variables exist in your records
Webhook URL Expired
Slack webhook URLs can be revoked:- Verify the webhook is still active in Slack settings
- Generate a new webhook URL if needed
- Update the URL in your Twenty workflows
Rate Limiting
Slack rate limits incoming webhooks:- Limit: ~1 message per second
- If exceeded: Messages may be dropped
- Solution: Use batching or scheduled workflows
Security Considerations
- Messages sent to Slack are visible to channel members
- Avoid sending sensitive data like payment information
- Use private channels for confidential notifications
- Consider data privacy regulations (GDPR, CCPA)
Best Practices
- Be selective - Only notify on important events
- Use appropriate channels - Route notifications to relevant teams
- Format clearly - Use Block Kit for readable messages
- Include actions - Add buttons to link back to Twenty
- Test thoroughly - Verify messages before activating workflows
- Monitor volume - Adjust if notifications become overwhelming
Alternative Integration Methods
Using Zapier
You can also connect Twenty to Slack via Zapier:- Create a Zap with Twenty as trigger
- Add Slack as action
- Configure message format
- No webhook management
- Visual workflow builder
- Additional transformation options
Using Make (Integromat)
Connect through Make for advanced scenarios:- Use Twenty’s GraphQL API
- Add Slack module
- Build complex logic flows
Need Help?
Get help with Slack integration on our Discord.
