Outreach Research
Purpose
Run only Intent Outreach's research phase for user-supplied domains. The MCP server calls configured
research connectors in registry order and returns aggregated leads, contacts, and connector status;
this skill performs no enrichment, scoring, drafting, saving, or sending.
Prerequisites
- Enable the bundled Intent Outreach MCP server.
- Supply an ICP and one or more company domains.
- Configure at least one connector whose returned
phases contains research. Credentials are
environment variables documented in references/research-runtime.md.
Instructions
- Parse the ICP and comma-separated domains. Normalize obvious URL input to hostnames, remove exact
duplicates, reject malformed values, and confirm the resulting scope.
- Call
list_connectors. Show the configured connectors that support research; never print secret
values or assume a present credential is valid.
- If no configured research connector exists, stop and list the relevant
keyEnvVar names.
- Call
research_domain(domain, icp) once for each confirmed domain.
- Aggregate and deduplicate leads by domain and contacts by stable email or domain/name identity while
preserving source attribution.
- Render a compact result table and identify connectors that ran, skipped, or failed. Label the result
partial when any configured connector failed.
Authentication and data handling
- Connector credentials come from environment variables and are sent only to the corresponding
provider API. Never ask the user to paste a credential into chat.
- Research calls transmit the domain and ICP to configured provider APIs. Obtain confirmation of scope
before making the calls.
- Return only provider-supplied records. Never invent companies, people, titles, addresses, or signals.
Output
Return:
- a table of company, domain, optional industry/size, contact count, and sources;
- a concise contacts table when contacts were returned;
- per-domain
ran and skipped connector status;
- an explicit note that no enrichment, drafting, persistence, or sending occurred.
Error handling
- No configured research connector: stop before any research call and name the required variables.
- Invalid domain: exclude it, explain why, and continue only with confirmed valid domains.
- Connector failure: preserve the runtime failure/skipped result and continue with other connectors.
- Empty domain result: report zero records for that domain; do not fill gaps from memory.
- MCP unavailable: explain that the bundled server must be enabled and stop.
Examples
User: /outreach-research ICP: developer-tool founders; domains: example.com,example.org
Confirm both domains, inspect connector status, call research_domain for each, and report exactly what
the providers returned. Do not proceed to enrichment or drafting.
- Example: no credentials. Stop after registry inspection and list only the environment-variable
names for research-capable connectors.
- Example: mixed domain input. Normalize URLs, reject malformed entries, and ask the user to confirm
the resulting hostnames before external calls.
- Example: empty provider result. Return zero leads and contacts for the domain without filling gaps
from general knowledge.
For troubleshooting partial results, preserve the per-domain connector status and distinguish an empty
provider response from an authentication, quota, or network failure.
Resources
- Read Research runtime and authentication for the external-call and
credential boundary.
- Use
outreach-connectors for a read-only preflight and intent-outreach for the reviewed full workflow.
1---2name: outreach-research3description: Research company domains through configured Intent Outreach connectors without enriching or drafting. Use when a user wants a grounded lead/contact discovery pass before a campaign. Trigger with "/outreach-research", "research these domains", or "find contacts for these companies".4license: SEE LICENSE IN LICENSE5---67# Outreach Research89## Purpose1011Run only Intent Outreach's research phase for user-supplied domains. The MCP server calls configured12research connectors in registry order and returns aggregated leads, contacts, and connector status;13this skill performs no enrichment, scoring, drafting, saving, or sending.1415## Prerequisites1617- Enable the bundled Intent Outreach MCP server.18- Supply an ICP and one or more company domains.19- Configure at least one connector whose returned `phases` contains `research`. Credentials are20 environment variables documented in [references/research-runtime.md](references/research-runtime.md).2122## Instructions23241. Parse the ICP and comma-separated domains. Normalize obvious URL input to hostnames, remove exact25 duplicates, reject malformed values, and confirm the resulting scope.262. Call `list_connectors`. Show the configured connectors that support `research`; never print secret27 values or assume a present credential is valid.283. If no configured research connector exists, stop and list the relevant `keyEnvVar` names.294. Call `research_domain(domain, icp)` once for each confirmed domain.305. Aggregate and deduplicate leads by domain and contacts by stable email or domain/name identity while31 preserving source attribution.326. Render a compact result table and identify connectors that ran, skipped, or failed. Label the result33 partial when any configured connector failed.3435## Authentication and data handling3637- Connector credentials come from environment variables and are sent only to the corresponding38 provider API. Never ask the user to paste a credential into chat.39- Research calls transmit the domain and ICP to configured provider APIs. Obtain confirmation of scope40 before making the calls.41- Return only provider-supplied records. Never invent companies, people, titles, addresses, or signals.4243## Output4445Return:4647- a table of company, domain, optional industry/size, contact count, and sources;48- a concise contacts table when contacts were returned;49- per-domain `ran` and `skipped` connector status;50- an explicit note that no enrichment, drafting, persistence, or sending occurred.5152## Error handling5354- **No configured research connector:** stop before any research call and name the required variables.55- **Invalid domain:** exclude it, explain why, and continue only with confirmed valid domains.56- **Connector failure:** preserve the runtime failure/skipped result and continue with other connectors.57- **Empty domain result:** report zero records for that domain; do not fill gaps from memory.58- **MCP unavailable:** explain that the bundled server must be enabled and stop.5960## Examples6162> **User:** `/outreach-research ICP: developer-tool founders; domains: example.com,example.org`6364Confirm both domains, inspect connector status, call `research_domain` for each, and report exactly what65the providers returned. Do not proceed to enrichment or drafting.6667- **Example: no credentials.** Stop after registry inspection and list only the environment-variable68 names for research-capable connectors.69- **Example: mixed domain input.** Normalize URLs, reject malformed entries, and ask the user to confirm70 the resulting hostnames before external calls.71- **Example: empty provider result.** Return zero leads and contacts for the domain without filling gaps72 from general knowledge.7374For troubleshooting partial results, preserve the per-domain connector status and distinguish an empty75provider response from an authentication, quota, or network failure.7677## Resources7879- Read [Research runtime and authentication](references/research-runtime.md) for the external-call and80 credential boundary.81- Use `outreach-connectors` for a read-only preflight and `intent-outreach` for the reviewed full workflow.