Skip to content

Job notifications and chat apps

For: Account owners and administrators who set up how customers are reached outside the chatRequires: The Admin role to set up channels and limits; the Customer Portal on the widget, so people can opt inScreenshots show sample data

Background jobs run when nobody is watching: a scheduled workflow, an autonomous agent, a chat someone closed before the reply arrived. When such a job needs an approval or a reply to a question, or fails, the person it belongs to is usually somewhere else. Job notifications reach them there, by email or in Slack, Telegram or Microsoft Teams, and the chat apps let them approve, answer and even chat with the assistant without opening your app.

Without notifications, a workflow that stops to ask for approval waits until its owner happens to open the Customer Portal. A failed overnight run goes unnoticed until someone asks where the report is.

With channels connected, StrikeUp tells the job’s owner as soon as the job needs them, on every channel they switched on, and stays quiet while they are watching the chat themselves. From there:

Every delivery attempt, sent or failed, is logged with the channel, the recipient address and the subject, and an approval made from a chat app records where it was decided.

RequirementDetails
RoleThe Admin role in StrikeUp, to add channels on ConfigureNotifications, a company’s Integrations tab and ConfigureUser Interface
Customer PortalThe widget’s Customer Portal on, because people opt in under My notifications in the portal. The Notifications page is shown to everyone signed in to the portal
CredentialsA mailbox (SMTP host, user name, password), a Telegram bot token from @BotFather, a Slack app you can install, or an Azure Bot in your Microsoft 365 organisation
Public addressFor Approve and Deny buttons, replies, chat and commands, and for Teams at all, this StrikeUp installation needs a public address the chat apps can call. Without it, messages still arrive with an Open button only
CostChannels cost nothing in StrikeUp. Chats started from a chat app use the AI like any other chat and count towards the same usage

The recipient is the job’s owner: the person who started the chat or owns the workflow. For a run of a company workflow, every active member of that customer company is a recipient. Each recipient is judged on their own: whether they are watching, and what they switched on.

EventSentExample
An approval is neededAlwaysA workflow wants to issue a credit note for £640.00
The assistant has a questionAlways“Should the final reminder go out?”
A job fails, or pauses because the AI allowance is used upWhen the person keeps fails or pauses on (on by default)The month-end export failed: the billing API returned 503
A job finishes, or a chat they left gets its replyWhen the person switches finishes on (off by default)The weekly usage digest is ready
A background job startsWhen the person switches starts on (off by default)The overdue-invoice reminders run began
  • Presence first. A person who is watching the chat or the run sees the news there and gets no message. For approvals and questions StrikeUp waits 90 seconds, then looks again; if the person has left without answering, the message goes out.
  • One per channel they switched on. StrikeUp tries every provider the person switched on and that resolves to a channel: the company’s own channel for that provider first, otherwise your workspace’s. One failing provider never stops the others.
  • No repeats. An outcome is announced once; a second “finished” for the same job within 10 minutes is dropped. Each approval and each question is told once per address.
  • Shared addresses. Two members who share one address, such as a Slack member ID, get the message once.
  • People who switched nothing on. A new person’s preferences start with every channel off, except fails or pauses, which is on.
  • Telegram, Slack or Teams for a person who has not connected that account yet.
  • A provider for which neither the company nor your workspace has an active channel with credentials.
  • Disabled customers, and jobs that have no customer owner, such as staff-run jobs.
  • News the person watched happen in the chat.
  1. Connect your workspace’s channels. Open ConfigureNotifications and add a channel for each provider you want, then select Test. For Slack, Telegram and Teams, open the channel again and follow the panel at the top.

    The Notifications page under Configure with the workspace's three channels: "Billing team email" (Active, Email (SMTP), notifications@example.com · smtp.example.com:587 (SSL)), "Demo Ltd assistant bot" (Active, Telegram, @demo_ltd_assistant_bot · Token stored) and "Demo Ltd Slack" (Active, Slack, Token stored), each with "Test", "Edit", "Disable" and "Delete". At the top right are the highlighted "Setup guide" link, which opens the Notification Channels setup guide in a new tab, "Refresh" and "Add Microsoft Teams".The Notifications page under Configure with the workspace's three channels: "Billing team email" (Active, Email (SMTP), notifications@example.com · smtp.example.com:587 (SSL)), "Demo Ltd assistant bot" (Active, Telegram, @demo_ltd_assistant_bot · Token stored) and "Demo Ltd Slack" (Active, Slack, Token stored), each with "Test", "Edit", "Disable" and "Delete". At the top right are the highlighted "Setup guide" link, which opens the Notification Channels setup guide in a new tab, "Refresh" and "Add Microsoft Teams".
    Your workspace's channels deliver for every customer company that has none of its own.
    What this screenshot shows
    Screen
    Notifications (/admin/notifications)
    Highlighted
    link “Setup guide”, header-right, enabled. opens the Notification Channels setup guide in a new tab
    Also visible
    Billing team email (Email (SMTP)), Demo Ltd assistant bot (Telegram), Demo Ltd Slack (Slack); Add Microsoft Teams
    Purpose
    the tenant-wide channels
  2. Give a company its own channels (optional). Open CRMCompanies, the company, then Integrations. Do this when the company wants its own mailbox or bot, or when its people are in their own Microsoft 365 organisation.

  3. Set the approval limit (optional). On the same tab, choose Allowed from chat apps under Approvals from chat apps.

  4. Set the App page URL. Open ConfigureUser Interface, pick the widget, and in the Customer Portal section enter App page URL: the https page of your app that embeds the widget. Save.

  5. Let people opt in. Each person opens the Customer Portal, goes to Notifications and switches on the channels they want under My notifications. For Telegram, Slack and Teams they connect their account there once.

