---
ref: workflow:sales-call-signals
title: Pull needs, objections and buying signals from sales calls
author: Shahzaib0217
tools: [tool:bridge/search-meetings, tool:bridge/get-meeting-details, tool:slack/post-message]
tags: [capability:review-recordings, capability:route-alerts, channel:chat, has:mcp, motion:outbound]
updated: 2026-10-28
---

# Pull needs, objections and buying signals from sales calls

Reads recent sales calls in Bridge, pulls out needs, objections, competitors and buying signals, and posts hot deals to Slack.

Set up the tools below, then run the steps in order for the user, carrying each step's results into the next. The run is done when the user has the outcome below.

## Outcome

- A table of the sales calls since the last run: account, needs, objections, competitors named, buying signals, next step and a deal temperature.
- A Slack post for each call at or above your temperature, with the evidence in the buyer's own words.

## Inputs

Ask the user for these before you start.

- `since`: when the last run happened, e.g. 2026-10-16
- `sales_terms`: words that mark a sales call in its title or transcript, e.g. demo, discovery, pricing, proposal
- `hot_level`: the lowest temperature to alert on, from cold, warm and hot, e.g. warm
- `sales_channel`: the Slack channel for deal alerts, e.g. #deals

## Set up

### Bridge (tool:bridge/search-meetings, tool:bridge/get-meeting-details)

Use the MCP server. Add it to your agent's MCP settings, then sign in when asked.

```json
{ "mcpServers": { "bridge": { "url": "https://api.meetonbridge.com/mcp" } } }
```

- Search meetings: call the MCP tool `search_meetings`
- Get meeting details: call the MCP tool `get_meeting_details`

Note: Needs a paid Bridge plan (Professional or above); not on the free Starter plan or a trial. At sign-in the user grants read, or read and write, access. Call get_bridge_context first for the tools the plan and connection allow.

Notes:

- Search meetings: Omit `query` to browse by date or participant. Pass a returned `recapId` to `get_meeting_details` for the full meeting.

### Post a message (Slack, tool:slack/post-message)

Use the first option your agent supports.

Note: Needs the `chat:write` scope. Over MCP it posts as the signed-in user; the API and CLI post as the app's bot.

#### MCP (official, remote)

Add this server to your agent's MCP settings, then sign in when asked.

```json
{ "mcpServers": { "slack": { "url": "https://mcp.slack.com/mcp" } } }
```

Call the MCP tool `slack_send_message`.

#### CLI (official)

Install the command, then confirm it runs.

```sh
curl -fsSL https://downloads.slack-edge.com/slack-cli/install.sh | bash
slack --version
```

Run `slack api chat.postMessage`.

Set `$SLACK_BOT_TOKEN` in your environment first (get a key: https://api.slack.com/apps).

Before step 1, confirm access to each service with its cheapest read-only call, like a list or a search. Never send or change anything to test access.

## Steps

1. **List the calls** with Search meetings (Bridge). Browse meetings from `since` to now. Keep each `recapId`, title, date and participants.
2. **Read each call** with Get meeting details (Bridge). Keep the calls that match `sales_terms` and have someone from outside your company, with their summary, takeaways and transcript. Skip meetings with no transcript.
3. **Pull the signals** yourself. For each call, note the needs, objections, competitors named, buying signals (budget, timeline, decision maker, a pilot or contract asked for) and the agreed next step, each with a short quote. Rate the deal cold, warm or hot and say why in one line.
4. **Check with the user** yourself. Show the table and let the user correct any rating before anything is posted. Keep the calls at `hot_level` or above.
5. **Alert the team** with Post a message (Slack). Post each kept call to `sales_channel` with the account, temperature, top need, top objection, next step and the quotes.

## Notes

Look first at hot calls with no agreed next step. Run it weekly with `since` set to the previous run; for one call, ask for that meeting by name.

## Rules

- Use only the services set up above. The read-only calls they need, like listing ids or polling for results, are fine.
- Ask the user before anything that sends messages, costs money, or changes data, and say how many records it touches. One approval covers a batch the user has seen.
- Never print API keys.
