Why Connect Slack to Odoo?
Slack is where your team communicates. Odoo is where work happens. When a new lead comes in, an order ships, or a support ticket escalates, someone has to notice and act. Connecting Slack to Odoo pushes the right notifications to the right channels at the right time, eliminating the need to constantly check Odoo for updates.
This integration transforms Slack from a chat tool into an operational command center where sales, support, and operations teams receive actionable alerts from Odoo.
Integration Architecture
Notification Types
| Odoo Event | Slack Channel | Message Content |
|---|---|---|
| New CRM lead | #sales-leads | Lead name, source, contact info, estimated revenue |
| Order confirmed | #orders | Customer, order total, items, delivery date |
| Invoice paid | #finance | Customer, amount, payment method |
| Support ticket created | #support | Customer, subject, priority, SLA deadline |
| Inventory low stock | #warehouse | Product, current qty, reorder point |
| Employee leave request | #hr-approvals | Employee, dates, leave type, approval link |
Connection Methods
- Slack Incoming Webhooks — Simplest approach. Odoo sends formatted messages to Slack webhook URLs via server actions.
- Slack Bot API — Build a custom Slack app with interactive messages, buttons, and slash commands.
- Middleware (Zapier/Make) — No-code solution connecting Odoo triggers to Slack actions.
- Odoo Discuss integration — Some connectors bridge Odoo Discuss channels to Slack channels.
Setup: Webhook Method
1. Create Slack Webhook
- Go to api.slack.com/apps and create a new app
- Enable Incoming Webhooks
- Add a webhook URL for each target channel
- Copy the webhook URL for use in Odoo
2. Configure Odoo Server Actions
- Create a server action (Settings → Technical → Server Actions)
- Set action type to "Execute Python Code"
- Use Python requests library to POST to Slack webhook
- Format message using Slack Block Kit for rich formatting
- Add error handling for failed deliveries
3. Set Up Automation Rules
- Create automation rules that trigger server actions on record events
- New lead created → post to #sales-leads
- Sale order confirmed → post to #orders
- Helpdesk ticket priority changed to urgent → post to #support-escalations
- Invoice payment registered → post to #finance
4. Rich Message Formatting
Use Slack Block Kit for professional notifications:
- Header with event type and icon
- Section blocks with key details (customer, amount, date)
- Action buttons linking back to the Odoo record
- Color coding by priority or status
- Mention specific users for assignment notifications
Advanced: Interactive Slack Bot
Build a Slack app for two-way interaction:
- Slash commands: /odoo-lead, /odoo-order, /odoo-stock to query Odoo from Slack
- Action buttons: Approve leave requests, assign leads, escalate tickets
- Modal dialogs: Create quick tasks or log notes without leaving Slack
- Thread updates: Follow-up notifications in the same thread as the original alert
Common Pitfalls
- Notification fatigue — Too many alerts and people ignore them. Be selective about what triggers notifications.
- Channel sprawl — Create purpose-specific channels, not per-record channels.
- Webhook security — Treat webhook URLs as secrets. Store in Odoo system parameters, not in code.
- Error handling — Slack webhook failures should not block Odoo workflows. Use try/except in server actions.
Getting Started
Deploy Odoo on DeployMonkey and configure Slack webhooks for your most critical business events. Start with 3-5 high-value notifications and expand based on team feedback.