MYOB and Slack integration
MYOB runs your accounting in Australia and New Zealand. Slack runs your team communication. Connecting the two surfaces critical accounting events in real time so your finance and operations teams see bill approvals, invoice payments, and GL journal posts without checking MYOB constantly. New purchase orders, supplier payments, and customer invoice changes appear as formatted messages in designated Slack channels, keeping everyone aligned on cash flow and GL activity without cluttering email.
What moves between them
The main flow is MYOB into Slack. Bills, invoices, purchase orders, supplier payments, customer payments, and GL journal entries are polled from MYOB and posted as formatted messages into Slack channels designated by your team. Each record type is routed to its own channel so finance, operations, and AR/AP teams see only the events they need. The sync runs on a schedule you control, typically every 15 or 30 minutes during business hours, aligned with your accounting workflow. Slack acknowledgments and reactions are logged in the audit trail but do not flow back into MYOB.
How ml-connector handles it
ml-connector stores MYOB API credentials and company file passwords encrypted. On every poll cycle, it refreshes the OAuth2 bearer token, then calls the MYOB Business API with the company file credentials and API key in the required headers. It retrieves records modified since the last sync using OData $filter on LastModified timestamps and maps each record type (Bill, Invoice, SupplierPayment, etc.) to a message template. Before posting to Slack, ml-connector formats the message with invoice amounts, GL account codes, job codes, and contact names from the retrieved records. Each Slack post uses chat.postMessage with the bot token, and ml-connector captures the returned ts (timestamp) and channel ID in the audit trail for message tracking. On Slack's side, webhook signature verification is performed with constant-time HMAC-SHA256 comparison using the signing secret. If MYOB returns HTTP 429 for rate limit, ml-connector backs off exponentially and retries. If a Slack post fails, the record is marked for replay on the next cycle.
A real-world example
A mid-sized Australian consulting and contracting firm runs MYOB for accounting and uses Slack for team coordination across four offices. The finance team processes 80 to 100 bills per week from vendors and 40 to 60 customer invoices per cycle, and the operations team manages job codes and cost allocations across projects. Before the integration, the operations manager had to log into MYOB several times daily to check approval status on large bills and verify job allocations were correct before posting GL entries, and the project leads had no visibility into invoice payment status without emailing finance. With MYOB and Slack connected, every bill posted by a vendor flows into the finance-bills channel with supplier name, amount, GL account, and job code, and every customer invoice payment is posted to operations-cash-flow. Project leads now see invoice status immediately in their project channels, and the finance manager catches GL posting errors in real time before they compound in month-end reconciliation.
What you can do
- Post MYOB bill and invoice events to Slack channels with supplier name, amount, GL account, and job code.
- Stream purchase orders and supplier payments to designated channels so your operations and AP teams stay synchronized.
- Track customer invoice payments and GL journal entries as Slack messages with a full audit trail per record.
- Authenticate MYOB with OAuth2 and company file credentials, and verify Slack webhook signatures with HMAC-SHA256.
- Poll MYOB on a schedule you control, with exponential backoff retry on rate limits and full message tracking.
Questions
- Which direction does data flow between MYOB and Slack?
- The main flow is MYOB into Slack. Bills, invoices, purchase orders, payments, and GL journal entries are polled from MYOB and posted as formatted messages to designated Slack channels. Slack acknowledgments and reactions are logged for audit purposes but do not write back into MYOB.
- How does ml-connector handle MYOB's company file authentication and token refresh?
- ml-connector stores MYOB API credentials and company file passwords encrypted in the database. It includes the company file username and password in dedicated headers on every API call along with the API key. OAuth2 access tokens expire after 20 minutes, so ml-connector refreshes the bearer token at the start of each poll cycle before fetching records.
- What happens if MYOB rate limits are hit or a Slack message fails to post?
- If MYOB returns HTTP 429 for rate limit, ml-connector backs off exponentially and retries the request. If a Slack post fails, the record is queued for replay on the next sync cycle so no accounting events are lost. All successes and retries are recorded in the audit trail.
Related integrations
More MYOB integrations
Other systems that connect to Slack
Connect MYOB and Slack
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started