Skip to content
Proofbell

Alerts and notifications

An alert tells someone the moment a call needs attention. Notifications lists the rules you have; Create new alert opens the form, and Edit on any rule reopens it. A rule says what raises the alert, optionally what it has to match, and where it goes.

Changing a rule you already have

Everything on a rule can be edited: its name, the trigger, the conditions, how many it may send in an hour, whether the caller's number is shown, and where it goes. The form opens with the rule as it stands — the addresses ticked and typed, the Slack channel selected, the people it mentions already ticked — so changing one thing does not mean re-entering the rest.

One destination cannot be shown to you in full: a Slack incoming webhook. The URL is a credential, and it is never returned by our API to anybody, including you — it goes in and cannot be read back. A rule that uses one shows Incoming webhook: #name (URL stored, not shown) with a choice of Keep it or Replace it. Keep is the default: editing the addresses on a rule leaves the webhook exactly as it was. Replace asks for a new URL, or lets you move the rule to a channel in a connected workspace instead.

Occasionally the destinations are shown and cannot be changed, and the page says which of three reasons applies: this website is running a version of the app older than the one that can read them back, the stored destinations could not be read, or the rule has more destinations than the form can show — more than one Slack channel, say, which is possible through our API. In all three the rule keeps sending exactly where it did, and everything else on it still saves.

An alert carries the caller's marketing source, the tracked number and a link into the dashboard. It never carries the recording or the transcript, and it carries the caller's phone number only if you switch that on — so an alert is safe to send to a channel whose membership you do not control.

Where an alert can go

Two destinations, each with its own switch, and you can turn on either or both. A rule with neither cannot be saved.

  • Email — up to twenty addresses in total. The people on your account are tick-boxes, so you do not have to remember a colleague's address, and there is a box underneath for anybody who is not on the account. A person you have invited but who has not signed in yet is offered too, and says so: the address works, even though nobody has used it to log in.
  • Slack — either a channel in a Slack workspace you have connected, or an incoming-webhook URL you create in Slack yourself.

Email is on every plan including the free one. Slack — and outbound webhooks — start on Growth. If your plan does not include Slack the switch is disabled and says so, rather than letting you fill the form in and refusing when you save.

The caller's number is hidden unless you say otherwise

Every alert says who called only if the rule asks it to. By default it reads Caller number hidden, and the number stays one click away in the dashboard, behind a permission. That is deliberate: a Slack channel or a shared inbox is usually read by more people than the dashboard is, and a phone number is personal data about somebody who has not agreed to be in your Slack.

To include it, tick Include the caller's phone number in the alert when you create the rule, or use Show caller's number on an existing rule's card. Turning it on is recorded in your account's audit log as its own entry, so anyone reviewing the account can see when alerts started carrying numbers and which rule does.

Connecting Slack

Connecting a workspace is what lets a rule pick a channel rather than be handed a URL. It is done once per account, on the Slack card under Connections, and then every rule on the account can choose from the same list.

Somebody who can install an app in your Slack workspace has to do it. If your workspace requires admin approval for new apps, the person clicking Connect will be asked to request it, and nothing appears on the channel list until that is approved. This is a Slack setting, not ours, and we cannot work around it.

We ask for four permissions, and no more:

  • Read the list of channels.
  • Create a channel.
  • Join a channel.
  • Post a message.

We never read messages. Disconnecting revokes the token with Slack and deletes it here; any rule pointing at a channel in that workspace stops delivering until you connect it again.

Choosing a channel

Once Slack is connected, the Slack destination on a rule shows your workspace name and a list of channels to pick from. Two things on that list are worth knowing.

  • A channel marked “bot will join” is one Proofbell is not in yet. It will join the first time it posts there. Nothing is required of you.
  • Private channels appear only if Proofbell has been invited to them. A private channel we have not been added to is invisible to us — we cannot list it, and we cannot post to it. To use one, invite Proofbell to it in Slack first, then reload the Notifications page.

