Use UpServe from Claude Code, ChatGPT and other AI tools
Your UpServe AI employees and teams keep working while you’re away. Scheduled runs go off, incoming mail gets handled, and Self check-ins let them find work on their own. So when you come back, there’s usually news.
Connect an AI tool like Claude Code, Claude, ChatGPT or Cursor to UpServe and you can do all of this without leaving the tool you’re already in.
- Ask “what happened while I was away?” and get a briefing
- Hand work to one AI employee or a whole team
- Answer questions your employees are waiting on
- Check whether the work is done, and stop it if needed
- Create, change, and turn on or off Scheduled runs
Availability: This feature is rolling out gradually. If you don’t see Connected AI apps in Settings, it isn’t enabled for your account yet.
What to say
Just type in your connected AI tool the way you normally talk.
| You say | What happens |
|---|---|
| ”What happened while I was away?” | You get a single rundown: things that need you, unseen results, who’s working now, upcoming Scheduled runs, failures and usage. |
| ”Ask the Sales team to sort out this week’s quote requests” | The work goes to the team, and the tool checks progress and reports back. |
| ”Is the research employee asking me anything?” | It shows the waiting question. Tell it your answer and it passes that along as is. |
| ”Stop what the research employee is doing” | It asks the employee to stop. Stopping happens at a safe point. |
| ”Set up a Scheduled run that writes the weekly report every Monday at 9am” | It confirms the time and instructions, then creates the Scheduled run. |
Before handing out work, the AI tool looks up your employees and teams to pick the right one. If two names are close, it may ask you which you meant.
What the AI tool can and can’t do
| Can do | Can’t do |
|---|---|
| View employees, teams, results and things that need you | Approve risky actions (you tap approve yourself in the UpServe app) |
| Hand work to employees and teams, check progress, stop work | Create or edit employees |
| Pass your answer to a question card | Delete Scheduled runs (do that in the app) |
| Create, change, and turn Scheduled runs on or off | Change read marks in the app |
When something needs approval, the AI tool gives you a link to the app. Open it and approve there. Choices that have the same effect as an approval, such as “Go ahead just this once”, can also only be picked in the app.
Work you hand over is handled just like talking to the employee in the app. It’s recorded in the same conversation and runs as a normal run, so SU is used. Usage is counted as yours, just like when you assign work in the app.
If you hand work to a team and no team member picks it up, the AI tool tells you so. There’s nothing to wait for in that case, so check the team’s setup in the app.
How to connect
Claude Code
-
Run this in your terminal.
claude mcp add --transport http upserve https://api.upserve.app/mcp -
In Claude Code, type
/mcp, pickupserve, and sign in. -
When the UpServe consent screen opens in your browser, check it and click Allow.
Claude and ChatGPT
- Add a custom connector in the connector settings.
- Paste
https://api.upserve.app/mcpas the address. - When prompted, sign in with your UpServe account and click Allow.
Cursor and other tools
Tools that can’t sign in to UpServe connect with a connection token.
- In UpServe, open Settings > Connected AI apps.
- Under “Create connection token”, enter a name (for example, Cursor on work laptop) and create it.
- The token is shown only once. Copy it right away and keep it somewhere safe.
- In the tool’s MCP settings, add the address
https://api.upserve.app/mcpand the headerAuthorization: Bearer <token>.
Anyone with the token can work with your employees and teams. Treat it like a password.
What to check on the consent screen
When an AI tool asks to connect, UpServe shows a consent screen.
- Look at the return address. Under “You’ll be sent back to this address if you allow”, make sure it matches the tool you’re using. The app name shown above is chosen by the app itself, so don’t trust the name alone.
- Only allow connections you just started. If this screen appears and you didn’t start anything, click Cancel.
- Take any warning seriously. If UpServe can’t verify the return address, you’ll see an “UpServe can’t verify this app” notice. If the app’s name is a well-known product such as Claude or ChatGPT but the address isn’t that product’s, you’ll see a strong “may be pretending to be another app” warning, and Allow stays disabled until you tick the box confirming you started the connection yourself. If you didn’t, Cancel.
- Read what you can do once allowed. It lists the requested items: viewing, handing out work, and managing Scheduled runs. Requested items are allowed together.
- Risky actions that need approval still have to be approved by you in the app, even after you allow a connection.
Disconnecting and reconnecting
- Disconnect: Go to Settings > Connected AI apps and click Disconnect next to the app. That tool immediately loses access to UpServe. Work you already handed over and your Scheduled runs keep going, because that’s the employee’s work, not the connection’s.
- Expiry: A tool you signed in with stays connected as long as you use it. If it goes unused for more than 30 days, the connection drops and you need to sign in again from the AI tool (in Claude Code,
/mcp). A connection token stops working 90 days after you create it, whether or not you use it, so make a new one and swap it in. You can have up to 20 connection tokens. - Not enough permission: If you allowed only “View” and the tool tries to hand out work, it tells you it lacks permission. Reconnect and allow the items you need.
When you start a new conversation
A new conversation in your AI tool doesn’t remember what you handed over before. No problem. Start by asking for a briefing. It includes recent work handed off from this connection and its status, so you can pick up where you left off.
Good to know
- A connection covers every employee and team you can see in the app, including those in organization spaces. You can’t restrict it per employee or organization, only by the items you allow (view, hand out work, manage Scheduled runs).
- You can’t hand new work to an employee who is waiting on a question. The tool will ask you to answer that question first.
- Describe schedule times in your own timezone. The AI tool converts them, then confirms the next run time with you. You can also create one-time runs.
- Self check-ins and condition watches can only be turned on or off from the AI tool. Edit their contents in the app.
- If you answer a confirmation request over MCP while the team’s Automatic operation is off, your answer is delivered but the work stays paused. Turn Automatic operation back on in the app to continue.
- While you’re away, app push notifications and email still do the notifying. In the AI tool, the news shows up when you come back and ask.
Advanced
You don’t need this section for everyday use. Refer to it only when checking connection settings or tracing a problem.
Connection details
| Item | Value |
|---|---|
| MCP endpoint | https://api.upserve.app/mcp (remote MCP over HTTP) |
| Sign-in | OAuth 2.1 + PKCE (S256). Clients register automatically |
| Manual connection | Authorization: Bearer ups_mcp_... header |
Scopes
| Scope | Allows |
|---|---|
upserve.read | Briefing, lists, progress checks, viewing Scheduled runs |
upserve.work | Handing out work, answering questions, stopping work |
upserve.manage | Creating, changing, and turning Scheduled runs on or off |
A connection token carries all three scopes. When a scope is missing, the tool reports which one is needed.
Token lifetimes
| Token | Lifetime |
|---|---|
| Access token | 1 hour |
| Refresh token | 30 days. Replaced on every use. If an already replaced old one is presented again, the whole connection is revoked |
| Connection token (manual) | 90 days, no refresh |
These tokens can’t be used with the regular API behind the UpServe app screens.
Tools
| Tool | Scope | What it does |
|---|---|---|
get_briefing | read | News since the last briefing, including recent work handed off from this connection. Doesn’t change read marks in the app |
list_staff | read | Employees and teams you can see |
assign_task | work | Hand work to an employee or a team |
check_task | read | Progress, results and waiting questions. With the message_id of the handed-off work it waits up to 20 seconds until done or needs you (for an employee without message_id it returns the current state immediately; message_id is required for teams) |
answer_request | work | Pass your answer to an employee question (AGENT_QUESTION) or team confirmation (TEAM_CONFIRMATION) only. Approval cards and other kinds are sent to an app link |
stop_task | work | Ask for current work to stop |
list_automations | read | View Scheduled runs, Self check-ins and condition watches |
save_automation | manage | Create or change Scheduled runs. Self check-ins and condition watches can only be turned on or off |
- Rate limits are 60 reads and 10 writes per minute per connection.
- Repeat times (cron) for Scheduled runs use 5 fields and are interpreted in UTC. One-time runs (
run_at) need a time with a UTC offset. The AI tool converts from your timezone. - There is no tool for deleting Scheduled runs.
- Creating a new Scheduled run over MCP is capped at 20 active people-created schedules per employee.
- The consent screen warnings are decided by the server (
redirect_host_verified,name_mismatch). - Connection tokens are capped at 20 active per user.
Read more results and complete text
Ask your AI tool to show the remaining items when a briefing has more results. It can continue through the full result text and retrieve short-lived download links for permitted attachments. Files with download quotas are downloaded in the UpServe app. Reading through MCP does not mark results as read in the app.
An unknown run state means UpServe could not confirm it; it does not mean the employee is idle or the task is complete. Instructions added during the same execution may share that execution’s results.
For developers: use a new request_id for each assignment or scheduled-run creation, and reuse the same key and content when retrying a lost response. Keys are scoped to the connection; changing the content for a reused key returns a conflict. Connections support CIMD and DCR OAuth, as well as manual connection tokens.