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 / NOT_REACHABLE / OPT_OUT / NO_OUTCOME)               │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘

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_id, phone, name, etc.)Business
1.3Prepare a webhook endpoint to receive Alvio statusesTech
1.4Define CRM actions for each status (MEETING_BOOKED, OPT_OUT, etc.)Business + Tech

Phase 2 — Configuration (Alvio + You)

#TaskOwnerStatus
2.1Alvio provides webhook URL + API key (test then production)Alvio
2.2You provide your callback URL to receive statusesYour 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 NOT_REACHABLEMark contact (invalid number / no WhatsApp)
3.5Handle OPT_OUTMark contact as opt-out
3.6Handle NO_OUTCOMEUpdate status (manual follow-up possible)

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

Possible statuses:

Final statuses:

StatusMeaningSuggested action
MEETING_BOOKEDAppointment confirmedCreate appointment in CRM, notify sales rep
NOT_REACHABLEInvalid number or no WhatsAppMark contact, plan another channel
OPT_OUTProspect asked to stopRespect choice, do not contact again
NO_OUTCOMEConversation without clear outcomeManual follow-up possible, review in 24–48h

Intermediate statuses (optional):

These allow real-time progress tracking. Implementing them is optional.

StatusMeaningSuggested action
FIRST_MESSAGE_DELIVEREDFirst message sent successfullyUpdate CRM status (contact in progress)
FIRST_MESSAGE_READProspect read the messageEngagement indicator
RESPONSE_RECEIVEDProspect repliedActive conversation

What Alvio provides

ItemDescription
Webhook URLEndpoint to send your leads (test + production)
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.


Example callback payloads

MEETING_BOOKED (appointment confirmed)

{
  "crm_id": "CRM_123456",
  "status": "MEETING_BOOKED",
  "meeting": {
    "start": "2026-01-24T14:30:00+01:00",
    "timezone": "Europe/Paris"
  },
  "ai_summary": "Prospect interested in the offer. Asked technical questions and price. Appointment confirmed with an expert.",
  "conversation_transcript": "See example below"
}

NOT_REACHABLE

{
  "crm_id": "CRM_123456",
  "status": "NOT_REACHABLE",
  "details": { "reason": "NO_WHATSAPP" }
}

OPT_OUT

{
  "crm_id": "CRM_123456",
  "status": "OPT_OUT",
  "details": { "reason": "STOP" }
}

NO_OUTCOME

{
  "crm_id": "CRM_123456",
  "status": "NO_OUTCOME",
  "ai_summary": "Conversation started. Prospect replied partially then went silent.",
  "conversation_transcript": "..."
}

Intermediate statuses (optional)

{
  "crm_id": "CRM_123456",
  "status": "FIRST_MESSAGE_DELIVERED"
}
{
  "crm_id": "CRM_123456",
  "status": "FIRST_MESSAGE_READ"
}
{
  "crm_id": "CRM_123456",
  "status": "RESPONSE_RECEIVED"
}

Example conversation_transcript

The conversation_transcript field contains the full anonymized conversation history. Example:

🗨️ CONVERSATION SUMMARY

=====================================

📞 Contact: Prospect A12
🏢 Company: Not provided
📱 Phone: +33 6 ** ** ** 04
📞 Company number: +33 6 ** ** ** 90
📊 Current status: resolved
🏷️ Kanban stage: responded
📅 Start: 08/10/2025 09:31
⏰ Last activity: 13/10/2025 13:36

-------------------------------------

📋 MESSAGE HISTORY:
Oct 8, 2025 at 09:31 - 💬 Agent: Hello, I'm [First name] from [Company]. Thanks for your request, do you know this product?
Oct 8, 2025 at 09:31 - 👤 Client: No
Oct 8, 2025 at 09:32 - 💬 Agent: OK! [Product description and benefits]. Do you use a similar product?
...
=====================================
Conversation updated automatically by Alvio.

Next steps

  1. Contact Alvio to receive your test credentials
  2. Share your callback URL so we can configure callbacks
  3. Start with Phase 3 — implement the endpoints

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