Twilio Flex Connector
Connectorstatus: Planlagt Ikke bygget endnu. Tajo kører ikke denne connector i dag.
Illustration · eksempeldata
Eksempel på synkronisering
Kilde
Twilio Flex
Connectorstatus: Planlagt
Destination
Dit andet værktøj
Connectorstatus: Eget værktøj
Feltmapping
| Kildefelt | Destinationsfelt | Eksempelværdi |
|---|---|---|
record.id | source_id | record_1042 |
record.updated_at | updated_at | 2026-10-18T08:00:00Z |
record.value | value | sample_value |
- Udkast
- Gennemse én post
- Godkend denne version
Status gælder den enkelte connector og garanterer ikke, at denne synkronisering er klar. Felterne er illustrative. Tjek det faktiske skema og tilladelser før en synkronisering.
Forbind dit Twilio Flex-contactcenter til Brevo for en forenet kundeinteraktionshistorik, marketing-flows efter samtaler og supportdrevne engagementanalyser via Tajo.
Oversigt
| Egenskab | Værdi |
|---|---|
| Platform | Twilio Flex |
| Kategori | Brugerdefineret |
| Opsætningskompleksitet | Avanceret |
| Officiel integration | Nej |
| Synkroniserede data | Kunder, samtaler, hændelser |
| Anvendte API’er | Flex API, Conversations API, TaskRouter API |
| Autentifikation | Account SID + Auth Token / API Key |
| Base-URL | https://flex-api.twilio.com |
Funktioner
- Samtalesynkronisering - Videresend tale-, SMS-, WhatsApp- og chatinteraktioner til Brevo-tidslinjer
- Berigelse af kundeprofiler - Synkronisér Flex-kundedata til Brevo-kontaktattributter
- Kampagner efter interaktion - Udløs Brevo-workflows, når supportsamtaler slutter
- CSAT-hændelsestracking - Synkronisér tilfredshedsundersøgelsesresultater som Brevo-hændelser
- Agentaktivitetsdata - Spor agentpræstationsmetrikker til operationel rapportering
- Køanalyse - Videresend ventetids- og afbrydelsesdata til oplevelsesoptimering
Forudsætninger
Før du begynder, skal du sikre dig, at du har:
- En Twilio-konto med Flex aktiveret
- Dit Twilio Account SID og Auth Token
- En Flex-instans med aktive kanaler (tale, SMS, chat eller WhatsApp)
- TaskRouter-workspace konfigureret
- En Brevo-konto med API-adgang
- En Tajo-konto med et aktivt abonnement
Autentifikation
Twilio Flex bruger Twilios standardautentifikationsmetoder.
Kontolegitimationsoplysninger
# Basic Auth: Account SID as username, Auth Token as passwordcurl -X GET "https://flex-api.twilio.com/v1/Configuration" \ -u "$TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN"API Key (anbefalet til produktion)
- Gå til Twilio Console > Account > API keys & tokens
- Klik Create API Key
- Vælg Standard-nøgletype
- Opbevar SID og Secret sikkert
curl -X GET "https://flex-api.twilio.com/v1/Configuration" \ -u "$TWILIO_API_KEY_SID:$TWILIO_API_KEY_SECRET"Auth Token vs. API Key
Din Auth Token giver fuld kontoadgang. Til produktion bør du bruge scoped API Keys i stedet. API Keys kan tilbagekaldes individuelt uden at afbryde andre integrationer.
Forbind til Tajo
tajo connectors install twilio-flex \ --account-sid $TWILIO_ACCOUNT_SID \ --auth-token $TWILIO_AUTH_TOKEN \ --flex-flow-sid $TWILIO_FLEX_FLOW_SIDKonfiguration
Grundlæggende opsætning
connectors: twilio_flex: enabled: true account_sid: "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" flex_flow_sid: "FOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
sync: conversations: true tasks: true customers: true csat: true agent_activity: false
lists: support_contacts: 32 csat_respondents: 33
channels: - voice - sms - whatsapp - webchatFeltmapping
Knyt Flex-kunde- og interaktionsdata til Brevo-attributter:
field_mapping: # Customer fields identity: FLEX_IDENTITY friendly_name: FIRSTNAME attributes.email: email attributes.phone: SMS
# Interaction metrics last_conversation_date: LAST_SUPPORT_DATE total_conversations: SUPPORT_TICKET_COUNT avg_wait_time: AVG_WAIT_TIME last_csat_score: CSAT_SCORE preferred_channel: PREFERRED_CHANNEL
# Custom attributes customer_tier: VIP_TIER account_id: ACCOUNT_IDHændelsesmapping
event_mapping: task.created: SUPPORT_REQUESTED task.completed: SUPPORT_RESOLVED task.canceled: SUPPORT_ABANDONED conversation.ended: CONVERSATION_ENDED survey.completed: CSAT_SUBMITTEDAPI-endpoints
Tajo integrerer med følgende Twilio Flex- og relaterede API-endpoints:
| Endpoint | Metode | API | Formål |
|---|---|---|---|
/v1/Configuration | GET | Flex | Hent Flex-konfiguration |
/v1/Interactions | GET | Flex | Vis interaktioner |
/v1/Channels | GET | Flex | Vis Flex-kanaler |
/v1/WebChannels | POST | Flex | Opret webchat-kanal |
/v1/Conversations | GET | Conversations | Vis samtaler |
/v1/Conversations/{sid}/Messages | GET | Conversations | Vis samtalebeskeder |
/v1/Conversations/{sid}/Participants | GET | Conversations | Vis deltagere |
/v1/Workspaces/{sid}/Tasks | GET | TaskRouter | Vis opgaver |
/v1/Workspaces/{sid}/Workers | GET | TaskRouter | Vis workers (agenter) |
/v1/Workspaces/{sid}/TaskQueues | GET | TaskRouter | Vis opgavekøer |
/v1/Workspaces/{sid}/Events | GET | TaskRouter | Vis workspace-hændelser |
Kodeeksempler
Initialisér konnektor
import { TajoClient } from '@tajo/sdk';
const tajo = new TajoClient({ apiKey: process.env.TAJO_API_KEY, brevoApiKey: process.env.BREVO_API_KEY});
await tajo.connectors.connect('twilio-flex', { accountSid: process.env.TWILIO_ACCOUNT_SID, authToken: process.env.TWILIO_AUTH_TOKEN, flexFlowSid: process.env.TWILIO_FLEX_FLOW_SID});Synkronisér samtalehistorik
await tajo.connectors.sync('twilio-flex', { type: 'incremental', resources: ['conversations'], since: '2024-01-01', channels: ['voice', 'sms', 'whatsapp']});
const status = await tajo.connectors.status('twilio-flex');console.log(status);// {// connected: true,// lastSync: '2024-03-15T16:00:00Z',// conversationsTracked: 12400,// customersLinked: 8900,// agentsMonitored: 45// }Trigger til kampagner efter samtale
// Trigger a Brevo follow-up after a support conversation endsapp.post('/webhooks/flex/task-complete', async (req, res) => { const task = req.body;
await tajo.connectors.handleEvent('twilio-flex', { type: 'task.completed', payload: { taskSid: task.TaskSid, customerEmail: task.TaskAttributes?.email, channel: task.TaskChannelUniqueName, duration: task.Age, queueName: task.TaskQueueFriendlyName } });
res.status(200).send('OK');});Flex Plugin-integration
// Inside a Flex UI Plugin - send data to Tajoimport { FlexPlugin } from '@twilio/flex-plugin';
class TajoPlugin extends FlexPlugin { init(flex, manager) { flex.Actions.addListener('afterCompleteTask', async (payload) => { await fetch('https://api.example.com/webhooks/flex/task-complete', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ TaskSid: payload.task.sid, TaskAttributes: payload.task.attributes, TaskChannelUniqueName: payload.task.taskChannelUniqueName, Age: payload.task.age }) }); }); }}Caution
Adressen example.com ovenfor er en pladsholder, indtil Tajo-endpointet er tilgængeligt.
Ratebegrænsninger
Twilio håndhæver ratebegrænsninger på tværs af sine API’er:
| API | Ratebegrænsning | Noter |
|---|---|---|
| Flex API | 100 forespørgsler/sekund | Per konto |
| Conversations API | 100 forespørgsler/sekund | Per konto |
| TaskRouter API | 30 læseforespørgsler/sekund | Per workspace |
| TaskRouter Events | 20 forespørgsler/sekund | Per workspace |
Event Streams
Til hændelsesbehandling med højt volumen bør du overveje Twilio Event Streams i stedet for polling af TaskRouter-hændelser. Event Streams pusher hændelser i realtid via webhooks eller Kinesis.
Fejlfinding
Almindelige problemer
| Problem | Årsag | Løsning |
|---|---|---|
| 401 Unauthorized | Ugyldig SID eller token | Verificér Account SID og Auth Token i Twilio Console |
| 403 Forbidden | Flex ikke aktiveret | Sørg for, at Flex er aktiveret på din Twilio-konto |
| Samtaler mangler | Forkert datointerval | Udvid synkroniseringsintervallet eller tjek samtaletilstand |
| Opgaver ikke sporet | TaskRouter-workspace matcher ikke | Verificér det korrekte workspace SID |
| Plugin aktiveres ikke | Event-listener ikke registreret | Tjek, at Flex-plugin er deployet og aktivt |
Fejlfindingstilstand
connectors: twilio_flex: debug: true log_level: verbose log_api_calls: trueTest forbindelse
tajo connectors test twilio-flex# ✓ Flex API connection successful# ✓ Conversations API accessible# ✓ TaskRouter workspace found# ✓ Agent list readable# ✓ Queue configuration loadedBest practices
- Brug API Keys frem for Auth Tokens - API Keys kan scopes og tilbagekaldes individuelt
- Udnyt Event Streams - Push-baserede hændelser er mere effektive end polling af TaskRouter
- Byg et Flex-plugin - Brug et UI-plugin til at opfange task completion-hændelser i realtid
- Map kanaler konsekvent - Normalisér tale-, SMS- og chatdata til forenede Brevo-hændelser
- Spor CSAT-scores - Synkronisér tilfredshedsdata til Brevo til oplevelsesbaseret segmentering
- Overvåg kø-metrikker - Brug ventetidsdata til at udløse proaktiv kundekommunikation
Sikkerhed
- Account SID + Auth Token - Standard Twilio-autentifikation
- API Keys - Tilbagekaldbare, ikke-root-legitimationsoplysninger til produktionsbrug
- Kun HTTPS - Al API-kommunikation krypteret via TLS 1.2+
- Webhook-validering - Verificér Twilio-webhook-signaturer med
X-Twilio-Signature - PCI-overholdelse - Twilio Flex er PCI DSS Level 1-compliant
- Krypteret lagring - Legitimationsoplysninger krypteres i hvile i Tajo