Skip to main content
Every Slack channel in Neo gets its own Slack app, with your display name, description and icon on it. Neo builds the app for you. Each client’s Slack admin installs it with one link, and from then on anyone in that workspace can message it: your chat agent answers, scoped to that one client company, and usage bills to you. This page is the deployment procedure, top to bottom, for each client you roll out to. For what channels are, see Channels. For clients on Microsoft Teams, see Deploy your end-user Teams bot.

Before you start

  • A chat agent with the End-user audience, tested in the dashboard with Test as end-client.
  • The client company in Companies. Slack needs no tenant ID or domain on the record: the install link carries the company.
  • An icon: a square PNG or JPEG, at least 512 × 512 px and at most 2 MB. Slack refuses smaller icons.
  • Someone at the client who can install apps in their Slack workspace, usually a Workspace Owner or Admin.

Deploy

1

Create the channel

Open Chat → Channels → New Channel. Pick the Slack transport and the End-user audience, name the channel, pick your chat agent, and click Create channel. The channel starts Active. Slack is offered only for End-user channels, and only when you create a channel: a saved channel can’t switch between Teams and Slack.Then set the branding on the channel’s Slack app tab, and the welcome message on its Chat tab:Upload the Icon on the Slack app tab too.
2

Request the Slack app

On the Slack app tab, click Request Slack app. The tab shows where the app is:
The Slack app tab of a Slack channel: display name, description and icon, and the Slack app status Ready
3

Generate the install link

On the channel’s Installs tab, under Install link for a client company, pick the company and click Generate install link, then Copy. The link works for 2 days and only for that company. Make a link for each client company.
4

Send it to the client's Slack admin

The admin opens the link, signs in to their Slack workspace and clicks Allow. Slack then returns them to a Neo page that says The app is installed, with an Open in Slack button.At that moment the workspace is linked to the company you generated the link for. Every conversation from that workspace is scoped to that company, with no name or domain matching involved.If the workspace makes members ask before they install an app, a non-admin who opens the link sends Slack’s approval request to the workspace admins instead, so send the link to an admin directly.
5

Verify

The workspace appears under Connected Slack workspaces on the channel’s Installs tab, with its company and install time. Then, as a person in that workspace:
  • Find the app under Agents & apps in the Slack sidebar and open its Messages tab. Your welcome message appears.
  • Ask a question. Your agent answers in a thread under it.
  • Reply in that thread. The agent keeps the context of the conversation.

Test in your own workspace first

Test as end-client checks the agent’s answers without any install. To check the Slack side too (your branding, the welcome message, buttons and forms, relayed technician replies), install the app into your own Slack workspace: generate an install link for a company in Companies that stands for your own business, and install it yourself. The bot treats you like any client’s employee, scoped to that company. A workspace stays linked to the company it was installed for while the app is installed there. To link it to a different company later, disconnect it first; see Offboarding a client.

What end users see

Where they talk to it. Every conversation is a thread:
  • Direct messages: the app’s Messages tab, found under Agents & apps in the sidebar. Each message a person sends there starts its own conversation, and the answer comes in a thread under it. Replies in that thread continue the conversation, across days.
  • Channels: add the app to a channel, and people @mention it. It answers in a thread under the message, and later mentions in that thread continue the same conversation. It never reads or answers a channel message that doesn’t mention it.
