Slack workflow integration in Poland
Trigger orders from Slack, approve in-channel and post shipments back — built for Poland with VAT 23% via KSeF.
Architecture — Slack as the front door
Install the Corp-Merch Slack app, scope it to channels (typically #ops, #people, #finance), and trigger /corpmerch order from any thread. The slash command opens a modal: SKU search (autocomplete against the Poland catalog), quantity, ship-to (defaults to the Warszawa hub), cost centre. Submit posts a message with Approve / Reject buttons, visible only to designated approvers. The idempotency key is derived from the Slack message ts — re-clicks never double-order. VAT 23% is computed server-side and shown in the thread before approval.
How to wire it up — Workflow Builder steps
We ship two Workflow Builder steps: Create order and Wait for shipment. Chain them with Slack's built-in form, approval and message steps to build "manager approves then we order" or "new-hire kit" flows without writing code. Step outputs include order_id, status, tracking_url and the KSeF invoice id. Works on Slack Pro, Business+ and Enterprise Grid; Grid customers also get org-wide installation and audit log forwarding to SIEM.
Operations and edge cases — Events back into Slack
Every Corp-Merch event (order.shipped, invoice.issued, return.received) can post to a Slack channel via incoming webhook or a DM from the bot. Routing rules in the dashboard let finance receive only invoices > €5,000 to #ap, while the requester gets shipment DMs. Invoice events include the KSeF acknowledgement id so AP can reconcile against the ERP. Events are signed HMAC-SHA256 and replayable from the dashboard.
FAQ
Do we need Slack Enterprise Grid?
No — Slack Pro and Business+ are sufficient. Enterprise Grid customers get org-wide installation and audit log forwarding to your SIEM.
Can I limit who can place orders?
Yes — the app respects Slack user groups. Map "ordering" groups in the dashboard; everyone else can only browse and request approval.
What permissions does the bot need?
chat:write, commands, files:write (to share design proofs), and users:read.email (to map Slack users to Corp-Merch accounts). No history scopes required.
Does it work in private channels?
Yes — invite the bot to the private channel. Same approval flow; messages remain in the private channel.
Where is VAT 23% shown?
In the approval modal and final order summary — itemised so finance can validate before approval. The actual invoice is issued via KSeF after fulfilment.