SMS-OTP-verificatie

Overzicht
Deze handleiding laat zien hoe je Twilio Verify met je ElevenLabs-agent integreert, zodat je een OTP naar het telefoonnummer van een beller kunt sturen en de code kunt verifiëren die deze tijdens een live spraakgesprek terugleest.
Je leert hoe je:
- Een Twilio Verify-service maakt en je gegevens Base64-codeert voor authenticatie.
- Twee webhook-tools (
send_SMS_verificationencheck_SMS_verification) configureert in het dashboard, met de Agents CLI of via de ElevenLabs API. - Beide webhook-calls authenticeert met een
Authorization-header met een geheime waarde. - De systeemtool
skip_turninschakelt, zodat de agent wacht wanneer de beller de code nog niet heeft ontvangen.
Vereisten
- Een Twilio-account met Twilio Verify ingeschakeld. Als Verify niet beschikbaar is in je Twilio Console, vraag dan toegang aan via Twilio support of je Twilio-accountteam.
- Als je Twilio-account zich in de proefmodus bevindt, moet het telefoonnummer van de ontvanger een geverifieerde caller ID in Twilio zijn.
Maak een Authenticate (Verify)-service
Kies in de linkerzijbalk Add + en maak een Authenticate (Verify)-service.
Kopieer de Verify Service SID
Open de pagina Settings van de service en kopieer de Verify Service SID. Deze begint met VA en verschilt van je Account SID.
Veelgemaakte fout: Gebruik je Verify Service SID (VA...) van de Authenticate (Verify)-service in de tool-URL’s hieronder. Zet je Account SID (AC...) niet in het pad. De Verify API verwacht de service-SID in de URL; als je de Account SID gebruikt, krijg je 4xx-fouten voor ongeldige parameters.
Je kunt de Twilio API Explorer in de console gebruiken om requests te testen voordat je ze aan je agent koppelt.
Credentials coderen en webhooktools configureren
Codeer je Twilio-credentials voor Basic authentication
Twilio Verify gebruikt HTTP Basic authentication met je Account SID als gebruikersnaam en Auth Token als wachtwoord. Je vindt beide onder Account Info op de startpagina van de Twilio Console.
Codeer in je shell ACCOUNT_SID:AUTH_TOKEN met Base64 (gescheiden door een dubbele punt, zonder spaties):
Kopieer de uitvoer. De volledige waarde van de header Authorization bestaat uit het woord Basic, één spatie en die Base64-string. Sla deze in de volgende stappen op als tool secret.
Configureer de tools send_SMS_verification en check_SMS_verification
send_SMS_verification roept Twilio Verify aan om een sms-OTP te verzenden. check_SMS_verification verstuurt de cijfers die de beller uitspreekt. Beide vereisen dezelfde Verify Service SID en hetzelfde Authorization-secret.
Toevoegen via het dashboard
Toevoegen via de CLI
Toevoegen via de API
send_SMS_verification

Kies in het gedeelte Agent van je agentinstellingen Add Tool en selecteer Webhook.
Vervang YOUR_VERIFY_SERVICE_SID door de VA...-SID uit de eerste stap.
Authentication header: Voeg onder Headers Authorization toe als type Secret en plak de volledige waarde (Basic plus Base64). Zie Webhooktools.
Body parameters: Stel Content type in op URL-encoded (application/x-www-form-urlencoded). Voeg parameters toe met LLM Prompt als waardetype:
check_SMS_verification
Voeg een tweede webhooktool toe:
Gebruik dezelfde Verify Service SID en hetzelfde Authorization-secret als voor send_SMS_verification.
Body parameters: URL-encoded. Voeg To (E.164) en Code (OTP-cijfers) toe met LLM Prompt.
Als je Channel in het dashboard als een door de LLM ingevuld veld configureert, voeg dan instructies toe aan je system prompt zodat het model altijd sms doorgeeft. In de bovenstaande CLI- en API-voorbeelden wordt sms vastgezet met constant_value / constantValue, zodat het model het kanaal niet kiest.
Schakel de system tool skip_turn in
Bellers hebben vaak even tijd nodig om de sms te ontvangen voordat ze de code kunnen voorlezen. Zonder skip_turn kan de agent door de stilte heen praten of prompts herhalen.
Toevoegen via het dashboard
Toevoegen via de CLI
Toevoegen via de API
Kies in Tools Add Tool, selecteer System tool en schakel Skip turn in. Verdere configuratie is niet nodig.
Voeg richtlijnen toe aan de system prompt zodat het model weet wanneer het deze moet aanroepen, bijvoorbeeld:
Zie Skip turn voor meer informatie.
Problemen oplossen
Twilio 60200 — Ongeldige parameter (HTTP 400)
Twilio kan een body zoals deze retourneren wanneer de request-URL of body niet overeenkomt met wat de Verify API verwacht:
Wat je moet controleren: Het pad moet je Verify Service SID (VA...) uit de instellingen van de Authenticate (Verify)-service gebruiken. Je Account SID (AC...) in .../Services/{Sid}/... zetten is een veelvoorkomende oorzaak van 60200. Bekijk de Twilio-documentatie over 60200 voor andere gevallen van ongeldige parameters.
Twilio 20003 — Authentication Error — No credentials provided (HTTP 401)
Wanneer de header Authorization ontbreekt, onjuist is opgebouwd of niet wordt verzonden, kan Twilio reageren met:
Wat je moet controleren: De tool moet een Authorization-header versturen waarvan de waarde de volledige tekenreeks Basic <base64> is (inclusief het woord Basic en één spatie vóór de Base64-uitvoer). De Base64-invoer moet exact ACCOUNT_SID:AUTH_TOKEN zijn, zonder extra spaties of regeleinden. Controleer of het secret aan deze header is gekoppeld voor beide webhooktools. Zie 20003.
Andere problemen
- Nummer afgewezen in de proefmodus: Open in de Twilio Console Verified phone numbers en controleer voordat je test of het nummer van de ontvanger in de lijst staat.
- Agent praat door de beller heen: Controleer of Skip turn is ingeschakeld en of de system prompt het model vertelt
skip_turnte gebruiken wanneer de beller tijd nodig heeft.