Slack
Draft and manage invoices from a Slack conversation.
Invoicey runs a durable agent in Slack. Mention it, or DM it, and describe the invoice you want — it looks the client up in ARES, builds the invoice, posts the PDF and ISDOC into the thread, and asks before doing anything irreversible.
Using it
Mention the bot in a channel it has been invited to, or send it a direct message:
@Invoicey invoice NFCtron (IČO 27074358) for 40 hours of consulting at 1 800 CZK, due in 14 days, from my "s.r.o." preset
It replies in a thread with the draft, the invoice ID, a link into the web app, and the rendered PDF and ISDOC as file attachments. The first time you talk to the bot, it DMs a link to confirm your Slack account against the Invoicey workspace you are viewing in the browser.
Follow-ups in the same thread do not need a mention. The agent keeps session context, so you can just say:
issue it
actually make it 45 hours first
Human approval on the dangerous parts
Three actions always stop and ask, with an approve/reject prompt in the thread:
| Tool | Why it asks |
|---|---|
issue_invoice | Irreversible — allocates a number and freezes the invoice |
mark_invoice_paid | Asserts money arrived |
send_invoice_email | Reaches a real client's inbox |
Creating and revising drafts does not require approval.
Link Slack before the bot will work
Unlinked Slack users are refused — no drafts, no ARES. The bot DMs a one-shot confirm link (15 minutes). Confirm it while viewing the Invoicey workspace that should receive new invoices. Anyone in the channel can still click Allow/Deny on an approval card; keep the bot in a private channel.
The agent uses the same validated handlers as MCP, plus Slack file upload.
Getting the bot in your workspace
Ask an Invoicey workspace owner/admin to enable Slack under Settings → Integrations, invite the bot to the channel you will use, and complete the one-time Slack ↔ Invoicey link when the bot DMs you.
Limitations
- Link required. Each Slack user must confirm
/slack/link/[code]against an Invoicey workspace they belong to. There is no email matching. - One Slack account → one Invoicey user + one workspace. Rebind the workspace in Settings → Integrations, or unlink so someone else can confirm.
- HITL is not identity. Allow/Deny in the thread can be clicked by anyone in the channel. Keep the bot private.
- No slash commands. Mentions and DMs only.
- No import. Historical import stays web-only.