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
- Go to Call Tracking > AI Caller > Personas.
- Click New Persona and fill in:
| Field | Description | Example |
|---|---|---|
| Name | Internal label | "Sales Qualifier" |
| Voice | Choose from 20+ voices | "Ava (Female, Warm)" |
| Greeting | First thing the AI says | "Hi, thanks for calling Acme! How can I help?" |
| Company Context | Background info the AI uses | "Acme sells SaaS marketing tools starting at $49/mo" |
| Tone | Formal, friendly, or casual | Friendly |
| Language | Primary language | English |
2. Define Goals
Goals tell the AI what to accomplish during the call. Add one or more:
| Goal Type | What it Does |
|---|---|
| Qualify Lead | Ask qualifying questions (budget, timeline, decision-maker) |
| Book Appointment | Offer available slots and confirm via SMS |
| Collect Info | Gather name, email, phone, or custom fields |
| Answer FAQ | Respond to common questions using your knowledge base |
| Transfer | Warm-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.
- In the persona settings, open the Escalation tab.
- 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.
- Choose an escalation target: ring group, specific agent, or voicemail.
4. Assign to a Call Flow
- Open Call Tracking > Call Flows.
- Edit an existing flow or create a new one.
- Add an AI Caller step and select the persona.
- 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:
- TCPA consent — there is an active, unexpired
ConsentRecordfor 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. - 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.
- 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.
- Per-day rate cap — the brand has not already exceeded their daily outbound dial cap for this number.
- 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:
- Acknowledges the request verbally ("Understood, you'll be removed from our calling list").
- Adds the number to the brand's suppression list and the platform DNC list.
- Terminates the call gracefully.
- Writes a
SuppressionRecordrow 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
| Tier | Max concurrent outbound calls | Monthly outbound minutes | Daily DNC import rows |
|---|---|---|---|
| Starter | 1 | 60 | 10,000 |
| Pro | 5 | 500 | 10,000 |
| Business | 20 | 2,000 | 100,000 |
| Enterprise | Unlimited | Unlimited | Unlimited |
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:
- Open the contact in AI Caller > Contacts.
- 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.