Calling AI Employees from Slack
Connect UpServe to Slack and your team can put AI employees to work without opening the UpServe app. Say “summarize yesterday’s revenue” in a channel and the employee replies in that thread.
Your colleagues do not need UpServe accounts. Connect the workspace once and anyone in the channel can call your employees.
At a glance
| Question | Answer |
|---|---|
| How do I connect? | Open the Slack card in Connections under the Skills tab. When it finishes, a short getting-started message arrives as a Slack direct message. |
| What’s the simplest way to use it? | Just DM the UpServe app. You pick who once, and after that you talk without naming anyone. |
| How do I call an employee in a channel? | Name the employee: @UpServe Sales, summarize yesterday's revenue. The start of the name is enough. |
| Do I name it every time? | No. Inside the reply thread just add @UpServe and you can keep going without the name, and you can set a default employee per channel. DMs need no mention at all. |
| Can my colleagues talk in the thread? | Yes. In a channel only mentioned messages reach the employee. The next time you call it, it catches up on the recent messages it has not seen. |
| What if I can’t remember the name? | Click UpServe in your Slack app list. The home tab lists every employee you can call and which channel each one handles. |
| Who can call them? | Anyone in the workspace who is in that channel. The work runs on the account that connected, and SU come from that account. |
| What about approvals? | An approval card appears in the thread with approve and deny buttons. |
| Can we exchange files? | Yes. Images and files the employee makes land in the thread, and files you upload are readable by the employee. |
| Is any of this kept in UpServe? | Yes. Each thread becomes one conversation you can revisit in the app. |
| How do I start a fresh conversation? | Mention the employee again in a channel and a new thread opens; that’s a brand-new conversation. To keep going, reply inside that thread with @UpServe. |
Connecting
- In UpServe, go to the Skills tab → Connections.
- Open the Slack card and press Connect.
- Confirm the workspace on Slack’s permission screen and allow it.
- When it finishes, a getting-started message arrives in Slack.
One connection covers the whole workspace, so your colleagues do not each need to connect.
The simplest way: a DM
Click UpServe in your Slack app list and send it a direct message. No invite, no mention.
Summarize yesterday’s revenue
If you have several employees, you pick one the first time. After that you keep talking without a name.
The employee replies in a thread here too. Keep replying inside that thread to continue the same conversation; send a fresh top-level message to the DM (outside any thread) and you start a new one.
If you’re working solo or haven’t shared this with the team yet, this is the easiest path. To work in the open with your team, use a channel instead.
Inviting the bot to a channel
Skip this and mentions will go nowhere. Slack does not tell UpServe that a mention happened in a channel the bot has not joined, so there is no way to even show you an error.
In the channel where you want the employee:
/invite @UpServe
This is the same for public and private channels. Invite it once per channel.
Calling an employee
Name the employee you want:
@UpServe Sales, summarize yesterday’s revenue
- Put the name first. Punctuation after it is fine.
- The start of the name is enough. For
Sales Research,@UpServe Sales yesterday's revenueworks. - If you have only one employee, you can skip the name entirely.
- If the name is unclear, you get a card to pick which employee should take it. With many employees it becomes a dropdown.
A 👀 on your message means it was received. It becomes ✅ when the work is done and the reply lands in the thread. Long-running work shows what it’s doing along the way (“Searching the web…”), and that same message turns into the final answer.
When you can’t remember the name
Click UpServe in your Slack app list to open its home tab. It lists every employee you can call, what each one does, and which channel each one handles.
/upserve list shows the same list, and /upserve status tells you who’s handling the conversation you’re in.
Continuing in the thread
Once a reply appears, keep talking inside that thread without naming the employee. In a channel, still add @UpServe; what you can drop is the employee’s name. The same employee continues with everything you have discussed so far.
You: @UpServe Sales, summarize yesterday’s revenue Sales: (summary) You: @UpServe now just the Pangyo branch ← name dropped
Anything without the mention is not heard by the employee. Talk freely with your colleagues in the same thread and call the employee only when you need it. The next time you call, it catches up on the recent messages it has not seen.
DMs are the exception. Everything you send the UpServe app in a direct message is meant for the employee, so no mention is needed.
A waiting card is the other exception. If the employee has asked you something, just reply in that thread, with no mention required.
Mentioning the employee again in the same channel opens a new thread, and that’s a brand-new conversation. What you discussed in the earlier thread doesn’t carry over automatically. To keep going, mention the employee inside the thread that already answered.
Setting a default employee per channel
If one channel always goes to the same employee, assign it:
/upserve assign
Run it without a name and you get a list to pick from. If you know the name, /upserve assign Sales works too.
From then on, just say what you need:
@UpServe summarize yesterday’s revenue
Run /upserve unassign to clear it. You can also see and clear channel assignments from the Slack card in UpServe’s Connections screen.
Slash commands
| Command | What it does |
|---|---|
/upserve help | Shows the usage summary again. |
/upserve list | Lists the employees you can call. |
/upserve status | Shows who’s handling this conversation. |
/upserve assign | Picks this channel’s default employee (a name can follow). |
/upserve unassign | Clears the default employee. |
These replies are visible only to you, so they leave no clutter in the channel.
Exchanging files
- Images and files the employee makes land in the thread. Ask for a chart or a document and the file arrives with the answer.
- Files you upload are readable by the employee. Attach a file and say
@UpServe summarize this table. - Very large files and canvas documents come as UpServe links instead of uploads.
- Anything that can only be acted on in the app (a connection request, for example) is announced with a link; it never just disappears.
File support needs a new permission on the connection. If your workspace connected before this shipped, the Slack card in Connections shows Reconnect needed, so connect once more.
Approvals and questions
If an approval card offers Don’t ask again, check the send target before selecting it. The permission applies only to the send scope shown on that card. You can revoke it at any time from the employee’s Permissions screen on the web, or from Approval Rules in the employee menu on the mobile apps. Only the person who connected Slack can change this setting for the employee. If the response says only this request was approved, check that result.
When an employee needs sign-off before something risky, or needs you to decide, the same card you would see in the UpServe app appears in the thread.
- Approval card: what it intends to do, with
ApproveandDenybuttons. For safety these are handled by button only; replying “yes, go ahead” does not approve anything. - Question card: options become buttons; when there are none, just reply. What you write is passed straight to the employee, which picks up where it left off.
The name of whoever pressed the button is recorded with the result, so you can answer “who approved this” later.
If you already answered in the app, the Slack card turns into “This request was already handled.” The same work never runs twice.
Good to know
- Canvas documents come as links. They keep being edited, so a copy would go stale, so you get an UpServe link instead.
- Very large files come as links too. Anything over Slack’s upload limit is offered from UpServe.
- Group DMs are not supported yet. Use a 1:1 DM or a channel.
- Long answers get cut. Very long replies are truncated in the thread with a link to the full version.
- Anyone in the channel can call your employees, running on your account and your SU. If an employee does sensitive work, choose carefully which channels it can be reached from.
- What you share in a private DM stays there. Anything personal you tell an employee in a DM never resurfaces in a channel or in a conversation with someone else.
- No one can impersonate you to reach an employee. In channels, only the employees you’ve shared with the workspace (your organization’s employees) are ever candidates, even for you. Your personal employees only come up in your own DM; the same DM with anyone else stays limited to organization employees. The employee also always recognizes who it’s actually talking to and addresses them by name, not the name of whoever connected the workspace.
When something doesn’t work
| Symptom | What to check |
|---|---|
| Mentions get no response at all | Make sure you ran /invite @UpServe in that channel. This is the most common cause. |
| It says it can’t read the file I uploaded | Reconnect Slack from Connections; file support needs a new permission. |
| Images arrive as links only | Same cause: reconnecting makes files upload straight into the thread. |
| “You don’t have any employees yet” | Create an employee in UpServe first. |
| Buttons don’t respond | Try again in a moment. If it persists, reconnect Slack from Connections. |
| Connected, but mentions never arrive | Check whether the Slack card shows Reconnect needed. Newer features sometimes need permissions your original connection doesn’t have. |
| “Out of SU…” | Upgrade your plan in UpServe and call the employee again. |
Advanced
The rest of this page is not needed for everyday use.
How conversations are grouped
One Slack thread maps to one UpServe conversation (DMs included). Mentioning the employee again in a channel opens a new thread, and that’s a new conversation. Keep mentioning it inside the thread to continue the same one.
Different threads in the same channel can draw on each other’s context when needed, so the channel still feels like one shared team space. What you discuss in a DM, though, never leaves that DM. It isn’t recalled in a channel thread or in anyone else’s conversation.
You can find each conversation in the employee’s screen in UpServe, named Slack #<channel> · <start of the first message> (or Slack DM).
Before this change (late August 2026), one channel was one conversation. So conversation history that built up at the channel level doesn’t automatically carry into the new thread-based conversations; nothing is migrated over. Anything you already covered needs to be said again in the new thread. The old channel conversation itself isn’t deleted; it’s still there in the UpServe app.
Several employees in one channel
Even with /upserve assign set, naming an employee directly hands that message to the employee you named, and that thread continues with them. The assignment is the default for when you don’t name anyone.
When you call a different employee mid-thread, the new one reads back through the thread, including what the previous employee already answered. You don’t have to explain it again.
Which employees can be reached
In a channel, only employees shared with the workspace (organization employees) are ever candidates, and this holds even for the person who connected the workspace. Personal employees only become candidates in that person’s own DM; the same DM narrows to organization employees when anyone else is talking. Approval and question card clicks re-check the same rule at the moment they’re pressed.
What employees can use in Slack (in preparation, off by default)
Today a Slack conversation is treated as an outside conversation. An employee called from Slack does not use saved sign-ins (the vault), and it does not bring the memories, conditions and settled ways of working it built in the app into the Slack conversation.
UpServe is preparing a setting that lifts these limits, on the view that “when you attach UpServe to Slack, it is your own organization or personal use”. It is off by default. When it is turned on:
- Employees of the organization the workspace represents use memories, conditions and saved sign-ins in Slack just as they do in the app. The represented organization is the one that linked this workspace directly from its portal; without such a link, it is the organization of the person who connected Slack, only if they belong to exactly one. If that person belongs to several organizations and there is no direct link, the limits stay as they are today.
- Personal employees are released only in conversations where the person who connected Slack is the one talking. A conversation started by anyone else stays an outside conversation.
- A conversation that has ever received a message from a channel shared with another company (Slack Connect) or from someone in another workspace stays an outside conversation, even if someone from your team calls the employee again later.
- Your own logged-in browser is never used from a Slack conversation, whatever this setting says. Anyone in the channel could move that browser with a single message.
- Conditions people state in Slack (for example “send reports as PDF from now on”) are saved as organization conditions only when the speaker can be matched to an UpServe account.
How long a thread stays with its employee
There is no fixed expiry: even a thread that has been quiet for a long time still remembers its employee when you reply again. Threads nobody has touched in several months may eventually get cleaned up, and if that happens you will need to name the employee again. The channel’s conversation history itself is not removed.
Response language
The wording UpServe posts in Slack, and the language the employee answers in, follow the UpServe language setting of the account that connected. It does not vary per person in the workspace.