# Warm-visitor alert: tell the owning rep in Slack who was on the site

Source: https://mcpforgtm.com/recipes/warm-visitor-alert-slack (StackMCP, independent directory of official MCP servers)

## Goal

SDRs and their managers who want the rep who owns an account to hear about a high-intent visit the same day, with the pages viewed and a suggested next step. Warmly can be swapped for 6sense, HubSpot for Salesforce, Attio or Pipedrive.

## Connected tools

- Warmly: https://opps-api.getwarmly.com/api/mcp (setup: https://mcpforgtm.com/tools/warmly)
- HubSpot: https://mcp.hubspot.com (setup: https://mcpforgtm.com/tools/hubspot)
- Slack: https://mcp.slack.com/mcp (setup: https://mcpforgtm.com/tools/slack)

## Guardrails

- Read only in Warmly and HubSpot. Don't create or edit any HubSpot record.
- Don't call list_third_party_signals unless I approve it after seeing a free preview.
- Match Warmly companies to HubSpot companies by domain, and skip anything that isn't an exact match.
- Match owners to Slack users by email, and skip anyone without an exact match.
- Show me every draft and send only the ones I approve. Visit details go in direct messages, never a channel.

## Steps

1. Using Warmly's list_warm_accounts and list_warm_visitors, show me the companies that visited our site in the last {time window}, with identified visitors, pages viewed and UTM source. Leave out visits from {our domain}. Don't use list_third_party_signals.
2. For each company, find the matching HubSpot company by website domain and its owner. Show me a table of Warmly company, HubSpot company, owner and whether it's an exact domain match. Don't change any records.
3. Look up each owner in Slack by email. Then draft one short direct message per owner: which of their accounts visited, who (if identified), which pages, and one suggested next step based only on those pages. List anything without an owner or Slack match for me instead.
4. Send each direct message only after I approve it. Then tell me how many accounts were checked, how many alerts went out and how many were skipped.

## Expected output

One owner's Slack DM, drafted for your approval. Example (all names fictional):

```
To: @priya (Priya Raman, fictional)

Hi Priya, two of your accounts were on our site in the last 24 hours:

- Quarry Lane Analytics (fictional): 3 visitors, including Sam Whitlock (VP Operations). Pages: /pricing, /integrations/hubspot, /case-studies/logistics. Came from a paid search ad.
  Suggested next step: Sam has no open deal with us. A short note on the HubSpot integration, since that's the page he spent time on.
- Mossgate Labs (fictional): 1 visitor, contact not identified. Pages: /pricing (twice), /security.
  Suggested next step: ask your champion there whether security review has started.

Nothing has been changed in HubSpot or Warmly.

---
Run summary: 9 warm accounts in Warmly, 6 matched to a HubSpot company, 4 owners.
3 drafts ready. Larkspur Freightworks (fictional) has no HubSpot owner, so it's listed for you instead of sent.
No third-party signals were pulled, so no Warmly credits were used.
Reply 'send all' or 'send 1, 3' to approve.
```

## Watch for

- Alert goes to the wrong rep: A visitor's company can match the wrong HubSpot company (parent and subsidiary, two companies with similar names). Match on website domain first, show the Warmly company and the HubSpot company side by side, and skip anything that isn't an exact domain match.
- Credits spent without asking: list_third_party_signals is the only Warmly tool that uses credits, and the pool is shared with the rest of your Warmly account. Tell it not to call that tool. If you want signals, ask for a preview: true call first, which is free, and check get_credits_remaining before approving a real one.
- Your own team or customers flagged as warm: Employees, partners and existing customers browse the site too. Drop visitors from your own domain, and have the draft say when the HubSpot company is already a customer so the next step fits.
- Reading too much into one page view: A single blog visit is not buying intent. Only include accounts with more than one visit or a visit to a page your team treats as high intent (pricing, demo, integrations), and list the exact pages so the rep can judge.
