# AI for Sales Ops: Run HubSpot, Slack and Linear From One Chat Agent

> Connect HubSpot, Slack and Linear to a single AI agent and manage your entire sales pipeline from one conversation — no tab switching, no copy-pasting. Exact setup using the official MCP servers for each tool.

**Source:** https://mcpplaygroundonline.com/blog/ai-sales-ops-hubspot-slack-linear-agent  
**Author:** MCP Playground  
**Published:** 2026-04-30  
**Category:** Guide  
**Reading time:** 9 min read

---

📖 TL;DR

-   Three official MCP servers: **HubSpot** (`mcp.hubspot.com`), **Slack** (`mcp.slack.com/mcp`), **Linear** (`mcp.linear.app/sse`)
-   Ask questions that span all three tools in a single prompt — no switching tabs
-   Set up in under 5 minutes with the [Sales Pipeline template](/templates/sales-pipeline) in MCP Agent Studio
-   Token requirements: HubSpot private app token · Slack bot token (xoxb-…) · Linear personal API key

Sales ops teams live in three tools: HubSpot for pipeline, Slack for deal conversations, and Linear for tracking feature requests that come up in calls. The context you need to close a deal is split across all three, and pulling it together manually is slow.

This guide shows you how to connect all three to a single AI agent using their official MCP servers — so you can ask "Which deals over $20k have had no Slack activity this week, and do any have open Linear requests?" and get a real answer without switching tabs.

## What You Can Do With This Agent

Pipeline health in one prompt

"Which deals over $10k haven't had activity in 14 days?" — pulls directly from HubSpot deal data.

Cross-tool deal context

"Find Slack messages about Acme Corp and any open Linear tickets linked to their account."

Personalised outreach drafting

"Draft a re-engagement email for Jane at Acme using her HubSpot profile and the last Slack thread."

Pipeline updates

Move a deal to "Closed Won", log a call note, and post a win summary to a Slack channel — all in one prompt.

Feature request tracking

Log a customer feature request from a Slack thread as a Linear issue, tagged by account size or deal stage.

Weekly sales summaries

"Summarise this week's new deals, closed deals, and any Slack threads that need a follow-up."

## The Three Official MCP Servers

Tool

MCP Server URL

Transport

Token

**HubSpot**

https://mcp.hubspot.com

HTTP

Private app access token

**Slack**

https://mcp.slack.com/mcp

HTTP

Bot token (xoxb-…)

**Linear**

https://mcp.linear.app/sse

SSE

Personal API key

## Step 1 — Get Your Three Tokens

### HubSpot private app token

1.  In HubSpot go to **Settings → Integrations → Private Apps → Create a private app**
2.  Give it a name and set scopes: `crm.objects.contacts.read`, `crm.objects.deals.read`, `crm.objects.companies.read` — add write scopes if you want the agent to update records
3.  Click **Create app** and copy the access token

### Slack bot token

1.  Go to **api.slack.com/apps** → create a new app → **OAuth & Permissions → Bot Token Scopes**
2.  Add: `channels:read`, `channels:history`, `search:read`, and optionally `chat:write` if you want the agent to post messages
3.  Install to your workspace and copy the **Bot User OAuth Token** (`xoxb-…`)
4.  Invite the bot to any channels it should read: `/invite @your-bot-name`

⚠️ **Slack tier note:** The `search:read` scope (used for "find Slack messages about X" prompts) requires a paid Slack plan — Pro, Business+, or Enterprise. On the Free workspace tier, prompts that search across messages will fail. Lookup-by-channel prompts using `channels:history` still work on Free.

### Linear personal API key

1.  In Linear go to **Settings → API → Personal API keys → Create key** and copy it

## Step 2 — Connect in Agent Studio

Fastest path: use the pre-built template

The **Sales Pipeline** template has HubSpot, Slack and Linear pre-configured — URLs, transports and system prompt included. Click it, paste your three tokens, and start chatting.

[Use Sales Pipeline Template →](/templates/sales-pipeline)

To set up manually in [MCP Agent Studio](/mcp-agent-studio):

1.  Click **\+ Add Server** → `https://mcp.hubspot.com`, select **HTTP**, paste HubSpot token
2.  Add second server → `https://mcp.slack.com/mcp`, select **HTTP**, paste Slack bot token
3.  Add third server → `https://mcp.linear.app/sse`, select **SSE**, paste Linear API key
4.  Pick a model — Claude Sonnet 4.6 for complex cross-tool chains; DeepSeek V3.2 or Gemini 3 Flash for routine daily lookups
5.  The agent auto-discovers all tools from all three servers on first message

