Skip to content

The Slack integration sends four messages, and that is the whole feature

Most time trackers arrive in Slack as a bot that wants to be a second product: reminders, nudges, a slash command for starting a timer you were supposed to have started. BillNotch does the opposite. It posts to one channel when something happens that involves money or a confirmed day of work, and it never reads a word from your workspace.

invoice.sent · invoice.paid · timer.stopped · entry.confirmed

Start tracking free14 days, no card. Pro is $9/mo — less than one billable hour.

What does the Slack integration actually send?

Four events, each a single line of plain text with no attachments and no link back. The exact strings, so you can decide before you install anything whether you want them in a channel other people can read.

An invoice went out

Invoice sent to Northwind — $2,400.00

Fires the moment an invoice leaves draft and is actually sent to the client. Nothing is sent on your behalf before that, so this message is the receipt for a decision you made.

An invoice was paid

Invoice paid by Northwind — $2,400.00

Fires whether you marked it paid by hand or Stripe confirmed the payment. For most freelancers this is the only notification that genuinely deserves to interrupt anything.

A timer stopped

1h 45m tracked on Redesign

Only for the timer you stop in the dashboard, and only above a minute — a stray thirty-second start never reaches the channel. Entries with no project drop the trailing clause.

Suggestions were confirmed

12 suggested entries confirmed

Fires when you clear the Review screen and turn the day’s drafts into real entries. A count, not a list: no project names, no window titles, no descriptions.

How you connect it

Open Settings → Integrations in the dashboard and press Connect on the Slack row. Slack asks you to approve three scopes — chat:write, chat:write.public and channels:read — and hands you back to Settings. You then pick the destination channel from a list of your public, unarchived channels.

Nothing is posted until that channel is chosen; a connected workspace with no channel set is simply silent. The read scope exists for one purpose, filling that dropdown. BillNotch never lists your members, reads a message, or watches a reaction.

Turning individual events off

All four are on when you connect, and each has its own switch under Notify on. Teams usually keep the two invoice events and drop the timer one within a week, which is the correct instinct: a channel that announces every stopped timer stops being read. Turn all four off and the connection stays, quiet, until you want it back.

What leaves BillNotch, and what never does

A client name, a project name, a total, a duration and a count. That is the complete list. Window titles, entry descriptions, the applications you had open, member names and invoice numbers are not in any of the four messages, because the messages are hard-coded rather than templated — there is no field for you to accidentally widen.

That matters more than it sounds. A Slack channel is a durable, searchable, widely-shared log, and plenty of trackers pipe raw activity into one. What the tracker records explains where the detailed capture actually lives, which is your account and not your workspace.

What happens when a message fails

Notifications are dispatched outside the request that triggered them, so a Slack failure can never break the thing that caused it. An invoice still sends, a timer still stops, the day still confirms. The connection then shows Degraded and heals itself on the next successful delivery. If Slack reports the token revoked or the workspace inactive it shows Revoked and offers a Reconnect button instead.

The trade in that design is honest: a dropped message is dropped. There is no retry queue and no dead-letter list, because a notification that arrives forty minutes late is worse than one that never arrives.

What it will not do

There are no slash commands, so you cannot start or stop a timer from Slack. There is no interactivity: the messages carry no buttons and BillNotch has no endpoint listening for your clicks. It never mentions a person, never opens a DM, and never threads a reply — the only destination it knows is the one channel you saved. There is no test-send button, so the first message you see will be a real one, and there is no delivery history beyond a last-activity timestamp on the connection.

It is also Slack only. Microsoft Teams, Discord and generic outgoing webhooks are not built, and nothing here is a status bot: BillNotch will not report who is working, who is idle, or how anyone’s day is going.

Common questions

Can I run BillNotch commands from Slack?
No. The integration is outbound only. There are no slash commands, no buttons, no message actions, and BillNotch never reads anything from your workspace — it posts to one channel you choose and does nothing else.
Can it post to a private channel or a DM?
The picker lists public, unarchived channels only, so that is what you will normally choose. The scope BillNotch asks for is chat:write, which posts to any conversation the bot is a member of, and the destination is stored as a plain channel ID — so a private channel the bot has been invited to works too. It never opens a DM and never picks a room on its own.
What happens if Slack is unreachable when an event fires?
The message is lost and the product action is unaffected. Notifications are dispatched outside the request that triggered them, so a Slack outage can never fail an invoice send or a timer stop. There is no retry queue: delivery is best effort, at most once.
Who in my organization can connect Slack?
Anyone holding the integrations.manage permission, which owners and admins have by default and plain members do not. You can grant it to a custom role in Team settings if you want someone else to own the wiring.

Get the invoice notifications, at least

A 14-day trial, no card, and Slack takes about a minute once you are in. If the money side is what you came for, the QuickBooks sync pushes the invoice itself rather than an announcement of it, and the Jira integration writes tracked time back as worklogs. How invoicing works covers what the two invoice events are actually reporting on.

Start tracking free