Twilio Flex Connector

Forbind dit Twilio Flex-contactcenter til Brevo for en forenet kundeinteraktionshistorik, marketing-flows efter samtaler og supportdrevne engagementanalyser via Tajo.

Oversigt

EgenskabVærdi
PlatformTwilio Flex
KategoriBrugerdefineret
OpsætningskompleksitetAvanceret
Officiel integrationNej
Synkroniserede dataKunder, samtaler, hændelser
Anvendte API’erFlex API, Conversations API, TaskRouter API
AutentifikationAccount SID + Auth Token / API Key
Base-URLhttps://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:

  1. En Twilio-konto med Flex aktiveret
  2. Dit Twilio Account SID og Auth Token
  3. En Flex-instans med aktive kanaler (tale, SMS, chat eller WhatsApp)
  4. TaskRouter-workspace konfigureret
  5. En Brevo-konto med API-adgang
  6. En Tajo-konto med et aktivt abonnement

Autentifikation

Twilio Flex bruger Twilios standardautentifikationsmetoder.

Kontolegitimationsoplysninger

Terminal window
# Basic Auth: Account SID as username, Auth Token as password
curl -X GET "https://flex-api.twilio.com/v1/Configuration" \
-u "$TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN"

API Key (anbefalet til produktion)

  1. Gå til Twilio Console > Account > API keys & tokens
  2. Klik Create API Key
  3. Vælg Standard-nøgletype
  4. Opbevar SID og Secret sikkert
Terminal window
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

Terminal window
tajo connectors install twilio-flex \
--account-sid $TWILIO_ACCOUNT_SID \
--auth-token $TWILIO_AUTH_TOKEN \
--flex-flow-sid $TWILIO_FLEX_FLOW_SID

Konfiguration

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
- webchat

Feltmapping

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_ID

Hændelsesmapping

event_mapping:
task.created: SUPPORT_REQUESTED
task.completed: SUPPORT_RESOLVED
task.canceled: SUPPORT_ABANDONED
conversation.ended: CONVERSATION_ENDED
survey.completed: CSAT_SUBMITTED

API-endpoints

Tajo integrerer med følgende Twilio Flex- og relaterede API-endpoints:

EndpointMetodeAPIFormål
/v1/ConfigurationGETFlexHent Flex-konfiguration
/v1/InteractionsGETFlexVis interaktioner
/v1/ChannelsGETFlexVis Flex-kanaler
/v1/WebChannelsPOSTFlexOpret webchat-kanal
/v1/ConversationsGETConversationsVis samtaler
/v1/Conversations/{sid}/MessagesGETConversationsVis samtalebeskeder
/v1/Conversations/{sid}/ParticipantsGETConversationsVis deltagere
/v1/Workspaces/{sid}/TasksGETTaskRouterVis opgaver
/v1/Workspaces/{sid}/WorkersGETTaskRouterVis workers (agenter)
/v1/Workspaces/{sid}/TaskQueuesGETTaskRouterVis opgavekøer
/v1/Workspaces/{sid}/EventsGETTaskRouterVis 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 ends
app.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 Tajo
import { FlexPlugin } from '@twilio/flex-plugin';
class TajoPlugin extends FlexPlugin {
init(flex, manager) {
flex.Actions.addListener('afterCompleteTask', async (payload) => {
await fetch('https://api.tajo.io/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
})
});
});
}
}

Ratebegrænsninger

Twilio håndhæver ratebegrænsninger på tværs af sine API’er:

APIRatebegrænsningNoter
Flex API100 forespørgsler/sekundPer konto
Conversations API100 forespørgsler/sekundPer konto
TaskRouter API30 læseforespørgsler/sekundPer workspace
TaskRouter Events20 forespørgsler/sekundPer 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ÅrsagLøsning
401 UnauthorizedUgyldig SID eller tokenVerificér Account SID og Auth Token i Twilio Console
403 ForbiddenFlex ikke aktiveretSørg for, at Flex er aktiveret på din Twilio-konto
Samtaler manglerForkert datointervalUdvid synkroniseringsintervallet eller tjek samtaletilstand
Opgaver ikke sporetTaskRouter-workspace matcher ikkeVerificér det korrekte workspace SID
Plugin aktiveres ikkeEvent-listener ikke registreretTjek, at Flex-plugin er deployet og aktivt

Fejlfindingstilstand

connectors:
twilio_flex:
debug: true
log_level: verbose
log_api_calls: true

Test forbindelse

Terminal window
tajo connectors test twilio-flex
# ✓ Flex API connection successful
# ✓ Conversations API accessible
# ✓ TaskRouter workspace found
# ✓ Agent list readable
# ✓ Queue configuration loaded

Best practices

  1. Brug API Keys frem for Auth Tokens - API Keys kan scopes og tilbagekaldes individuelt
  2. Udnyt Event Streams - Push-baserede hændelser er mere effektive end polling af TaskRouter
  3. Byg et Flex-plugin - Brug et UI-plugin til at opfange task completion-hændelser i realtid
  4. Map kanaler konsekvent - Normalisér tale-, SMS- og chatdata til forenede Brevo-hændelser
  5. Spor CSAT-scores - Synkronisér tilfredshedsdata til Brevo til oplevelsesbaseret segmentering
  6. 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

Relaterede ressourcer

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AI-assistent

Hej! Spørg mig om dokumentationen.