Odoo app for integrating Slack with CRM opportunities and Projects. Automatically create private Slack channels from opportunities and projects, and invite team members.
- Create Slack Channels: Automatically create private Slack channels from CRM opportunities
- Channel Management: View and edit Slack channel IDs directly in the opportunity form
- Send Opportunity Details: Send opportunity information to Slack channels with rich formatting
- Automatic Log Notes: Automatically send log notes to Slack channels when enabled
- Create Slack Channels: Automatically create private Slack channels from projects
- Channel Management: View and edit Slack channel IDs directly in the project form
- Send Project Details: Send project information to Slack channels with rich formatting
- Automatic Log Notes: Automatically send log notes to Slack channels when enabled
- User Management: Add Slack Member IDs to users for automatic channel invitations
- Automatic Invitations: Automatically invite all users with Slack Member IDs to new channels
- Rate Limiting: Built-in handling of Slack API rate limits with automatic retries
- Error Handling: Comprehensive error handling with user-friendly messages
- Bot Validation: Real-time validation ensures channel IDs are only saved when bot is a member
- Copy this app to your Odoo addons directory
- Restart your Odoo server
- Go to Apps menu in Odoo
- Remove the "Apps" filter to show all apps
- Search for "Slack Integration"
- Click Install
- Copy this module to your Odoo addons directory
- Update the apps list: Apps → Update Apps List
- Install via command line:
odoo-bin -i slack_integration -d your_database - Or install via Odoo interface: Apps → Search "Slack Integration" → Install
Note: This app appears in the Apps menu and can be installed/uninstalled like any other Odoo app.
- Go to Slack API Apps
- Click "Create New App" → "From scratch"
- Name your app and select your workspace
- In your app, go to OAuth & Permissions
- Under Bot Token Scopes, add:
channels:write- Create channels and invite userschannels:manage- Manage channelsusers:read- Read user information
- Save Changes
- Install App to Workspace (or reinstall if already installed)
See SLACK_API_PERMISSIONS.md for detailed information.
- After installing the app, copy the Bot User OAuth Token (starts with
xoxb-) - In Odoo, go to Settings → Slack Integration
- Paste the token in the Slack API Key field
- Save
- Go to Settings → Users & Companies → Users
- Open a user
- Go to the Slack tab
- Enter the user's Slack Member ID (starts with
U, e.g.,U1234567890) - Save
To find a user's Slack Member ID:
- In Slack, right-click on a user → View profile → The ID is in the URL or profile details
- Or use the Slack API
users.listmethod
- Open an Opportunity (not a Lead)
- Go to the Slack tab
- Click Create Slack Channel
- The channel will be created with the name:
<opportunity_name>-sales-internal - All users with Slack Member IDs will be automatically invited
- Open an opportunity with a Slack channel configured
- Go to the Slack tab
- Click Send Opportunity to Slack
- The opportunity details (name, stage, revenue, probability, company, salesperson, dates) will be sent to the Slack channel
- Open an opportunity with an existing Slack channel
- Go to the Slack tab
- Click Invite Users to Slack Channel
- All users with Slack Member IDs will be invited
- Open an opportunity
- Go to the Slack tab
- Enable Send Log Notes to Slack
- All log notes posted to the opportunity will automatically be sent to the associated Slack channel
- Open a Project
- Go to the Slack tab
- Click Create Slack Channel
- The channel will be created with the name:
<project_name>-project-internal - All users with Slack Member IDs will be automatically invited
- Open a project with a Slack channel configured
- Go to the Slack tab
- Click Send Project to Slack
- The project details (name, customer, project manager, collaborators, dates, tags) will be sent to the Slack channel
- Open a project with an existing Slack channel
- Go to the Slack tab
- Click Invite Users to Slack Channel
- All users with Slack Member IDs will be invited
- Open a project
- Go to the Slack tab
- Enable Send Log Notes to Slack
- All log notes posted to the project will automatically be sent to the associated Slack channel
- Open an opportunity or project
- Go to the Slack tab
- Enter the Slack Channel ID in the Slack Channel ID field
- The bot membership will be validated automatically
Note:
- Channel IDs should start with
C(for channels) orG(for private groups) - The bot must be a member of the channel before you can save the channel ID
- Success messages from sending to Slack are not sent back to Slack to avoid loops
- Odoo 19.0 or later
- Odoo CRM module (for opportunity integration)
- Odoo Project module (for project integration)
- Python
requestslibrary (usually included with Odoo) - Slack workspace with admin permissions to install apps
- Verify the Slack API key is configured correctly
- Check that the channel ID is valid and starts with
CorG - Ensure the app has
groups:readscope - Check Odoo logs for API errors
- The module automatically handles rate limits with retries
- If you see persistent rate limit errors, reduce the frequency of operations
- Check Slack API rate limits: https://api.slack.com/docs/rate-limits
- Verify the app has
channels:write,channels:manage, andusers:readscopes - Reinstall the app to your workspace after adding scopes
- See SLACK_API_PERMISSIONS.md for details
- Verify users have Slack Member IDs configured
- Check that Member IDs start with
U - Ensure the app has
groups:writescope - Check Odoo logs for invitation errors
- Creates private channels (
is_private: True) - Opportunity channels:
<opportunity_name>-sales-internal - Project channels:
<project_name>-project-internal - Automatically sanitizes names to valid Slack channel names (lowercase, hyphens, underscores only)
- All API calls include retry logic and rate limit handling
- Bot membership validation before saving channel IDs
- Real-time validation with immediate user feedback
- Comprehensive error handling with specific messages for common issues
- Optimized to only search private channels (not public)
- Efficient channel lookup and user invitation batching
- Prevents duplicate notifications (success messages not sent back to Slack)
- Opportunities: Name, stage, expected revenue, probability, company, salesperson, close dates, description
- Projects: Name, customer, project manager, collaborators, start/end dates, tags, description
- Rich formatting using Slack Block Kit for better readability
For issues or questions:
- Review SLACK_API_PERMISSIONS.md for API requirements
- Check Odoo logs for detailed error messages
LGPL-3
Webisoft - https://www.webisoft.com