Workflows

Multi-step agent workflows showing how MCP tools work together for common sales research tasks.

Research a target account

This workflow starts from a product and drills into a specific prospect to understand their pain points and readiness to buy.

1
list_products

Find the product you're selling, and read its target_segments to know what it is meant to sell to.

2
list_prospects

Get ranked prospects for that product. Filter by min_deal_score=4 for top-tier targets.

3
get_prospect

Deep-dive on a specific company. Read the findings_summary and recommendation_summary.

4
search_excerpts

Isolate the strongest evidence with min_impact_score=4, narrowing further by keyword.

Example prompt

Research Travelers Companies (TRV) as a prospect for our Cyber Risk Platform product.
Show me their strongest buying signals and explain why they're a good fit.

This entire workflow is free — no credits consumed. All four tools are read-only.

Build a target list from a book of business

Uses the insurance filters to shortlist carriers by what they actually write and where they are licensed, rather than by score alone.

1
list_products

Read target_segments so your filters match what the product is meant to sell to (entity types, lines, premium bands, footprint).

2
list_prospects

Filter on the book of business: lines_of_business, min_premium, and either states_licensed_in (all-match) or min_licensed_states.

3
list_prospects

Sort by complaint_index to surface carriers under service pressure — often a reason to talk, not a reason to skip. Sorting server-side means the first page really is the top of the whole filtered set.

4
get_prospect

Confirm the shortlist, corroborate any extreme complaint index against the full per-year series, and check hierarchy to see which entity in each family is the real target.

Example prompt

For product 126, find carriers writing commercial auto with more than $50M in that line,
licensed in both Texas and California. Rank them by complaint index and tell me which three
I should call first.

Check the two counts before trusting the size of a list

total_groups counts corporate families; total_entities counts the companies inside them. “42 results” can mean 42 companies or 400 — the second number tells you which. And excluded_no_data_groups tells you how much of the market lacked the data to be evaluated at all.

Find the right subsidiary

Results are corporate families. This is how you get from “Travelers” to the specific licensed underwriter worth calling.

1
list_prospects

Note matched_entity_count on the family row. If it is lower than entity_count, only part of the family matched your filters.

2
get_prospect

Call on the family's ticker and read hierarchy.children for the subsidiaries and their identifiers.

3
get_prospect

Call again with a child ticker where has_assessment is true, to get that entity's own premium and complaint record.

4
get_dealmap

Map the buying committee. DealMaps live at family grain, so a subsidiary ticker resolves upward to the family's map.

Example prompt

Liberty Mutual came up for product 126. Which of its subsidiaries actually writes
commercial auto in Texas, and which one should I approach?

Shortcut: pass include_children=true to list_prospects to get subsidiaries inline and skip a round trip per family.

Map buying committee, then draft outreach

This workflow extends the research workflow to map the buying committee and generate a personalized message. Note that generate_dealmap and craft_outreach may consume credits.

1
get_prospect

Load the prospect analysis (if not already cached from prior steps).

2
generate_dealmap

Generate the buying committee DealMap. Credits charged only when fresh org-chart data is fetched.

3
get_dealmap

Read the DealMap to see stakeholders and their roles (Economic Buyer, Decision Maker, Champion, etc.).

4
set_top_pick

Optionally correct the committee before drafting: override_stakeholder_role fixes a wrong role, set_top_pick marks who to actually approach for a role. Both are free and team-wide.

5
craft_outreach

Draft an email targeting a stakeholder. Use lead_selector: { stakeholder_role: 'Economic Buyer' } (which picks the top pick for that role) or { level: 'c_suite' }.

Example prompt

Map the buying committee at Travelers for our cyber product,
then draft a helpful email to the Economic Buyer.

Credit awareness

This workflow may consume up to 11 credits (10 for fresh DealMap generation + 1 for outreach). If the DealMap is already cached, only 1 credit is consumed for the outreach message.

Use selectors safely in craft_outreach

When using lead_selector, the server resolves the best matching lead from cached results. Here's how to use each selector type safely:

By level (most common)

Picks the top-ranked lead at the specified level:

{ "lead_selector": { "level": "vp" } }

By name and level

Targets a specific person by name. Requires exact match on full_name within the specified level:

{ "lead_selector": { "full_name": "Jane Smith", "level": "c_suite" } }

By node_id

Uses an internal identifier from a previous get_dealmap response. Most precise but least readable:

{ "lead_selector": { "node_id": "abc123" } }

By stakeholder_role

Selects the top-pick stakeholder with a specific buying committee role from the DealMap:

{ "lead_selector": { "stakeholder_role": "Economic Buyer" } }

Fallback behavior

If the selector can't resolve a stakeholder (e.g., no cached stakeholders at the requested level or role), the outreach is still generated but without personalization. Check selected_lead_note in the response for details. Always call generate_dealmap first to ensure the buying committee is mapped.

MCP Workflows | DealSurface Docs