Job notifications are configured in four places: your workspace’s channels, a company’s channels and limit, the widget’s App page URL, and each person’s own choices.

Where

ConfigureNotifications. One channel per provider; each has Test, Edit, Disable and Delete.

What

Delivers for every person whose company has no active channel of its own for that provider. A channel that is disabled, or that still lacks its credentials, delivers nothing.

Why

Most workspaces need one mailbox and one or two bots for all their customers.

Where

The company’s Integrations tab, or the company’s own Customer Admins on the portal’s Notifications page.

What

An active company channel with credentials replaces your workspace’s channel for that provider, for that company’s people only. A company channel waiting for its token is skipped and yours delivers meanwhile.

Why

Some customers insist that messages come from their own address or their own Slack, and a Teams bot only reaches its own organisation.

The Integrations tab of "Sample & Partners Ltd" with its own two channels, "Sample & Partners billing mail" (Email (SMTP)) and "Sample & Partners bot" (Telegram, @sample_partners_bot), each with an "Active" switch, "Edit", "Delete" and "Send test", then "One channel per provider." with "Add Slack" and "Add Microsoft Teams". Below is the highlighted card "Approvals from chat apps" with "Allowed from chat apps" set to "Up to medium risk": above that risk, chat-app messages show only Deny and Open.The Integrations tab of "Sample & Partners Ltd" with its own two channels, "Sample & Partners billing mail" (Email (SMTP)) and "Sample & Partners bot" (Telegram, @sample_partners_bot), each with an "Active" switch, "Edit", "Delete" and "Send test", then "One channel per provider." with "Add Slack" and "Add Microsoft Teams". Below is the highlighted card "Approvals from chat apps" with "Allowed from chat apps" set to "Up to medium risk": above that risk, chat-app messages show only Deny and Open.
A company's own channels win over yours for its people, and its approval limit caps chat-app buttons.
What this screenshot shows
Screen
Integrations (/admin/customer-companies/:id?tab=integrations)
Highlighted
“Approvals from chat apps”, approval-limit-card, Up to medium risk. choosing a value saves it at once
Also visible
Sample & Partners billing mail (Email (SMTP)), Sample & Partners bot (Telegram); Add Slack, Add Microsoft Teams
Purpose
per-company channels and approval limit

Approvals from chat apps, the safety limit

Section titled “Approvals from chat apps, the safety limit”
Where

The card Approvals from chat apps on the company’s Integrations tab, and the same card for Customer Admins in the portal.

What

The highest risk the company’s people may approve with a button: Everything (default), Up to medium risk, Low risk only or Deny only. A request that deletes or overwrites data counts as high risk. Above the limit, messages show only Deny and Open. StrikeUp checks the limit again on every click, whatever the message showed.

Why

A tap on a phone is quick; for destructive actions some companies want the full view in the app first.

