Documentation Index
Fetch the complete documentation index at: https://docs.enginy.ai/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The Actions API allows you to programmatically execute enrichments and other actions on your contacts and companies. This endpoint enables you to automate complex data enrichment pipelines by chaining multiple actions together in a single request.
An “actions run” is a concatenated series of actions that executes one or more enrichments on a set of contacts or companies. Each action runs sequentially on each entity.
Request Body
The request must include a actions array and one of the following target specifiers:
| Field | Type | Description |
|---|
contactIds | number[] | Array of contact IDs to process |
companyIds | number[] | Array of company IDs to process |
contactGroupIds | number[] | Array of contact list IDs to process |
companyGroupIds | number[] | Array of company list IDs to process |
Each action object in the array must have:
| Field | Type | Description |
|---|
type | ActionType | The type of action to execute (see Available actions below) |
options | custom object | Configuration options specific to the action type (optional) |
Available Actions
Scrapes complete profile information from LinkedIn.
Type: SCRAPE_LEAD_FROM_LINKEDIN
Options:
{
skipCompanyScrape?: boolean // Skip scraping associated company data
skipContactMerge?: boolean // Skip contact merge if a duplicate is found in Enginy
}
Use When: You have LinkedIn URLs and want complete profile data
Enrich with email
Finds professional email addresses for contacts.
Type: ENRICH_WITH_EMAIL
Options:
{
sortedApis?: string[] // e.g., ["CREDITS", "APOLLO", "DROPCONTACT"]
stopType?: "NONE" | "VERIFIED_EMAIL" | "PHONE"
speed?: "SLOW" | "FAST" // SLOW = more thorough, FAST = quicker
maxTimeToWait?: number // Milliseconds
}
Use When: You need to find email addresses for contacts
Tip: Combine with VERIFY_LEAD_EMAIL for best results
Enrich with phone
Finds phone numbers for contacts.
Type: ENRICH_WITH_PHONE
Options:
{
sortedApis?: string[] // e.g., ["CREDITS", "APOLLO", "DROPCONTACT"]
stopType?: "NONE" | "VERIFIED_EMAIL" | "PHONE"
speed?: "SLOW" | "FAST"
maxTimeToWait?: number // Milliseconds
}
Use When: You need phone numbers for outreach
Verifies email addresses for deliverability.
Type: VERIFY_LEAD_EMAIL
Options: None required
Use When: You have email addresses and want to verify they’re valid before sending
Best Practice: Always verify emails before running email campaigns
Verifies phone numbers for validity.
Type: VERIFY_LEAD_PHONE
Options: None required
Use When: You have phone numbers and want to verify they’re valid
Finds and imports LinkedIn contacts working at a target company. Targets companies (companyIds / companyGroupIds).
Type: SEARCH_LEADS_FROM_LINKEDIN_COMPANY
Options:
{
// Filter source — provide exactly one of `text`, `savedFilterId`, or `filters`.
// `keyword` may be supplied on its own or alongside `savedFilterId` / `filters`.
//
// Agents and MCP clients should generally prefer `text`: AI Finder turns a
// natural-language description into the Sales Nav filter payload, which
// produces better results than manually-constructed `filters` / `keyword`.
text?: string // RECOMMENDED for agents/MCP. Natural-language
// description (≤500 chars). Example:
// "Heads of Sales who changed jobs in the past 90 days".
savedFilterId?: number // Reuse a stored Sales Nav filter (type=LEAD) from
// GET /v1/saved-filters. Sub-second, deterministic.
filters?: Record<string, unknown> // Raw Sales Nav filter payload (same shape
// GET /v1/saved-filters returns under `filters`).
// Shape-validated server-side.
keyword?: string | string[] // Extra Sales Nav keyword(s) merged into the search.
maxLeadsToImport?: number // Default 5, max 10.
destinationContactGroupId?: number // Optional contact list to import discovered contacts into.
onlyIncludeIfCompanyUrnMatch?: boolean // Only keep results LinkedIn maps to the exact target URN.
importOnlyNewContacts?: boolean // Skip contacts already in your Enginy workspace.
}
Mutex rules:
text is exclusive with savedFilterId, filters, and keyword.
savedFilterId is exclusive with filters (but can be combined with keyword).
- At least one of
text, savedFilterId, filters, or keyword must be provided.
Recommended payload (agents / MCP / new integrations):
{
"actions": [
{
"type": "SEARCH_LEADS_FROM_LINKEDIN_COMPANY",
"options": {
"text": "Heads of Sales who changed jobs in the past 90 days",
"maxLeadsToImport": 10,
"destinationContactGroupId": 12345
}
}
],
"companyIds": [98765]
}
Use When: You have target companies (companyIds or companyGroupIds) and want LinkedIn contacts matching a role/seniority/persona description imported into Enginy.
Export to CRM
Exports enriched contact or company data to your connected CRM.
Type: EXPORT_TO_CRM
Options:
{
CRMOwnerId?: {
value: string // CRM owner/user ID
override: boolean // Whether to override existing owner
}
promptLeadFieldsCRMMapping?: {
[fieldName: string]: {
value: string
override: boolean
}
}
promptCompanyFieldsCRMMapping?: {
[fieldName: string]: {
value: string
override: boolean
}
}
overwriteFields?: {
[fieldName: string]: boolean
}
associationType?: string
exportAssociatedObject?: boolean // Also export company when exporting contact
}
Use When: You want to sync enriched data to your CRM
Tip: Use this as the last step in your enrichment pipeline
Common Use Cases
New Lead Qualification Pipeline
Goal: Quickly qualify and enrich new leads from an event
{
"actions": [
{"type": "SCRAPE_LEAD_FROM_LINKEDIN"},
{"type": "ENRICH_WITH_EMAIL"},
{"type": "VERIFY_LEAD_EMAIL"},
{
"type": "EXPORT_TO_CRM",
"options": {
"CRMOwnerId": {"value": "sales_rep_123", "override": false}
}
}
],
"contactGroupIds": [...]
}
Result: Fully enriched, verified leads in your CRM ready for outreach
List Cleaning & Verification
Goal: Clean and verify an existing contact list
{
"actions": [
{"type": "VERIFY_LEAD_EMAIL"},
{
"type": "EXPORT_TO_CRM",
"options": {
"promptLeadFieldsCRMMapping": {
"Email_Verified__c": {
"value": "true",
"override": true
}
}
}
}
],
"contactGroupIds": [...]
}
Result: Verified contact list with verification status updated in CRM
Multi-Channel Outreach Preparation
Goal: Prepare contacts for both email and phone outreach
{
"actions": [
{
"type": "ENRICH_WITH_EMAIL",
"options": {"stopType": "VERIFIED_EMAIL"}
},
{"type": "ENRICH_WITH_PHONE"},
{"type": "VERIFY_LEAD_EMAIL"},
{"type": "EXPORT_TO_CRM"}
],
"contactIds": [...]
}
Result: Contacts with verified emails and phone numbers ready for SDR team