An end user's direct messages with the branded Slack app: the welcome message, two messages that each started their own conversation, and the thread of one of them open on the right, where the agent asks three multiple-choice questions about a VPN problem
The welcome message arrives the first time someone opens the app’s Messages tab. Without a welcome message set, it reads “Hi! I’m” and your display name. Your Description follows it, and the message always ends with a line saying that each new message starts a new conversation continued in its thread, a pointer to /help, and a line saying that replies are generated by AI and can be wrong. The app posts nothing when it is installed. Replies. The reply appears in the thread as the agent writes it. While the agent works, Slack shows that it is working, with a stop button. Stop stops the agent’s work in that thread, including any question you sent there that is still waiting for its answer, and the app confirms in the thread. The conversation stays, so the next message in the thread carries on from there. Wait until Slack no longer shows that the agent is working before you send it, and send any dropped question again then: a message sent while the stop is still in progress is dropped with the stopped work. With Show progress updates on in the channel’s Chat tab, a small card lists what the agent is doing with plain labels such as “Checking your tickets”, and a Show steps button opens the list. End users never see tool names or what a tool returned. Buttons and forms. When the agent asks a question with a few likely answers, the options come as buttons (up to six), or as tick boxes with a Something else box when several answers can apply. Several questions at once come as one form with Submit. Intent forms show in the conversation with a Submit button; a form with a long-text field opens in a Slack form window from an Open form button. After a long pause, a Start fresh / Continue previous chat card lets the person choose; see starting fresh after a pause. Commands. /help shows your Description and how to use the app, visible only to the person who ran it. To start fresh, a person sends a new message: in direct messages each one starts its own conversation, and in a channel a new message that mentions the app does the same. /new says so. Typing “start a new chat” in a thread starts that thread over. Files. People can attach up to six files per message: screenshots, which the agent reads, and documents, which it can attach to their ticket. The accepted types are on end-user tools. Files over 20 MB, and other types, are skipped. The app never sends files back. Technician replies. A client-facing reply on the person’s ticket arrives in the same conversation, the way live ticket updates work in Teams. It shows who replied (the technician’s name and picture, or your own name) and one footer line with the ticket number, title and status. The channel’s Relayed technician messages, Show the ticket title and Show the ticket status settings apply as they do for Teams, and Don’t label them sends the note as plain text with no footer. Which PSA entries relay, and the Autotask client portal address for ticket links, are set once for Teams and Slack together, on the Microsoft Teams — End-user Chat Bot card under Integrations. The person’s replies land on the ticket as the ticket records describes.
A Slack thread with the branded app: the end user reports that email won't send, answers the agent's questions, the agent files and escalates ticket #2020, and a technician's reply from the PSA appears in the same thread under the technician's name with a footer line showing the ticket number, title and status

The Tickets tab

Show the Tickets tab on the channel’s Slack app tab gives the Slack app a Home tab with each person’s tickets. A new Slack channel starts with it on, so its Slack app is built with the Home tab. When you switch it, Neo sends the change to Slack, and people see the tab the next time they open the app; nobody installs the app again. If Slack did not take the change, the Slack app section says so, and Request Slack app sends it again. The Home tab lists the person’s open tickets, most recently updated first, and the tickets closed in the last 30 days, the same list as the Teams Tickets tab: every ticket filed under their PSA contact, not only the ones the bot created. Each row has the ticket title, number, status and date; where your PSA has a client-portal link, the number opens the ticket there. The status follows Show the ticket status on the channel’s Chat tab. If no contact has the email on the person’s Slack profile, the tab says so and asks them to contact you.
  • New ticket opens the app’s Messages tab and starts a new conversation there, which begins with “What would you like to raise a ticket about?”. The person answers in that thread. The bot then follows your ticket policy, as in Teams.
  • Chat about this, on each open ticket, starts a new conversation about that ticket, which begins with “We are now on ticket” and the ticket’s number and title. What the person writes in that thread is recorded on that ticket, and a technician’s client-facing reply on it arrives in the same thread.
  • Refresh reads the list again. When the list cannot be read for a moment, such as when your PSA is slow or after too many refreshes, the tab keeps the list it is showing, with a line saying it may be out of date. When the tab was turned off or the workspace is no longer connected, the tab says so instead.
Links on the Tickets tab puts up to five of your links at the top of the Home tab, such as your emergency line or your IT Glue portal. A web link is a button; a phone number or email address shows as text beside its label, and Slack’s apps let people tap it to call or write. The Home tab is in English. Links need no update to the app: they show the next time the tab is opened or refreshed, also while the workspace is not yet linked to a company. Slack decides which tab the app opens on, so Slack has no Open the app on setting. Point people to the Home tab at the top of the app.

Who the bot serves

  • The company is the one the workspace’s install link was generated for. One workspace is linked to exactly one company.
  • The person is matched by the email on their Slack profile against that company’s active contacts in your PSA. With a match, they can see and reply to their own tickets. Without one, the bot can still file a ticket, noting the email it came from, but it can’t show them tickets until you add them as a contact.
  • What the agent can reach is the same end-user tool set as in Teams, locked to that one person and company: see what end users can access and how end-user bots work.
The bot serves the people of the workspace that installed it, guests of that workspace included. A person from another organization, such as someone in a Slack Connect channel, gets a short refusal that sends them to their own IT support team, and nothing they write reaches your agent. When Slack can’t confirm who is writing, the bot asks the person to try again in a moment and sends nothing on.

What the app can access in the workspace