Request riskEverythingUp to mediumLow onlyDeny only
LowApprove, DenyApprove, DenyApprove, DenyDeny
MediumApprove, DenyApprove, DenyDenyDeny
High or destructiveApprove, DenyDenyDenyDeny
Where

ConfigureUser Interface, Customer Portal section, the field App page URL. Saved with the page.

What

The https page of your app that embeds the widget. Open buttons in notifications go there with the chat or run attached, and the widget opens it once the person is signed in. A run opens only while the Customer Portal is on. A blank field means chat messages carry no Open link. When your installation has a hosted widget page, Open in a chat app signs a person who connected that account straight into the widget for 7 days instead.

Why

People should land on the conversation in your product, not on a login page with nothing to do.

The Customer Portal section of the User Interface page for the Support chat widget. Below "Enable Customer Portal" the highlighted field "App page URL" reads "https://app.example.com/account", with the help "The https page of your app that embeds this widget. Email, Slack and Telegram notifications link here, and the widget opens the chat or run they are about. Runs open only while the Customer Portal is on." The "Visible pages" chips follow below, among them "Notification channels".The Customer Portal section of the User Interface page for the Support chat widget. Below "Enable Customer Portal" the highlighted field "App page URL" reads "https://app.example.com/account", with the help "The https page of your app that embeds this widget. Email, Slack and Telegram notifications link here, and the widget opens the chat or run they are about. Runs open only while the Customer Portal is on." The "Visible pages" chips follow below, among them "Notification channels".
The App page URL is where Open buttons in notifications take people.
What this screenshot shows
Screen
User Interface (/admin/configure/user-interface?widgetId=…)
Highlighted
textbox “App page URL”, customer-portal-section, https://app.example.com/account. sets where notification Open links land; saved with the page
Also visible
Enable Customer Portal, App page URL, Visible pages
Purpose
where Open links land
Where

In the Customer Portal, Notifications, My notifications. Every portal role sees it.

What

One switch per provider the person can be reached through, each with a button to send a test, and three switches for starts (off), fails or pauses (on) and finishes (off). Telegram, Slack and Teams need the account connected first. Saved with Save preferences.

Why

An hourly workflow that messaged everyone every hour would be switched off within a day; people choose what is worth an interruption.

The Customer Portal's Notifications page as one of your customer's people (a Member), showing "My notifications". Email (SMTP) is on at edward.haywood@example.com, Telegram is "Linked" with "✓ Buttons and replies work here", and Slack is offered but off. Under the highlighted heading "Also tell me when", "A background job starts" is off, "A background job, or a chat you left, fails or pauses" is on and "A background job finishes, or a chat you left gets its reply" is off. "Save preferences" is at the bottom.The Customer Portal's Notifications page as one of your customer's people (a Member), showing "My notifications". Email (SMTP) is on at edward.haywood@example.com, Telegram is "Linked" with "✓ Buttons and replies work here", and Slack is offered but off. Under the highlighted heading "Also tell me when", "A background job starts" is off, "A background job, or a chat you left, fails or pauses" is on and "A background job finishes, or a chat you left gets its reply" is off. "Save preferences" is at the bottom.
Each person opts in to channels and outcomes; approvals and questions always reach them.
What this screenshot shows
Screen
My notifications (/?mode=portal)
Highlighted
“Also tell me when”, also-tell-me, starts off, failures on, finishes off. none (section heading)
Also visible
Email (SMTP) on, Telegram Linked and verified, Slack off
Purpose
a person's opt-in
Company channelWorkspace channelPerson switched provider onResult
Active with credentialsAnyYesSent through the company’s channel
None, disabled or no tokenActive with credentialsYesSent through your workspace’s channel
NoneNoneYesNot sent for that provider
AnyAnyNoNot sent for that provider

When a Telegram or Slack channel’s panel says buttons are on, and always on a Teams channel, a person who connected their account can do more than read.

