Integration recipes
Put enrichment to work.
Six practical patterns for adding business data at the moment it is needed. Each recipe defines the trigger, request, decision and fallback so you can adapt it to your own application.
Request bodies use illustrative records. Complete the quickstart to configure authentication and your gateway first. These examples describe the retrieval step; your application performs downstream updates.
Build for your platform
HubSpot
Read a HubSpot contact, request missing work email or business phone fields, review the result and apply a safe update through the Contacts API.
Open implementation guide →Salesforce
Build a Salesforce contact enrichment workflow with TargetWise: field mapping, a dry-run example, record-change checks and controlled API updates.
Open implementation guide →n8n
Configure the n8n HTTP Request node, send one TargetWise lookup and branch on matched, partial, missing and error responses before updating your CRM.
Open implementation guide →AI clients
Configure bearer authentication for TargetWise MCP in Cursor and Claude Code, discover tools and make a bounded contact lookup with clear client requirements.
Open implementation guide →Build a relevant account shortlist
View recipe ↓02 · Buying committee researchFind the right people at a target account
View recipe ↓03 · Inbound routingAdd context to an inbound business email
View recipe ↓04 · CRM record reviewComplete a missing CRM contact field
View recipe ↓05 · Meeting preparationPrepare a company brief before a meeting
View recipe ↓06 · AI agent enrichmentGive an agent a focused lookup task
View recipe ↓Recipe 01 · Account research
Build a relevant account shortlist
Trigger. A researcher applies an market segment.
/api/v1/prospecting/companies/search{
"filters": {
"website_keywords": [
"logistics"
],
"employee_count": {
"min": 200,
"max": 5000
}
},
"limit": 5,
"page": 1
}Workflow
- Search one page using the segment’s filters.
- Compare company names, websites and locations against your criteria.
- Pass the selected company_id to /companies/enrich, preserving the returned string exactly.
Keep the shortlist for review. Stop on an empty result; change the filter only when the task calls for a broader or different segment.
Request budget. One search call, followed by one enrichment for each deliberately selected company.
Recipe 02 · Buying committee research
Find the right people at a target account
Trigger. An account owner chooses a company domain and the seniority they need.
/api/v1/prospecting/contacts/search{
"domains": [
"example.com"
],
"seniorities": [
"vp",
"director"
],
"limit": 5,
"page": 1
}Workflow
- Search candidates within the selected company domain.
- Review current role and company context before choosing a person.
- Use their LinkedIn URL or supported name and company fields with /contacts/find-work-email. Do not pass person_id as an enrichment input.
Return the selected professional and available work email. Keep a missing email unresolved; candidate search itself never reveals contact details.
Request budget. One search plus one field lookup for the chosen person.
Recipe 03 · Inbound routing
Add context to an inbound business email
Trigger. A business contact submits a form and your backend receives the email.
/api/v1/reverse-email{
"email": "alex@example.com",
"include_phone": false,
"include_profile": false
}Workflow
- Resolve the submitted business email once for that form event.
- Compare returned employer context with the submitted company information.
- Apply your existing assignment rules. If more company context is necessary, enrich a returned company_id in a separate call.
Send ambiguous or missing company context to your default review queue. Do not infer a person’s employer from a free-mail domain.
Request budget. One reverse lookup; company enrichment is an optional second call.
Recipe 04 · CRM record review
Complete a missing CRM contact field
Trigger. A user opens or assigns a contact record whose work email is empty.
/api/v1/contacts/find-work-email{
"first_name": "Alex",
"last_name": "Reed",
"company_domain": "example.com"
}Workflow
- Check that the field is still missing and that this workflow has not already completed the lookup.
- Make one field-specific request using the known person identifiers.
- Offer the returned email as a proposed update, then write it through your CRM integration after your merge rules pass.
Keep trusted existing values. If the record changed while the lookup was running, review the conflict before saving.
Request budget. One work-email call for the missing field; no phone lookup.
Recipe 05 · Meeting preparation
Prepare a company brief before a meeting
Trigger. A user asks for a brief on a known company.
/api/v1/companies/enrich{
"website_url": "https://example.com",
"include_provenance": true
}Workflow
- Resolve the company from a confirmed website or company identifier.
- Use available company fields to populate the brief, keeping retrieval time and any returned source information.
- If attendee context is also needed, make a separate contact request with include_email: false, include_phone: false and include_profile: true.
Distinguish returned facts from your analysis. Leave unavailable information out of the brief rather than filling gaps with guesses.
Request budget. One company call; an attendee profile is a separate, optional request subject to account permission.
Recipe 06 · AI agent enrichment
Give an agent a focused lookup task
Trigger. A user asks the host to find a work email for a known professional.
targetwise_find_work_email{
"linkedin_url": "https://www.linkedin.com/in/example"
}Workflow
- Allow targetwise_find_work_email for the task and provide the known identifier.
- Read result.structuredContent and check status, data and unresolved_fields.
- Return the available result to the user. Use a separate application step for any CRM update or message.
Stop when no email is found. If the user can supply a stronger identifier, treat that as a new request with its own call budget.
Request budget. One MCP tool call; no automatic search loop.
Keep the integration predictable.
| Rule | Implementation choice |
|---|---|
| One event, one recorded outcome | Store your event ID and completed lookup result to avoid repeating work. |
| Do not overwrite trusted fields blindly | Check the current record again before applying an update. |
| Separate no match from an error | not_found completes the lookup. Operational errors follow a retry limit with backoff. |
| Request only necessary fields | Use dedicated email or phone operations, and set contact reveal flags explicitly. |
| Trace without exposing contact data | Keep request IDs and outcomes; avoid putting credentials or full records in logs. |
| Cap downstream actions | Apply explicit rules for CRM updates, exports and communications. |
For exact schemas and error codes, use the REST reference. For tool discovery and host behavior, use the MCP documentation.