Asking agents from Slack and Teams
Let people ask agents for things by messaging your Slack app or Teams bot, and follow the work in the same thread.
With the front door on, people ask agents for things where they already chat. They @mention your company's Slack app in a channel or send it a direct message, or message your Teams bot in a personal chat or a channel. Each message starts a Portal request, exactly as if they had asked in the Portal: the request type's agent (or the front desk) picks it up, the person who asked reviews the result, and everything is in the Portal too. Files sent with the message are added to the request.
In a direct message with the Slack app, or a personal chat with the Teams bot, the thread shows the agent's comments, the result when it's ready for review, and the outcome. Everyone in a channel can read its threads, so a request made in a channel only gets a note there ("Update on your request. Open it in the Portal") with a link: the details stay in the Portal. Replies in the thread from whoever asked become comments on the request.
Turn on the Slack front door
Company admins set this up. It uses the same Slack app, connection and Signing Secret as approvals in Slack, so set those up first: see Approvals in Slack and Teams.
- Update your Slack app from the manifest on the Slack connection's page. It adds the
app_mentions:read,im:history,chat:writeandfiles:readpermissions the front door needs, and keepsusers:readandusers:read.email. Everdeck needsusers:read.emailto link anyone: it checks that the Slack account's email is the person's work email, and refuses every link while Slack doesn't share it. It needsfiles:readto add the files people send. Reinstall the app if Slack asks. - On Chat approvals, select the Front door tab, then Turn on the Slack front door. It asks you to confirm it's you.
- Copy the Event Subscriptions Request URL the tab shows.
- In your Slack app at api.slack.com/apps, open Event Subscriptions and turn Enable Events on. Paste the Request URL; Slack checks it at once.
- Under Subscribe to bot events, add
app_mentionandmessage.im. Save the changes and reinstall the app if Slack asks.
If your Slack app was set up before people could send files, it doesn't have files:read yet: update it
from the manifest on the Slack connection's page and reinstall it. Until then, messages still become
requests, but their files aren't added, the app says so in the thread, and the Front door tab shows
what's missing. After you reinstall the app, it shows On again once the next file someone sends it is
added.
Turn on the Teams front door
Teams uses your own Azure bot, registered for your organisation only (single tenant).
- In the Azure portal, create an Azure Bot with a single-tenant Microsoft App ID, add a client secret, and add the Microsoft Teams channel. The Microsoft Teams bot connection's page lists each step.
- Connect the bot to the company as a Microsoft Teams bot connection, with its App ID, secret and tenant.
- On Chat approvals, on the Front door tab, choose the Teams bot connection and select Save and turn on. It asks you to confirm it's you.
- Copy the Messaging endpoint the tab shows and paste it into your Azure bot's Configuration.
- Add the bot to Teams with an app package from the Teams Developer Portal (Apps > New app > App features > Bot, choosing your bot), tick "Upload and download files" there so people can send it files, and install it for your organisation.
To stop taking requests from either one, select Turn off on the Front door tab. Requests already made carry on in the Portal.
Link your account
The first time someone messages the Slack app or the Teams bot, it answers with a link only they can see (in Teams, send the bot a direct message first). The link works for 15 minutes. A chat account links only to the Everdeck account with the same work email, and is confirmed from both sides, so nobody can link their chat account to your Everdeck account by sending you their link:
- Open it and sign in. It opens My profile in the Portal, in the Slack and Teams card, which shows the chat account's ID (and, for Slack, its email) and the workspace it's for. It never goes by the name shown in chat, since anyone can change theirs. Only continue if that account is yours.
- Select Link this account. Everdeck asks you to confirm it's you with your second factor.
- Everdeck asks Slack or Microsoft Teams for the account's email (in Teams, its email or sign-in name). It must be your Everdeck email; capital letters don't matter.
- Confirm in chat: Slack sends you a direct message, and the Teams bot sends you a card, asking you to confirm the link to your Everdeck account in your company. Select Confirm link there before the request expires. If you didn't ask for it, refuse it there and nothing is linked.
Slack guests, bots, deactivated accounts and people from other workspaces (Slack Connect) can't link or ask for things. Linking a new account replaces your old link only once the new one is confirmed, and Everdeck tells you when it does.
If the emails don't match
- The account's email isn't your Everdeck email: you opened a link meant for someone else's chat account, or your chat account uses another address. Message the app from your own account and use the link it sends you. If the account is yours, ask your admin to make the two emails the same (change your email in Everdeck, or your profile email in Slack or Microsoft 365), then message the app again.
- Slack didn't share the account's email: your company's Slack app is missing the
users:read.emailpermission. An admin updates the app from the manifest on the Slack connection's page (Chat approvals) and reinstalls it; then message the app again. - Microsoft Teams didn't share the account's email: message the bot again in a personal chat for a new link. If it keeps happening, ask your admin to check the Teams bot.
- If your Everdeck email changes before you confirm in Teams, nothing is linked: start again.
You can also link Slack from My profile at any time: enter Your Slack email and select Link my Slack account, then confirm the direct message Slack sends you. A link lasts 90 days. To stop your chat account acting as you, select Unlink Slack or Unlink Microsoft Teams there and confirm. Linking it again takes your second factor and a confirmation in Slack or Teams.
Ask for something
- A new request: @mention the app in a channel, or message it directly, with what you need. The first line becomes the request's title.
- A request type: start the message with a slash and the type's name, like
/book-travel Fly to Perth on the 12th. If the name isn't one your company offers, Slack shows the types to choose from, and Teams lists them. - Forms: a request type with required questions can't be answered in chat. The app sends you a link to finish the request in the Portal.
- Add details: reply in the request's thread (in a Slack channel, @mention the app in your reply).
- Review the result: in a direct message with the Slack app, use the buttons on the result to accept it or ask for changes. In a personal chat with the Teams bot, reply "accept", or "changes:" followed by what to change. For requests made in a channel, and always, you can review in the Portal.
Send files
Attach files to your message as you would for anyone: in Slack, add them to a direct message to the app or to a message that @mentions it; in Teams, attach them to a message in your personal chat with the bot, or paste a picture into it. Files attached in a Teams channel aren't added. They're added to the request, or to the comment your reply in its thread becomes, as if you had attached them in the Portal: they're yours, everyone who can see the request can open them, and they're kept until someone deletes them.
- Files come only with a message that becomes a request or a comment. A message that doesn't (because it has no words, its request type needs the Portal's form, Teams asks you which type of request it is, or you've reached a limit, for example) doesn't bring its files: send them again with your request. A reply in a request's thread can be files alone.
- The rules are those for files you upload in the Portal: up to 10 files a message, each up to 25 MB, of the kinds Everdeck takes (see Company files). Each counts toward your 60 uploads an hour and your account's storage.
- Everdeck downloads a Slack file only from Slack's own file address, files.slack.com, with your company's Slack app. A file kept elsewhere, such as a Google Drive file shared in Slack, isn't added. In Teams, it fetches a file you attached from the link Teams gives it, and a pasted picture from Microsoft's Teams service with your bot.
- If a file isn't added, your request or comment is still made, and one reply in its thread names each file left out and why, such as: too large, a kind Everdeck doesn't take, more than 10 in one message, storage full (your account's, or your 250 MB of files not attached yet), your hourly limit reached, or a file it couldn't fetch. The reply links to your request in the Portal. If Everdeck couldn't get a file from Slack or Teams, add it there instead; the Portal refuses a file that is too large or of a kind Everdeck doesn't take just the same.
- In a Slack channel only you see that reply. In a Teams channel everyone does, so it names only the files and what's wrong with them: if a file was left out because of a limit of your own (your hourly uploads, or your files not attached yet), the bot asks you to message it directly instead.
- If Everdeck can't get or keep a file for a moment (Slack or Teams asks it to slow down, or file storage or Everdeck's database can't be reached), it holds your message and tries again about 30 seconds later, then once more about 2 minutes after that, keeping the files it already has. If a file still fails then, your request or comment is made with the files Everdeck has, and the reply names that file as one Everdeck couldn't fetch (add it in the Portal instead) or, if file storage couldn't be reached, says so.
- If that reply says the Slack app can't read files yet, your company's Slack app is missing the
files:readpermission: ask an admin to update it from the manifest and reinstall it.
Limits and rules
- Each person can start 20 requests an hour from chat, and add 60 comments an hour. Files they send count toward their 60 uploads an hour.
- Only whoever asked can add to a request's thread or review its result there.
- What a request holds (comments, results, outcomes) is posted only in direct messages and personal chats. In a Teams channel, a reply meant only for you (like a limit or a form to finish) asks you to message the bot directly instead, because Teams can't show a message to just one person there.
- If your account requires single sign-on for the domain of someone's email, that person can't ask from chat (unless they're an account owner): they're pointed to the Portal, where they sign in with SSO. People whose domain doesn't require it ask from chat as usual, and so does everyone while your plan doesn't include single sign-on.
- Slack messages are checked against your Slack app's Signing Secret, and Teams messages against Microsoft's Bot Framework signature for your bot. Anything else is refused.
- If an update can't be posted to your thread, Everdeck tells you in the app; the request is still in the Portal.
Still stuck?
Email [email protected] and say what you were trying to do. Or browse every guide.