Slack workflow integration in Italy
Trigger orders from Slack, approve in-channel and post shipments back — built for Italy with IVA 22% via SdI.
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 Italy catalog), quantity, ship-to (defaults to the Milano 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. IVA 22% 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 SdI 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 SdI 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 IVA 22% shown?
In the approval modal and final order summary — itemised so finance can validate before approval. The actual invoice is issued via SdI after fulfilment.