## 10 Prompts to Start With

1.  "Which deals in my pipeline are at risk this month?"
2.  "Draft a personalised intro email to Jane at Acme using her HubSpot profile and company industry."
3.  "Find Slack messages mentioning 'pricing' from the #sales channel in the last 7 days."
4.  "Move deal #12345 to Closed Won and log a call summary."
5.  "List new contacts added this week grouped by industry."
6.  "Find any Linear tickets tagged as customer requests that came from deals in the negotiation stage."
7.  "Summarise the last Slack thread about Acme Corp and tell me the next action."
8.  "Create a Linear ticket for the dashboard feature Acme requested and link it to their deal."
9.  "Which deals close this quarter and haven't had contact in over 30 days?"
10.  "Post a Slack message to #sales-wins summarising today's closed deals from HubSpot."

## Which Model to Use

-   **Claude Sonnet 4.6** — best for complex cross-tool queries that need to join data across HubSpot + Slack + Linear in one answer, or draft context-aware emails. Worth the extra credit cost for these.
-   **DeepSeek V3.2 / V4 Pro** — solid for structured lookups (deal lists, contact filters). Significantly cheaper per run, good choice for routine daily queries once you know the pattern works.
-   **Gemini 3 Flash** — fast and cheap for simple single-server queries. Less reliable for three-server cross-tool chains; use it for "list my open deals" but not "find Slack context about this deal and draft a follow-up."

Run the same prompt across models with [**Compare Mode**](/mcp-agent-studio) to find where the quality difference justifies the cost for your specific data.

Without the agent

-   Open HubSpot, filter deals manually
-   Switch to Slack, search for company name
-   Switch to Linear, search for linked tickets
-   Copy context into email draft manually
-   Repeat for every deal

With the agent

-   One prompt in chat
-   Agent queries all three tools
-   Single consolidated answer
-   Draft, update or create in same thread
-   Save as named agent to reuse daily

Set up your Sales Ops agent in under 5 minutes

Official HubSpot · Slack · Linear MCP servers · Any AI model · Free credits on sign-up

[Use Sales Pipeline Template →](/templates/sales-pipeline) [Open Agent Studio](/mcp-agent-studio)

## Frequently Asked Questions

**Can the agent update HubSpot records — move deals, log calls? +**

Yes, if your private app token includes write scopes (`crm.objects.deals.write`, `crm.objects.contacts.write`). The default recommendation is to start with read-only scopes for safety and add write scopes once you have tested the agent behaviour on your data.

**Does the Slack bot see private channels? +**

Only channels you explicitly invite the bot to. Run `/invite @your-bot` in any private deal channel you want it to read.

**Are my tokens stored securely? +**

Tokens are stored in your browser session and in your saved agent configuration in MCP Playground, scoped to your account. They are sent only to the respective MCP server endpoint (HubSpot, Slack, Linear) when you send a prompt — not to any third party.

## Related Guides

-   [AI for DevOps: GitHub + Cloudflare + Sentry in One Agent](/blog/ai-devops-github-cloudflare-sentry-stack)
-   [AI for Customer Success: Stripe + Slack + Linear Setup](/blog/ai-customer-success-stripe-slack-linear-setup)
-   [MCP Agent Studio — Complete Guide](/blog/mcp-agent-studio-chat-mcp-server-guide)
-   [Claude Desktop Alternative: 7 Browser-Based MCP Clients Compared](/blog/claude-desktop-alternative-browser-mcp-clients-2026)
-   [What Is an MCP Agent?](/blog/what-is-mcp-agent)

## Frequently asked questions

### Can the agent update HubSpot records — move deals and log calls?

Yes, if your private app token includes write scopes (crm.objects.deals.write, crm.objects.contacts.write). Start with read-only scopes for safety and add write access once you have tested the agent on your data.

### Does the Slack bot see private channels?

Only channels you explicitly invite the bot to. Run /invite @your-bot in any private channel you want it to read.

### Are my tokens stored securely?

Tokens are stored in your browser session and saved agent configuration scoped to your account. They are sent only to the respective MCP server endpoint when you send a prompt — not to any third party.


---

_Canonical page: https://mcpplaygroundonline.com/blog/ai-sales-ops-hubspot-slack-linear-agent — MCP Playground (mcpplaygroundonline.com), the free browser-based tool for testing MCP servers and building AI agents._
