Member Junction
    Preparing search index...

    Action that enriches contact records using Apollo.io's people matching and search APIs

    This action performs contact enrichment by:

    1. Bulk matching existing contacts against Apollo's database
    2. Updating contact records with enriched social profiles and company data
    3. Creating employment and education history records
    4. Processing contacts in configurable batch sizes for optimal performance
    // Basic contact enrichment
    await runAction({
    ActionName: 'ApolloEnrichmentContactsAction',
    Params: [{
    Name: 'EntityName',
    Value: 'Contacts'
    }, {
    Name: 'EmailField',
    Value: 'Email'
    }, {
    Name: 'FirstNameField',
    Value: 'FirstName'
    }, {
    Name: 'LastNameField',
    Value: 'LastName'
    }, {
    Name: 'TitleField',
    Value: 'Title'
    }, {
    Name: 'EnrichedAtField',
    Value: 'EnrichedAt'
    }, {
    Name: 'Filter',
    Value: 'Email IS NOT NULL AND EnrichedAt IS NULL'
    }]
    });

    // Full enrichment with history tracking
    await runAction({
    ActionName: 'ApolloEnrichmentContactsAction',
    Params: [
    // ... basic params ...
    {
    Name: 'EmploymentHistoryFieldMappings',
    Value: JSON.stringify({
    EmploymentHistoryEntityName: 'Contact Employment Histories',
    EmploymentHistoryContactIDFieldName: 'ContactID',
    EmploymentHistoryOrganizationFieldName: 'Organization',
    EmploymentHistoryTitleFieldName: 'Title'
    })
    }
    ]
    });

    Hierarchy (View Summary)

    Index

    Constructors

    Methods

    • Escapes single quotes in strings for SQL query safety Prevents SQL injection in dynamic filter construction

      Parameters

      • str: string

        String to escape

      Returns string

      Escaped string with doubled single quotes

    • Extract parameter value by name (case-insensitive) Handles special case where 'null' string should be treated as null value

      Parameters

      • params: RunActionParams

        The action parameters

      • paramName: string

        Name of the parameter to extract

      Returns any

      Parameter value or null if not found or explicitly 'null'

    • Main entry point for the Apollo contact enrichment action

      Parameters

      • params: RunActionParams

        The action parameters containing:

        • EntityName: Required - Name of the contact entity to enrich
        • EmailField: Required - Field name containing email addresses
        • FirstNameField: Required - Field name containing first names
        • LastNameField: Required - Field name containing last names
        • TitleField: Required - Field name containing job titles
        • EnrichedAtField: Required - Field to track enrichment timestamp
        • Filter: Required - SQL filter to select contacts for enrichment
        • ProfilePictureURLField: Optional - Field for profile picture URLs
        • AccountNameField: Optional - Field for company/account names
        • DomainField: Optional - Field for email domains
        • LinkedInField: Optional - Field for LinkedIn profile URLs
        • TwitterField: Optional - Field for Twitter profile URLs
        • FacebookField: Optional - Field for Facebook profile URLs
        • EmploymentHistoryFieldMappings: Optional - JSON mapping for employment history entity
        • EducationHistoryFieldMappings: Optional - JSON mapping for education history entity

      Returns Promise<ActionResultSimple>

      Promise indicating success/failure and any error messages

    • Checks if a job title should be excluded from contact processing Filters out non-business contacts like students and volunteers

      Parameters

      • title: string

        Job title to check

      Returns boolean

      boolean - true if title should be excluded

    • Validates if a date string represents a valid date Used for employment/education history date validation

      Parameters

      • dateString: string

        Date string to validate

      Returns boolean

      boolean - true if valid date

    • Retrieves a page of records from a specified entity using RunView Supports pagination with configurable page size and filtering

      Type Parameters

      • T

      Parameters

      • params: PageRecordsParams

        Parameters defining entity, page, and filter criteria

      • currentUser: UserInfo

        User context for data access

      Returns Promise<T[]>

      Array of records or null if query failed

    • Processes a group of contact records using Apollo's bulk people matching API Enriches contacts with social profiles, company data, and employment history

      Parameters

      • params: ProcessPersonRecordGroupParams

        Group processing parameters with contact data and entity mappings

      Returns Promise<boolean>

      Promise indicating success/failure of the group processing

    • Creates or updates employment and education history records for a contact Processes Apollo employment history data to create both employment and education records

      Parameters

      • contact: SearchPeopleResponsePerson

        Apollo person data containing employment history

      • contactEntity: BaseEntity

        Contact entity to create history for

      • params: ProcessPersonRecordGroupParams

        Processing parameters with history entity configurations

      Returns Promise<void>

    • Enriches contacts by searching for people at a specific organization domain Uses Apollo's people search to find contacts and update their employment/education history

      Parameters

      • domain: string

        Organization domain to search for people

      • params: ProcessPersonRecordGroupParams

        Processing parameters with entity configurations

      Returns Promise<void>

    • Wraps Apollo.io API calls with intelligent retry logic for rate limiting Handles both per-minute and hourly rate limits with appropriate backoff

      Parameters

      • method: "get" | "post"

        HTTP method ('get' or 'post')

      • endpoint: string

        Apollo API endpoint path

      • data: any

        Request payload for POST requests

      • config: any

        Axios configuration object

      • retryAttempts: number = 1

        Number of retry attempts remaining (default: 1)

      Returns Promise<AxiosResponse<any, any, {}>>

      Promise - Apollo API response

      Error if rate limit exceeded or other API errors