en
Getting Started Guide

Getting Started — Alvio Integration

This guide walks you step by step through integrating Alvio with your system. After a first failed call attempt, Alvio takes over on WhatsApp to qualify the lead and schedule an appointment when relevant.

Don't have a custom CRM?

This guide is for companies with their own system or a custom CRM that requires technical integration.

If you don't need deep integration, Alvio can simply provide a shared calendar that your teams subscribe to. Each confirmed appointment appears automatically with all details (summary, transcript, contact info). Contact us for this option.


Flow overview

┌─────────────────────────────────────────────────────────────────────────┐
│                         YOUR SYSTEM                                     │
│                                                                         │
│   Call #1 failed ──────▶ Send lead to Alvio (POST webhook)              │
│   (no answer / busy)     { crm_contact_id, phone_number }              │
│                                                                         │
└─────────────────────────────────────┬───────────────────────────────────┘
                                      │
                                      ▼
┌─────────────────────────────────────────────────────────────────────────┐
│                              ALVIO                                      │
│                                                                         │
│   WhatsApp contact ──────▶ Qualification ──────▶ Booking               │
│                                                                         │
└─────────────────────────────────────┬───────────────────────────────────┘
                                      │
                                      ▼
┌─────────────────────────────────────────────────────────────────────────┐
│                         YOUR SYSTEM                                     │
│                                                                         │
│   Receive Alvio status ──────▶ Update CRM                               │
│   (MEETING_BOOKED / NO_WHATSAPP / CONTACT_STOP_REQUESTED)               │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘

Integration checklist

Phase 1 — Preparation (Your team)

#TaskOwnerStatus
1.1Identify the trigger in your system (e.g. call #1 failed)Business☐
1.2Define fields to send to Alvio (crm_contact_id, phone_number, name, etc.)Business☐
1.3Prepare a webhook endpoint to receive Alvio statusesTech☐
1.4Define CRM actions for each status (MEETING_BOOKED, CONTACT_STOP_REQUESTED, etc.)Business + Tech☐

Phase 2 — Configuration (Alvio + You)

#TaskOwnerStatus
2.1Retrieve the source URL and token from the campaignAlvio☐
2.2Configure a receiving destination and subscriptions in WebhooksYour tech team☐
2.3WhatsApp Business number configurationYour marketing team☐
2.4Create and approve WhatsApp templatesYour marketing team☐
2.5Connect WhatsApp number to AlvioAlvio + You☐

Phase 3 — Development (Your team)

#TaskDescriptionStatus
3.1Send leadsImplement POST call to Alvio webhook☐
3.2Receive statusesImplement callback endpoint☐
3.3Handle MEETING_BOOKEDCreate appointment in CRM + notify sales rep☐
3.4Handle NO_WHATSAPPMark the contact as unreachable on WhatsApp☐
3.5Handle CONTACT_STOP_REQUESTEDStop calls or all contact according to data.scope☐
3.6Handle SEND_FAILEDInvestigate the error and update CRM tracking☐

What you need to prepare

1. Sending leads to Alvio

Your system must send an HTTP POST when a call fails:

{
  "crm_contact_id": "CRM_123456",
  "phone_number": "+33612345678"
}

Recommended optional fields: name, email, business context, assigned rep. See the webhook integration guide for the full payload.

2. Callback endpoint (receiving statuses)

You must expose an HTTPS URL to receive Alvio events:

POST https://your-domain.com/api/alvio/callback

Campaign notifications use event_type: "update" and an event_name. Configure a subscription for each event your CRM needs.

EventMeaningSuggested action
NO_WHATSAPPContact unreachable on WhatsAppPlan another permitted channel
CONTACT_STOP_REQUESTEDConfirmed request to stop contactApply all_contact or phone_calls according to data.scope
MEETING_BOOKEDAppointment confirmedSync the appointment and notify the sales rep
LEAD_RECEIVEDLead accepted by the campaign sourceTrack entry into Alvio
ESCALATIONHuman follow-up requiredCreate a task; read data.urgent for callback priority
SEND_FAILEDSend attempt failedInvestigate the cause and update tracking
MESSAGE_SENTCampaign message sentTrack progress without inferring delivery or reading
REPLY_DETECTEDReply triggering the stop of follow-upsTrack the prospect's reply

The subscriptions guide covers all events, their format, tests and retries. Accept null values, verify authentication and deduplicate notifications using event_id.

Existing integrations: older examples in this guide used status, crm_id, NOT_REACHABLE, OPT_OUT, NO_OUTCOME, FIRST_MESSAGE_DELIVERED, FIRST_MESSAGE_READ or RESPONSE_RECEIVED. They do not describe the current standard subscription contract. These names are not automatic aliases; retain any specific contract already in use and confirm its migration with Alvio.


What Alvio provides

ItemDescription
Webhook URLCampaign-specific source for sending leads
API keyAuthentication for secure exchanges
Technical supportAssistance during integration
WhatsApp connectionConfiguration of the link with your number

What your marketing team needs to prepare

ItemDescription
WhatsApp Business numberDedicated number to connect to Alvio
Meta Business accountAccess to Meta Business Manager
WhatsApp templatesMeta-approved messages (Alvio can advise)

See the WhatsApp Business API Guide for configuration details.


Process a campaign callback

For an appointment, read event_name: "MEETING_BOOKED", the CRM identifier in external_references.contact_id and the schedule in data.start, data.end and data.timezone. The full JSON also includes lead and campaign details.

See the complete appointment, escalation and STOP examples. The standard contract does not automatically include conversation_transcript or a root-level ai_summary; alvio.conversation_url opens the conversation and data.notes can contain appointment notes.


Next steps

  1. Configure a test campaign and retrieve its source URL and token.
  2. Configure your destination and subscriptions in Webhooks.
  3. Test both directions of the flow, including signatures and deduplication, before going live.

Questions? Our technical team is available to support you at every step.