Mentioning people

A message in a busy channel is read when somebody happens to look at it. Under Also mention you can make it a notification instead: @here notifies the people currently active in the channel, @channel notifies every member of it including people who are away, and the list below those names individual people.

@channel and naming people are mutually exclusive, and the form says so rather than letting the save fail: @channel already reaches everyone in the channel, so naming three of them as well is either a mistake or a misunderstanding of what it does. @here and named people can be combined.

The people offered are the members of your Proofbell account whose email address matches a Slack account in the connected workspace. We do not list your Slack directory — a workspace's membership is not ours to show you. Somebody on your account with no Slack account at that address appears greyed out with the reason, because “Dave is missing” and “Dave's Slack uses a different address” are different problems and only one of them is yours to fix.

Mentioning people needs a permission Slack grants only when you authorise the connection — reading the workspace's member list by email. A workspace connected before we asked for it will say Reconnect Slack to mention people, with a link; nothing else about the connection is affected and @here and @channel work meanwhile.

Creating a channel

There is a Create a new channel row under the picker. Type a name, press Create, and the channel is made in your workspace, Proofbell joins it, and it becomes the chosen channel for the rule you are building.

Slack's own naming rules apply: lowercase, no spaces, up to eighty characters, and only letters, numbers, hyphens and underscores. The hint under the field shows the name that will actually be created as you type, so Leads From Ads becoming leads-from-ads is something you see rather than discover. New channels are public. If Slack refuses — a name already taken, or a workspace that does not let apps create channels — you are shown Slack's own answer.

Send a test message

Use it. A wrong destination is invisible: nothing happens when a call arrives, and you find out by not being told about a lead, which is the exact failure alerting exists to prevent. The test posts to the chosen channel immediately.

Incoming webhooks still work

If you already have a rule using an incoming-webhook URL, it keeps working and you can keep making new ones — the option is under Use an incoming webhook instead on the Slack destination when no workspace is connected.

It must be a hooks.slack.com URL. We will not send to any other address, because a webhook field that accepts any URL is a way to make our servers fetch something on your behalf. The URL is stored encrypted and never shown again — not to you, not to anyone who can read your rules. To change it, paste it afresh.

A connected workspace is the better of the two where you have the choice: a webhook is a credential that stops working when whoever created it leaves, and it can only ever post to the one channel it was made for.

Only when — narrowing a rule

A rule can be limited by talk time, by whether it is the caller's first ever call, and by the marketing channel the call came from.

Channel is offered as a list, not a text box. The values come from your own account, in three groups:

  • Connected platforms — the channel value each platform you have connected writes onto a call.
  • Seen on your calls — values that have actually appeared on this website's calls in the last ninety days. This is the strongest of the three: it is evidence rather than possibility.
  • Other — the rest of the values attribution can record.

There is also an Other… row for a value that is legitimately in none of them — a platform connected this morning that has produced no calls yet. Leave everything unticked and the rule alerts on calls from any channel.

A condition only matches when the fact is known. Talk time is not known until a call has ended, so a talk-time condition on a call is answered matches nothing at all — put it on a call finishes instead. Unknown means “cannot say yes”, never “close enough”.

Flood control

Every rule has a most per hour, defaulting to twenty. Past it, individual alerts are held back and you are told once that it happened. The default is deliberately low: a busy afternoon is two hundred calls, two hundred messages is a muted channel, and a muted channel is worse than no alerting at all because everybody still believes they are being told.

Knowing a rule is working

Each rule in the list carries its last delivery outcome — delivering, not delivering with the reason, or nothing yet — and a Send a test button that reports each destination separately, because “which one of my two is broken” is the question.

On the free tier a rule saves and never fires. Every trigger available is a call or a number event, and the free tier holds no tracking number, so none of them can happen. The rule is stored correctly; there is simply nothing to trigger it.

Next Attribution models