Skip to content

contact-data-enrichment

Append verified emails and phones to contact records. Paid: 1 credit per contact per data type. This skill exists because misusing the consent flow costs the user money — the rules are strict.

  • The user asks for emails or phones for a list of people.
  • Standard follow-up after ai-prospecting (“yes, pull emails for the top 10”, “all of them”).
  • Enriching CRM rows that already have LinkedIn URLs.

If the rows don’t have LinkedIn URLs yet, the orchestrator runs match-person first.

  • Two ways to pass contacts. Inline contacts dicts (best for small ad-hoc lists or a user-picked subset), or dataset_id passthrough (canonical after an ai_prospecting run — no rebuilding contact dicts, no column-name mistakes).
  • The two-phase consent flow above 10 contacts.
    1. Phase 1: call with contacts=[] and total_count=N → server returns confirmation_required with a user_facing_message.
    2. Agent displays user_facing_message verbatim and stops.
    3. Only after an explicit user “yes”, phase 2 batches start with the confirmation_token.
  • Hard rules: never fabricate the token, never paraphrase the cost message, never treat the user’s original request as approval, never send more than 20 contacts per call.
  • Small-batch shortcut: ≤ 10 contacts skip phase 1 entirely.
  • How to set total_count correctly when reusing an ai_prospecting dataset (from filtered_prospects or dataset.row_count).