Skip to main content
Your revenue shouldn’t live behind a login. The Slack integration streams Macropay’s money-moving events — captures, declines, refunds, chargebacks — into the channel your team already watches, and drops a once-a-day revenue card so the whole room starts the morning on the same number. As your Merchant of Record, Macropay is already remitting sales tax and VAT on every order below; Slack just makes the resulting cash flow visible the moment it happens.
Each Macropay organization posts to one Slack channel. Running several orgs out of the same workspace? Repeat the connect flow from each org’s dashboard and point each at its own channel.

What you get

Live money events

Every successful charge, decline, refund and dispute lands in-channel as it happens — shared context, no polling.

Morning revenue digest

One Block Kit card a day with revenue, MRR, churn and net-new customers.

Slash commands

Type /macropay mrr from anywhere and get a private answer in seconds.

Dispute early-warning

Chargebacks post the instant they open, with the response deadline attached.

Connect Slack

1

Open the Slack settings

In the dashboard, head to Settings → Integrations → Slack for the organization you want to wire up.Direct URL: https://macropay.ai/dashboard/<org-slug>/settings/integrations/slack
2

Authorize the workspace

Click Connect Slack and approve on Slack’s consent screen. Macropay asks only for the scopes it actually uses — chat:write, incoming-webhook, and commands (for the /macropay slash command). No message-history access is requested.
3

Choose the destination channel

Slack asks which channel to post into. Pick any public or private channel — Macropay writes only to the one you select here at install time.You’ll bounce back to the dashboard with a confirmation toast.
4

Pick your events and test

All event types are on by default. Switch off anything you don’t want (say, keep payments and disputes but mute new-customer pings), then hit Send test message to confirm the channel is live before you move on.

Events that post

Each event arrives as a Block Kit card whose key fields deep-link back to the matching dashboard record, so one click takes you from “what happened” to the full order.
Payment succeeded card in Slack
Notifications are strictly fire-and-forget. If Slack is unreachable or the bot gets kicked from the channel, checkout, payouts and webhooks all keep running — the post is dropped with a structured log line and nothing in your billing path blocks on it.

The daily revenue digest

Once a day — at the hour you set, defaulting to 09:00 UTC — Macropay posts a single summary card:
  • Revenue today, with the delta against yesterday
  • MRR, with a 30-day delta
  • 30-day churn percentage
  • Net-new customers today and across the last 30 days
  • A 7-day revenue sparkline
Tune the hour under Settings → Integrations → Slack → Daily summary, or turn the digest off entirely if you’d rather stick to event-driven posts.

Slash commands

Ask for a number without leaving the keyboard. Slash commands work in any channel — the bot only needs to be a channel member to post notifications, not to answer commands.
Answers are ephemeral — only the person who ran the command sees them. That way a quick revenue check in a busy public channel doesn’t broadcast your numbers to everyone scrolling by.

Want more than one channel?

The Slack app posts to a single channel per organization. For fan-out — routing the same events to several channels, a data warehouse, or a custom alert format — send Macropay events through a webhook endpoint and forward them wherever you like. The same pattern fits AI and agent billing: pipe meter, signal, or order events to your own service and post enriched agent-ROI cards back into Slack on your terms.

Troubleshooting

Slack silently drops posts when the bot isn’t a member of the target channel. From inside that channel, run:
Then fire a Send test message from the dashboard to confirm.
Go to Settings → Integrations → Slack → Disconnect, run the connect flow again, and select the correct channel on Slack’s consent screen.
This almost always means the Slack request signature failed to validate — usually after a disconnect/reconnect issued a new signing secret. Disconnect and reconnect once more so the current secret takes effect.
It’s one channel per organization today. To fan out, route the same events through a webhook endpoint and post to the extra channels yourself.

FAQ

Not yet — the cards are tuned to stay scannable in a noisy channel. For custom formatting or routing, build on Macropay webhooks instead.
No. It holds chat:write (post to the chosen channel) and commands (handle /macropay) only. Without channels:history, it can’t see any prior messages.
From Settings → Integrations → Slack → Disconnect, or remove the Macropay app in your Slack workspace settings. Either side severs the link cleanly.
No. Reconnecting opens a fresh subscription — Macropay doesn’t backfill events from the window you were disconnected.