WhatHow
Approve or denyButtons on the message. Every copy of it then shows who decided and how. Each approval is its own message, up to five at a time, then one message that more are waiting
Answer a questionReply to the question. In Teams, type in the box on the question and press Send answer. Up to eight choices appear as buttons
ChatSend the bot a message, or start one with /start-chat in Slack, /start_chat or /new in Telegram, new in Teams. A plain message continues the chat it follows for 24 hours; the chat also appears in the widget’s history
Pick up an earlier chat/chats (chats in Teams) lists the 10 most recent chats, from the widget or the chat app, each with a button to continue it
SlackTelegramTeamsWhat it does
/start-chat [message]/start_chat [message] or /new [message]new [message]Starts a new chat
/chats/chatschatsLists your 10 most recent chats
/pending/pendingpendingLists the approvals and questions waiting for you
/runs/runsrunsLists your 10 most recent workflow runs
/run-workflow <name>/run <name>run <name>Starts a workflow you may run; without a name it lists them
/stop/stopstopStops the answer being written
/help/helphelpShows the list

On Telegram and Slack everything about one chat or run arrives as one thread; a Teams chat has no threads. A finished workflow or chat sends the answer itself, with its chart and table, and a table also arrives as a CSV file. Company workflows can be started from a chat app only by the company’s Admins.

Under My notifications each person sees one card per provider their company can deliver through. Email shows their profile address; Telegram, Slack and Teams show whether the account is linked. Connecting works like this:

ProviderHow a person connects
EmailNothing to connect; the address on their record is used once they switch email on
TelegramConnect Telegram opens the bot with a one-time code; they press Start in Telegram, then I’ve pressed Start in the portal. The code works for 10 minutes
SlackStrikeUp finds them by email in the workspace the app is installed in, or they paste their Slack member ID. For buttons they confirm once with a Confirm button in Slack
TeamsConnect Microsoft Teams shows a message such as link 3f9a1c07b2d4 to send to the bot; the card turns to Linked on its own. The code works for 10 minutes

A company’s Customer Admins see the company’s own channels above My notifications, with a Setup guide that opens the steps in a side panel, and the approval limit once the company has a chat-app channel.

TopicFact
Quiet windowApprovals and questions wait 90 seconds before a message goes out, so someone in the chat can answer first.
WatchingA person watching the chat or run gets no message about it.
DefaultsEvery channel starts off for a new person; fails or pauses is on, starts and finishes are off.
Email previewA finished chat’s email quotes the first 200 or so characters of the reply.
Approvals per messageUp to five approvals as separate messages, then one “more are waiting” message; email lists them in one message.
Open linksGo to the App page URL. Chat-app sign-in links work for 7 days and open as the person who connected, so treat them like a sign-in link.
Teams reachA Teams bot works only in its 1:1 chat and only for its own organisation.
Slack reachSlack reaches only members and guests of the workspace the app is installed in.
FilesA Teams download link for a table works for 24 hours.
Without a public addressMessages arrive with an Open button only; no buttons, replies or commands, and no Teams.
SecretsTokens and secrets are encrypted and never shown again.

The owner of the job: the person who started the chat or owns the workflow. For a company workflow’s run, every active member of that customer company. Each person is notified only on the channels they switched on under My notifications in the Customer Portal.

No. Job notifications reach the people of your customer companies who use the widget and the Customer Portal. A job with no customer owner, such as one your staff run, sends no notification.

Why did someone get no notification although the channel is Active?

Section titled “Why did someone get no notification although the channel is Active?”

“Active” on ConfigureNotifications only means the credentials work. The person must switch that provider on under My notifications in the Customer Portal and, for Telegram, Slack or Teams, connect their account. A person watching the chat gets no message either.

Does a person get a message while they are in the chat?

Section titled “Does a person get a message while they are in the chat?”

No. StrikeUp skips anyone who is watching the chat or the run. For approvals and questions it waits 90 seconds and looks again, and sends the message if the person has left without answering.

No. One bot or mailbox per provider on ConfigureNotifications serves all your customers. Each person connects their own account to it once. A company needs its own channel only when it wants its own sender or its people are in another Microsoft 365 organisation.

Email, because it needs nothing from the recipient except switching it on. Add Telegram for people outside your organisation and Slack or Teams for people inside it: Slack reaches only members of the workspace the app is installed in, and Teams only its own organisation.

App page URL on ConfigureUser Interface is the https page of your app that embeds the widget. Open buttons in notifications go there, and the widget opens the chat or run. Without it, chat messages carry no Open link.

