How to connect Slack to Microsoft Dynamics 365 Business Central
Short answer
Slack and Business Central connect through Power Automate's Slack connector, Business Central webhooks and API v2.0, or a small Slack app that handles slash commands and interactive buttons. Alerts are easy, approvals need care so the decision lands in the Business Central workflow.
Not every Business Central shop runs on Teams. Engineering, sales or a parent company may standardise on Slack, and the ERP team is asked to push alerts there. The ask is usually modest: tell the channel when a big order lands, when stock hits a threshold, when a customer is blocked.
Nothing in Business Central is Slack-specific, which is both a limitation and a freedom. You build the bridge from events and APIs you control, and you decide how much logic lives in low-code flows versus a hosted app.
The decision that matters is whether Slack is a notification surface or a place where work is done. The first takes an afternoon, the second needs identity mapping and write-back controls.
What teams use it for
Big order and quote alerts
Post to a sales channel when a Sales Order above a threshold is released or a quote converts, with customer, amount and a link to the document.
Stock threshold warnings
A scheduled query on item availability by location posts when stock falls below reorder point and no supply is planned.
Slash command lookups
A command like /bc item 1896-S returns description, inventory by location and next expected receipt, read-only.
Approvals with interactive buttons
Interactive messages for expense or purchase approvals, mapped to the approver's Business Central user so the workflow entry records the right person.
Integration health pings
Failed Job Queue Entries, webhook subscription errors or API throttling events post to an ops channel so admins see problems before users do.
Microsoft Dynamics 365 Business Central integration surface
- Power Automate Business Central connector triggers and actions together with the Slack connector, the quickest path for simple alerts.
- Webhook subscriptions on API v2.0 and OData entities that call your endpoint on create, update and delete, requiring a validation handshake and periodic renewal.
- Custom API pages in AL (APIPublisher, APIGroup, APIVersion) for narrow query endpoints behind slash commands.
- Job Queue Entries and AL event subscribers for scheduled checks and internal events that have no webhook equivalent.
- Entra ID app registration with client credentials for server-to-server calls on SaaS; on-premises, web services with a supported authentication mode for your version.
How it works
- 1
Decide notify versus act
Start with notify-only. Add actions only for use cases where a clear identity and approval path exists.
- 2
Create the Slack app
Define bot scopes, incoming webhooks or the Web API, slash commands and an interactivity endpoint. Install to the workspace and store tokens in a secret manager.
- 3
Connect Business Central events
Use Power Automate for simple triggers, or webhooks into your own service when you need filtering, grouping and retries.
- 4
Format messages for action
Include document number, counterparty, amount and a deep link to the page. One digest per period beats twenty individual posts.
- 5
Map Slack users to Business Central users
Keep a lookup of Slack user ID to Business Central user and approval user setup. Reject interactions from anyone unmapped.
- 6
Write back through the workflow
Send approval decisions through the Business Central approval mechanism or a custom API page that calls it, never a direct field update.
Example flows
Large order announcement
Trigger: A sales order over a set amount is released.
- Webhook or flow trigger fires on the salesOrders change.
- Service filters on status and amount.
- It posts to the sales channel with customer, total and ship date.
Result: The sales and supply teams see big orders immediately and can check capacity early.
Stock lookup by slash command
Trigger: A planner types a command with an item number.
- Slack sends the command to your endpoint, signature verified.
- The service maps the Slack user and calls a custom API page for item availability.
- It replies ephemerally with stock by location and next receipt.
Result: Quick answers without opening the ERP, and no data is visible to the whole channel.
Keeping data on-prem
Slack is a hosted service, so air-gapped sites cannot use it, and some Slack plans have their own data residency terms. For on-premises Business Central, run the bridge service inside your network with outbound HTTPS to Slack and a narrow inbound path for slash commands and interactivity. Keep ERP lookups behind the bridge so Slack never connects to the service tier directly. If free-text questions are supported, a locally hosted open-weight model can interpret them so the question text is not sent to a third-party model.
Security checklist
- Verify Slack request signatures on every inbound call and enforce timestamps to prevent replay.
- Keep bot tokens and the Entra ID client secret in a vault, rotate them and scope them narrowly.
- Use ephemeral replies for sensitive lookups and keep prices and margins out of broad channels.
- Map Slack identities to Business Central users and apply the user's permissions where feasible.
- Log each command and approval with Slack user, Business Central user and document number.
Ways to get it done
Power Automate with Slack connector
Effort: A day or two per alert
Simple alerts for teams already using Power Platform. Mind connector licensing and flow ownership.
Marketplace extension or third-party connector
Effort: Days
Teams that want a managed product. Check what permissions it takes and where data passes.
Custom Slack app with AL extension
Effort: Typically three to six weeks
Slash commands, interactive approvals and on-prem aware design. Built in-house or with Netray.
Pitfalls
- !Slack requires a response within seconds for slash commands, so slow ERP queries need an immediate acknowledgement then a follow-up message.
- !Webhook subscription expiry quietly kills alerts; add renewal and a heartbeat.
- !Channel notifications that expose customer pricing to the wrong audience are a common internal incident.
- !Using one shared service account for all approvals destroys the audit trail.
Frequently asked questions
Is there a native Slack integration for Business Central?
There is no built-in Slack channel in the base application. Common routes are Power Automate with the Slack connector, webhooks to your own service, or a marketplace extension. Verify current options in Microsoft's AppSource listings, since offerings change and vary by region.
Can I approve Business Central documents from Slack?
Yes, with an interactive message whose button calls a service that advances the Business Central approval workflow as the mapped approver. Without identity mapping and workflow write-back, avoid it, since a button that edits fields bypasses approval controls.
Why not just use Teams?
If your company already runs on Microsoft 365, Teams has the tighter native integration. Use Slack when your people actually work there. Mixing both is possible but doubles the notification design and ownership work.
How do I avoid notification spam?
Filter on thresholds and status changes, group exceptions into digests, and send one message per business event rather than per ledger line. Review which channels get what after a month and remove anything nobody acts on.
Does it work with on-premises Business Central?
Yes if your bridge service can reach the service tier and make outbound calls to Slack. Enable web services, choose the supported authentication method for your version, and keep Slack's inbound traffic terminating at the bridge, not at the ERP.
More for Microsoft Dynamics 365 Business Central
Want Slack working on your Microsoft Dynamics 365 Business Central?
A free 30 minute assessment: we map the integration path for your version and setup, and where it should run.
Get a free assessment