Microsoft Dynamics GP and Slack integration
Microsoft Dynamics GP holds your financial records. Slack holds your team conversations. Connecting the two brings purchase and invoice events directly into the channels where purchasing and finance teams work, without requiring anyone to log into Dynamics GP or manually copy-paste approval details. New invoices, approved purchase orders, and GL journal entries post to Slack as they change state, with full details attached so the team can review and act without leaving Slack.
What moves between them
The integration polls Dynamics GP on a configurable schedule (typically daily or on-demand) for payables invoices, purchase orders, GL journal entries, and vendor records. For each new or modified record, ml-connector posts a structured message to a designated Slack channel with the key details (vendor name, invoice number, amount, due date for invoices; PO number, line count, total amount for purchase orders). Messages include an approval status or posting state so the team knows what action, if any, is needed. No data flows from Slack back to Dynamics GP; all writes are read-only pull from the ERP.
How ml-connector handles it
ml-connector stores the Windows domain credentials for Dynamics GP in encrypted vault and presents them on each REST or SOAP call using Negotiate authentication. For Slack, it stores the OAuth2 bot token encrypted and passes it as a Bearer header on every api.postMessage or conversations.list call. The connector polls Dynamics GP at the customer-defined interval using the SBA REST endpoint with ModifiedDate filters to find only records that have changed since the last poll, respecting the requirement that posted GL journal entries are read-only and unposted transactions are excluded from the visibility check. On the Slack side, it constructs rich message blocks with vendor details, posting state, and linked references, then posts to the target channel while respecting the 1-post-per-second rate limit by queuing multiple invoices or orders into a single message when necessary. If Dynamics GP returns a 401 (auth failure), ml-connector refreshes the domain session; if Slack returns 429 (rate limit), it backs off and retries. Every record move carries an audit trail with the timestamp, source record ID, and Slack message reference ID.
A real-world example
A mid-sized manufacturing company runs Dynamics GP for accounts payable and general ledger on Windows Server, and uses Slack as the team communication hub. The AP team receives hundreds of invoices per week from dozens of vendors, and before the integration, someone had to check Dynamics GP manually to find invoices awaiting approval, then message the team in Slack with the details. With Dynamics GP and Slack connected, each new invoice automatically posts to the accounts-payable channel as soon as it is received and unposted, showing the vendor, amount, due date, and approval hold status. The team now sees all pending invoices in their chat window, can discuss issues or questions right there, and never miss an approval deadline because it was buried in the ERP.
What you can do
- Post new and updated payables invoices to Slack with vendor, amount, due date, and posting status.
- Notify the team when purchase orders are created, approved, or receipt is complete, with line count and total amount.
- Send GL journal entries to designated Slack channels when they are posted, for financial audit trails and real-time ledger visibility.
- Authenticate Dynamics GP using Windows domain credentials and Slack using OAuth2 bot tokens, both stored encrypted.
- Poll Dynamics GP on a schedule, handle rate limits, and maintain a full audit trail of every message posted to Slack.
Questions
- Does Slack receive all Dynamics GP records or just specific document types?
- The integration polls Dynamics GP for payables invoices, purchase orders, GL journal entries, and vendors, posting messages only for the document types you configure. You choose which channels receive which types and can filter by vendor, amount threshold, or posting status. Slack does not receive internal notes or unposted drafts unless you explicitly enable them.
- What happens if the Windows domain account used for Dynamics GP authentication fails or expires?
- If Dynamics GP returns a 401 error, ml-connector logs the failure and skips that poll cycle while alerting you via the audit log. The Windows domain account must be created and maintained by your IT team; ml-connector will resume polling once the account is restored or credentials are updated in the encrypted vault.
- Can Slack send data back into Dynamics GP or trigger approvals?
- No. The integration is read-only from Dynamics GP to Slack. Slack messages are notifications only; approvals and updates must be made in Dynamics GP itself. This design keeps the ERP as the system of record and avoids complex two-way sync issues.
Related integrations
More Microsoft Dynamics GP integrations
Other systems that connect to Slack
Connect Microsoft Dynamics GP and Slack
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started