Buttons need a public address for this installation, the person’s account connected through the bot or confirmed in Slack, for Slack the channel’s signing secret, and a request within the company’s limit under Approvals from chat apps. A message that lists several approvals at once carries no buttons either.

Yes, each person can. Under My notifications in the Customer Portal, switch on the finishes option. It is off by default, because a workflow that runs every hour would otherwise message you every hour.

No. The reply is saved and appears in the chat when the person returns. If they switched on finishes, or fails or pauses, they also get the reply or the failure on their channels.

Why did I get one message for several approvals?

Section titled “Why did I get one message for several approvals?”

Email sends one message that lists every waiting approval. Chat apps send each approval as its own message, up to five at a time, then one message saying more are waiting; /pending lists them all.

The job stopped because the AI allowance for the period is used up. A person with fails or pauses switched on is told; the job continues when the period ends or the allowance is raised.

Can people chat with the assistant from Slack, Telegram or Teams?

Section titled “Can people chat with the assistant from Slack, Telegram or Teams?”

Yes, once this installation has a public address and the person connected their account. They send the bot a message or use /start-chat in Slack, /start_chat or /new in Telegram, or new in Teams. The chat also appears in the widget’s history.

Start a chat, list recent chats, list what is waiting (/pending), list recent workflow runs (/runs), start a workflow, stop the answer being written and show help. In Slack the workflow command is /run-workflow, in Telegram /run; in Teams the commands are plain words such as chats and pending.

Can anyone start a company workflow from a chat app?

Section titled “Can anyone start a company workflow from a chat app?”

No. A company workflow can be started only by that company’s Admins, from a chat app as in the app. Members can start their own personal workflows, and a person who belongs to no company cannot start workflows.

Why does the bot say the account isn’t linked?

Section titled “Why does the bot say the account isn’t linked?”

The person has not connected that account through the bot, or connected Telegram by pasting a chat ID. Under My notifications in the Customer Portal they press Connect Telegram, confirm in Slack, or send the link code to the Teams bot.

Why does the bot ask the person to sign in again?

Section titled “Why does the bot ask the person to sign in again?”

A chat in a chat app uses the credential StrikeUp stored the last time the person used the widget in your app. When it has expired, they open your app, sign in, and send their message again. A toolkit with Enable Refresh Token renews the credential by itself.

Yes, per company. On the company’s Integrations tab set Allowed from chat apps. Above the chosen risk, messages show only Deny and Open, and the approval is made in the app.

Each tool has a risk level set on its toolkit, and a request that deletes or overwrites data counts as high risk. The limit under Approvals from chat apps compares the request’s risk with the setting each time someone presses Approve.

What does StrikeUp store about each person?

Section titled “What does StrikeUp store about each person?”

Their switches, their Telegram chat, Slack member ID or Teams account once they connect, and a log of each delivery attempt with the channel, the address and the subject. Bot tokens, passwords and secrets of the channels are encrypted and never shown.

An Open link to your App page URL needs the person to sign in to the widget. A chat-app sign-in link opens the widget as the person who connected that account for 7 days, so anyone they forward it to can open it until then.

SymptomWhat to check
Nobody gets anythingThe person’s switches under My notifications; that a channel for the provider exists, is enabled and has its credentials; for a company with its own channel, that it is enabled and has its token.
One person gets nothing on TelegramThey have not connected through the bot. Ask them to press Connect Telegram under My notifications and then Start in Telegram.
One person gets nothing on SlackTheir email in StrikeUp differs from their Slack email, or they are not in the Slack workspace. They paste their Slack member ID under My notifications.
Teams: the bot never answersThe messaging endpoint in the Azure Bot is missing or the Teams channel was not added there; the app was not uploaded for the person.
Messages arrive, but without buttonsNo public address, no Slack signing secret, the account not confirmed, the request above the company’s limit, or several approvals in one message.
The Open button is missingThe widget has no App page URL.
Open lands on the home screenThe chat is not in this person’s list, or a run was opened while the Customer Portal is off.
“Your sign-in to … has expired” in a chat appThe person’s stored credential for that toolkit expired; they sign in in your app. Configure a refresh token on the toolkit to avoid it.
A finished workflow sent no messageThe person keeps finishes off, or was watching the run.
A second Telegram or Teams channel is refusedIt uses a bot that another channel already uses. Create a new bot.