Skip to main content

AI Caller

The AI Caller is Affilync's voice-AI surface. It runs in two modes:

  • Inbound — answers incoming calls 24/7, qualifies leads, books appointments, and warm-transfers to your team.
  • Outbound — places AI-driven outbound calls against a contact list, with built-in TCPA compliance, DNC suppression, per-state quiet hours, and per-brand concurrency limits.

Prerequisites

  • Starter plan or above (AI Caller is not available on Free tier).
  • At least one tracking number configured for inbound. Outbound also requires a verified caller-ID number.
  • Outbound only: agreement to the AI Caller compliance terms, which gates access to the dispatcher.

1. Create a Persona

  1. Go to Call Tracking > AI Caller > Personas.
  2. Click New Persona and fill in:
FieldDescriptionExample
NameInternal label"Sales Qualifier"
VoiceChoose from 20+ voices"Ava (Female, Warm)"
GreetingFirst thing the AI says"Hi, thanks for calling Acme! How can I help?"
Company ContextBackground info the AI uses"Acme sells SaaS marketing tools starting at $49/mo"
ToneFormal, friendly, or casualFriendly
LanguagePrimary languageEnglish

2. Define Goals

Goals tell the AI what to accomplish during the call. Add one or more:

Goal TypeWhat it Does
Qualify LeadAsk qualifying questions (budget, timeline, decision-maker)
Book AppointmentOffer available slots and confirm via SMS
Collect InfoGather name, email, phone, or custom fields
Answer FAQRespond to common questions using your knowledge base
TransferWarm-transfer to a live agent after qualification

For each goal, provide the questions or instructions the AI should follow.

3. Set Escalation Rules

Escalation rules determine when the AI hands off to a human.

  1. In the persona settings, open the Escalation tab.
  2. Configure triggers:
  • Caller requests a human -- always transfer immediately.
  • Sentiment drops below threshold -- transfer if the caller sounds frustrated.
  • Goal completed -- transfer after lead is qualified.
  • Max duration -- transfer after N minutes (default: 5 min).
  • Fallback -- if AI cannot understand after 3 attempts, transfer.
  1. Choose an escalation target: ring group, specific agent, or voicemail.

4. Assign to a Call Flow

  1. Open Call Tracking > Call Flows.
  2. Edit an existing flow or create a new one.
  3. Add an AI Caller step and select the persona.
  4. Publish the flow.

5. Review AI Call Performance

After the AI handles calls, review results in AI Caller > Call Log:

  • Transcript -- full conversation with speaker labels.
  • Goal outcomes -- which goals were achieved.
  • Sentiment timeline -- caller sentiment over the call duration.
  • Lead data -- extracted fields (name, email, etc.).
  • Disposition -- qualified, unqualified, transferred, or voicemail.

Tips for Best Results

  • Keep your Company Context detailed but concise (under 500 words).
  • Test with a real call before going live -- dial your tracking number.
  • Review transcripts weekly and update FAQ answers based on common questions.
  • Use A/B testing (Pro+) to compare two personas side by side.

Outbound AI Caller

The outbound dialer places AI-driven calls against a contact list you upload. Every dial is gated by a compliance pre-flight that runs before the call is placed; if any check fails, the dial is blocked, the contact is marked accordingly, and the next contact is processed. The same persona/goal/escalation system you configured for inbound is reused.

Compliance Pre-Flight (every outbound dial)

Before a call is placed, the dispatcher checks each of the following. All must pass. Any failure blocks the dial:

  1. TCPA consent — there is an active, unexpired ConsentRecord for this phone number, of the consent type required by the campaign (e.g. TCPA, marketing, transactional). Consent is queried per (phone_number, consent_type, campaign_id) so per-campaign consent is supported.
  2. DNC (Do Not Call) list — the number is not present in either the platform-managed DNC suppression list or the brand's own suppression list. The federal DNC SAN consumer feed will plug in here once operator credentials are provisioned; until then the brand-managed DNC list is authoritative.
  3. Per-state quiet hours — the number's resolved state's local time is within the dial window. By default this is 08:00 -- 21:00 local, matching federal TCPA. The called party's local time is used, not the brand's or the dialer's — this is the legally correct interpretation.
  4. Per-day rate cap — the brand has not already exceeded their daily outbound dial cap for this number.
  5. Concurrency cap — the brand has not exceeded their per-tier maximum concurrent outbound calls.

A blocked dial writes a structured reason to the call record (blocked_by_consent, blocked_by_dnc, blocked_by_quiet_hours, blocked_by_rate, blocked_by_concurrency) so you can audit why a campaign isn't dialing.

Real-Time Opt-Out

The AI listens for opt-out signals during every call. If the caller says any variant of "stop", "remove me", "don't call me", "take me off the list", etc., the AI:

  1. Acknowledges the request verbally ("Understood, you'll be removed from our calling list").
  2. Adds the number to the brand's suppression list and the platform DNC list.
  3. Terminates the call gracefully.
  4. Writes a SuppressionRecord row that future pre-flight checks will catch.

The opt-out path runs even if the caller hangs up before the acknowledgement completes — the suppression write happens before the TTS plays. You can review opt-out events in AI Caller > Call Log > Filters > Disposition: Opt-Out.

Refund Credits

If a call is rejected by the called party in under 30 seconds (hang-up, voicemail, no-answer-to-greeting), the brand is not billed for the call. This is automatic — no action required. Refunded calls appear in the call log with disposition refund_credit_applied.

Conversation Intelligence

Every outbound conversation produces a structured outcome record with:

  • Lead score (0-100) derived from the qualifying questions.
  • Sentiment trajectory across the call (timestamped).
  • Topics detected — what the caller actually talked about, mapped against your knowledge base.
  • Goal outcomes — which goals were achieved.
  • Next-best-action — recommended follow-up step.

These are aggregated in AI Caller > Conversation Trends with rollups by day, persona, and campaign.

Calendar Binding (Appointment Booking)

When a goal of type Book Appointment is configured, the AI can read live availability from your connected calendar and write the booking directly:

  • Google Calendar — OAuth connection per persona.
  • Outlook / Microsoft 365 — OAuth connection per persona.

The AI offers slots from the connected calendar, confirms via SMS, and writes the event with the caller's contact info as attendee. If the slot is no longer available by the time the AI confirms, the AI offers the next-nearest slot and retries the write.

Operational Limits

TierMax concurrent outbound callsMonthly outbound minutesDaily DNC import rows
Starter16010,000
Pro550010,000
Business202,000100,000
EnterpriseUnlimitedUnlimitedUnlimited

Concurrency caps are enforced at the dispatcher level. If you hit your cap, the next outbound contact is queued, not dropped.

Auditing a Blocked Dial

If a contact in your campaign isn't being dialed, run through this checklist:

  1. Open the contact in AI Caller > Contacts.
  2. Check Compliance Status:
    • blocked_by_consent → no active consent record. Either skip this contact or capture consent via your usual flow.
    • blocked_by_dnc → number is on the DNC list. Investigate the source — if it's a legitimate consented lead the caller will be honest and update the record manually.
    • blocked_by_quiet_hours → wait for the next dial window in the caller's local state.
    • blocked_by_rate / blocked_by_concurrency → upgrade your plan or wait for caps to reset.

Tips for Best Results

  • Keep your Company Context detailed but concise (under 500 words).
  • Test with a real call before going live -- dial your tracking number.
  • Review transcripts weekly and update FAQ answers based on common questions.
  • Use A/B testing (Pro+) to compare two personas side by side.
  • For outbound: review your DNC suppression list weekly and import any new lists before you launch a campaign, not after.

Next Steps