A client’s Slack admin sees these permissions on the Allow screen. The app can:
  • Read direct messages sent to it, and channel messages that mention it. It has no access to other channel messages.
  • Send messages, and show that it is working on an answer.
  • Read people’s names and email addresses, to match each person to a PSA contact.
  • Read files people send to it.
  • Run its /new and /help commands.
  • Read the workspace’s name.
The app never reads Slack’s message history. It keeps the context of each conversation on Neo’s side.

How it differs from Teams

Enterprise Grid. Install the app into one workspace at a time. An install for a whole Enterprise Grid organization is refused.

Updating the app

Installed workspaces keep the app through every update, and nobody needs to install it again.

Offboarding a client

Click Disconnect on the workspace under Connected Slack workspaces, then Disconnect it. Neo stops answering there and asks Slack to remove the app. If the app still shows in the workspace, a Slack admin there can remove it. If the client removes the app in Slack first, Neo drops the workspace from the list by itself. Disconnecting also removes the workspace’s company link, once no other Slack channel of yours is installed in that workspace. The same happens when the client removes the app in Slack. The workspace is then free: an install link for any company connects it again. While another of your channels is still installed there, the workspace keeps its company, and an install link for a different company is refused.

Billing

The Slack bot is billed like the Teams bot: a flat monthly price per client company where someone used it, with the same free trial, which starts with your first install on either transport. See end-user bot pricing.

Over the API

The same steps are in the public API:
  • POST /public-api/channels/{id}/slack-app requests the app, retries a failed request, or sends changed branding.
  • GET /public-api/channels/{id}/slack-app returns its status.
  • POST /public-api/channels/{id}/slack-app/icon uploads the icon.
  • POST /public-api/channels/{id}/slack-install-link with a psa_company_id makes an install link.
  • GET /public-api/channels/{id}/slack-installs lists the connected workspaces, and DELETE /public-api/channels/{id}/slack-installs/{install_id} disconnects one.

Troubleshooting

The Slack app tab shows the reason. The usual causes are a missing display name, a display name over 35 characters or a description over 140. Fix the field, and click Request Slack app again. When the tab says Neo support must check the request, the call to Slack was cut off and the app may already exist there; contact Neo support, who clear it for a new request.
Slack needs a square image of at least 512 × 512 px, and Neo accepts up to 2 MB. Export a larger or smaller file, and upload it again.
The admin left Slack’s screen without clicking Allow. They open the same link again, while it is still valid.
The workspace is still installed with a link for a different company, and a workspace keeps its company while any of your Slack channels is installed there. Slack’s install is undone, and nothing changes. Check which company the workspace belongs to. To move it, click Disconnect on the workspace in every Slack channel that lists it, then send the new install link again.
The admin chose to install the app for the whole organization. Have them open the link again and install it into one workspace.
The message tells the person to contact their IT support team, and the fix is yours. Either the workspace has no live install of this channel’s app, or the channel is Disconnected. Set the channel to Active, and check that the workspace shows under Connected Slack workspaces. If it doesn’t, generate an install link and have the workspace’s Slack admin install the app.
The message tells the person to contact their IT support team. The app is installed, but the workspace isn’t linked to a company; its row under Connected Slack workspaces shows Company not linked. Generate the install link for the right company and have the Slack admin install the app again with it. This also shows when you removed the workspace’s company from Companies; the workspace keeps that link, so disconnect it first, then send the new install link.
The bot tells them their account isn’t linked to a contact record. The email on their Slack profile matches no active contact at the company in your PSA. Add them as a contact, or correct the email on the contact; the next message picks it up.
In a channel it answers only when someone @mentions it, and only in channels it was added to. Add it to the channel, and mention it.
Have the user send the question again as a new message, which starts a fresh conversation. If the same message comes back there, contact Neo support.
They see “Sorry, I can only help people in this organization’s own workspace. For help, please contact your own IT support team.” That is expected: they belong to a different Slack organization, usually through a Slack Connect channel, and the bot serves only the workspace that installed it. Guests of the installing workspace are served.
The end-user bot is paused for your end users: its free trial ended with no payment method on file, or you cancelled the add-on on the Billing page. On the Billing page, click Subscribe (it asks for a payment method when none is on file, then click Subscribe again), or Turn back on if you cancelled; see Free trial.
Your Neo account is switched off, so every branded bot you installed stops answering. The apps stay installed. When your account is active again, the next message gets an answer.
This app is for your clients’ employees. Your own technicians chat with Neo in the dashboard or in Microsoft Teams; see chat surfaces.