Member Junction
    Preparing search index...

    Action that enriches account records using Apollo.io's organization and people data

    This action performs comprehensive account enrichment by:

    1. Enriching organization data (address, phone, social profiles, etc.)
    2. Creating technology stack records for the organization
    3. Finding and enriching contacts associated with the organization
    4. Creating employment/education history for contacts
    // Basic account enrichment
    await runAction({
    ActionName: 'ApolloEnrichmentAccountsAction',
    Params: [{
    Name: 'AccountEntityFieldMappings',
    Value: JSON.stringify({
    EntityName: 'Accounts',
    Filter: 'Domain IS NOT NULL AND EnrichedAt IS NULL',
    DomainField: 'Domain',
    AccountIDField: 'ID',
    EnrichedAtField: 'EnrichedAt'
    })
    }]
    });

    // Full enrichment with contacts and technologies
    await runAction({
    ActionName: 'ApolloEnrichmentAccountsAction',
    Params: [{
    Name: 'AccountEntityFieldMappings',
    Value: JSON.stringify(accountConfig)
    }, {
    Name: 'ContactEntityFieldMappings',
    Value: JSON.stringify(contactConfig)
    }, {
    Name: 'AccountTechnologyEntityFieldMappings',
    Value: JSON.stringify(technologyConfig)
    }]
    });

    Hierarchy (View Summary)

    Index

    Constructors

    Methods

    • Creates or updates technology records associated with an account Manages the relationship between accounts and their technology stack Marks old technologies as ended if no longer detected

      Parameters

      • params: ProcessSingleDomainParams

        Processing parameters with technology entity configuration

      • accountID: string | number

        ID of the account to associate technologies with

      • technologies: TechnologyMap[]

        Array of technology data from Apollo

      • md: IMetadataProvider

        Metadata instance for entity operations

      • currentUser: UserInfo

        User context for data access

      Returns Promise<boolean>

      Promise indicating overall success/failure

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

      Parameters

      • str: string

        String to escape

      Returns string

      string - Escaped string with doubled single quotes

    • Main entry point for the Apollo account enrichment action

      Parameters

      • params: RunActionParams

        The action parameters containing:

        • AccountEntityFieldMappings: Required JSON configuration for account entity field mappings
        • ContactEntityFieldMappings: Optional JSON configuration for contact entity field mappings
        • AccountTechnologyEntityFieldMappings: Optional JSON configuration for technology tracking
        • TechnologyCategoryEntityFieldMappings: Optional JSON configuration for technology categories
        • ContactEducationHistoryEntityFieldMappings: Optional JSON configuration for education history

      Returns Promise<ActionResultSimple>

      Promise indicating success/failure and any error messages

    • Checks if a job title should be excluded from contact creation 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

    • Processes a single domain for both organization and people enrichment This is the main orchestration method for enriching one account

      Parameters

      • params: ProcessSingleDomainParams

        Domain processing parameters with entity configurations

      • startRow: number

        Current row number for progress tracking

      • totalRows: number

        Total number of rows for progress tracking

      • md: IMetadataProvider

        Metadata instance for entity operations

      • currentUser: UserInfo

        User context for data access

      Returns Promise<boolean>

      Promise indicating success/failure of domain processing

    • Wraps Apollo.io API calls with retry logic for rate limiting Handles 429 (Too Many Requests) responses with exponential 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