---
title: "Twilio Flex-kobling"
description: "Fullstendig Twilio Flex-integrasjonsveiledning for synkronisering av kontaktsenterinteraksjoner, agentaktivitet og kundesamtaler med Brevo via Tajo."
url: https://tajo.io/no/docs/connectors/custom/twilio-flex/
markdown: https://tajo.io/no/docs/connectors/custom/twilio-flex.md
lang: no-NO
robots: noindex
---

Be om tidlig tilgang

Skriv inn fornavn og e-postadresse på jobb. Vi sender deg en lenke for å bekrefte forespørselen om tilgang til Tajo.

# Twilio Flex-kobling

Koblingsstatus: Planlagt Ikke bygget ennå. Tajo kjører ikke denne koblingen i dag.

| Kildefelt | Målfelt | Eksempelverdi |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Koble Twilio Flex-kontaktsenteret ditt til Brevo for enhetlig kundeinteraksjonshistorikk, markedsføringsflyter etter samtaler og supportdrevet engasjementsanalyse gjennom Tajo.

## Oversikt

| Egenskap | Verdi |
| --- | --- |
| **Plattform** | Twilio Flex |
| **Kategori** | Custom |
| **Oppsettskompleksitet** | Avansert |
| **Offisiell integrasjon** | Nei |
| **Synkroniserte data** | Kunder, samtaler, hendelser |
| **API-er brukt** | Flex API, Conversations API, TaskRouter API |
| **Autentisering** | Account SID + Auth Token / API-nøkkel |
| **Base URL** | `https://flex-api.twilio.com` |

## Funksjoner

- **Synkronisering av samtaler** - Videresend tale-, SMS-, WhatsApp- og chat-interaksjoner til Brevo-tidslinjer
- **Berikelse av kundeprofiler** - Synkroniser Flex-kundedata til Brevo-kontaktattributter
- **Kampanjer etter interaksjon** - Utløs Brevo-arbeidsflyter etter at supportsamtaler avsluttes
- **CSAT-hendelsessporing** - Synkroniser tilfredshetsundersøkelsesresultater som Brevo-hendelser
- **Agentaktivitetsdata** - Spor agentytelsemålinger for operasjonell rapportering
- **Køanalyse** - Videresend ventetid- og avhoppsdata for opplevelsesoptimalisering

## Forutsetninger

Før du begynner, sørg for at du har:

1. En Twilio-konto med Flex aktivert
2. Din Twilio Account SID og Auth Token
3. En Flex-instans med aktive kanaler (tale, SMS, chat eller WhatsApp)
4. TaskRouter-arbeidsområde konfigurert
5. En Brevo-konto med API-tilgang
6. En Tajo-konto med aktivt abonnement

## Autentisering

Twilio Flex bruker Twilios standard autentiseringsmetoder.

### Kontopåloggingsdetaljer

```bash
# Basic Auth: Account SID som brukernavn, Auth Token som passord
curl -X GET "https://flex-api.twilio.com/v1/Configuration" \
  -u "$TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN"
```

### API-nøkkel (anbefalt for produksjon)

1. Gå til **Twilio Console** > **Account** > **API keys & tokens**
2. Klikk **Create API Key**
3. Velg nøkkeltypen **Standard**
4. Oppbevar SID og Secret sikkert

```bash
curl -X GET "https://flex-api.twilio.com/v1/Configuration" \
  -u "$TWILIO_API_KEY_SID:$TWILIO_API_KEY_SECRET"
```

Auth Token vs API-nøkkel

Auth Token har full kontotilgang. For produksjon, bruk avgrensede API-nøkler i stedet. API-nøkler kan tilbakekalles individuelt uten å forstyrre andre integrasjoner.

### Koble til Tajo

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

## Konfigurasjon

### Grunnleggende oppsett

```yaml
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

Mapp Flex-kunde- og interaksjonsdata til Brevo-attributter:

```yaml
field_mapping:
  # Kundefelt
  identity: FLEX_IDENTITY
  friendly_name: FIRSTNAME
  attributes.email: email
  attributes.phone: SMS

  # Interaksjonsmålinger
  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

  # Egendefinerte attributter
  customer_tier: VIP_TIER
  account_id: ACCOUNT_ID
```

### Hendelsesmapping

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

## API-endepunkter

Tajo integrerer med følgende Twilio Flex- og relaterte API-endepunkter:

| Endepunkt | Metode | API | Formål |
| --- | --- | --- | --- |
| `/v1/Configuration` | GET | Flex | Hent Flex-konfigurasjon |
| `/v1/Interactions` | GET | Flex | List interaksjoner |
| `/v1/Channels` | GET | Flex | List Flex-kanaler |
| `/v1/WebChannels` | POST | Flex | Opprett webchat-kanal |
| `/v1/Conversations` | GET | Conversations | List samtaler |
| `/v1/Conversations/{sid}/Messages` | GET | Conversations | List samtalemeldinger |
| `/v1/Conversations/{sid}/Participants` | GET | Conversations | List deltakere |
| `/v1/Workspaces/{sid}/Tasks` | GET | TaskRouter | List oppgaver |
| `/v1/Workspaces/{sid}/Workers` | GET | TaskRouter | List workers (agenter) |
| `/v1/Workspaces/{sid}/TaskQueues` | GET | TaskRouter | List oppgavekøer |
| `/v1/Workspaces/{sid}/Events` | GET | TaskRouter | List arbeidsområdehendelser |

## Kodeeksempler

### Initialiser kobling

```javascript
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
});
```

### Synkroniser samtalehistorikk

```javascript
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
// }
```

### Utløser for kampanje etter samtale

```javascript
// Utløs en Brevo-oppfølging etter at en supportsamtale avsluttes
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-integrasjon

```javascript
// Inne i en Flex UI Plugin - send data til Tajo
import { 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 plassholder til Tajo-endepunktet er tilgjengelig.

## Ratebegrensninger

Twilio håndhever ratebegrensninger på tvers av sine API-er:

| API | Ratebegrensning | Merknader |
| --- | --- | --- |
| **Flex API** | 100 forespørsler/sekund | Per konto |
| **Conversations API** | 100 forespørsler/sekund | Per konto |
| **TaskRouter API** | 30 leseforespørsler/sekund | Per arbeidsområde |
| **TaskRouter Events** | 20 forespørsler/sekund | Per arbeidsområde |

Event Streams

For høyvolum-hendelsesbehandling, vurder å bruke Twilio Event Streams i stedet for polling av TaskRouter-hendelser. Event Streams pusher hendelser i sanntid via webhooks eller Kinesis.

## Feilsøking

### Vanlige problemer

| Problem | Årsak | Løsning |
| --- | --- | --- |
| 401 Unauthorized | Ugyldig SID eller token | Verifiser Account SID og Auth Token i Twilio Console |
| 403 Forbidden | Flex ikke aktivert | Sørg for at Flex er aktivert på Twilio-kontoen din |
| Manglende samtaler | Feil datointervall | Utvid synkroniseringsdatointervall eller sjekk samtaletilstand |
| Oppgaver ikke sporet | TaskRouter-arbeidsområde-ulikhet | Verifiser riktig arbeidsområde-SID |
| Plugin utløses ikke | Hendelseslytter ikke registrert | Sjekk at Flex-plugin er utrullet og aktiv |

### Feilsøkingsmodus

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

### Test tilkobling

```bash
tajo connectors test twilio-flex
# ✓ Flex API-tilkobling vellykket
# ✓ Conversations API tilgjengelig
# ✓ TaskRouter-arbeidsområde funnet
# ✓ Agentliste lesbar
# ✓ Køkonfigurasjon lastet
```

## Beste praksis

1. **Bruk API-nøkler fremfor Auth Tokens** - API-nøkler kan avgrenses og tilbakekalles individuelt
2. **Utnytt Event Streams** - Push-baserte hendelser er mer effektive enn polling av TaskRouter
3. **Bygg en Flex-plugin** - Bruk en UI-plugin for å fange oppgavefullføringshendelser i sanntid
4. **Mapp kanaler konsistent** - Normaliser tale-, SMS- og chat-data til enhetlige Brevo-hendelser
5. **Spor CSAT-score** - Synkroniser tilfredshetsdata til Brevo for opplevelsesdrevet segmentering
6. **Overvåk kømetrikker** - Bruk ventetidsdata for å utløse proaktiv kundekommunikasjon

## Sikkerhet

- **Account SID + Auth Token** - Standard Twilio-autentisering
- **API-nøkler** - Tilbakekallbare, ikke-root-påloggingsdetaljer for produksjonsbruk
- **Kun HTTPS** - All API-kommunikasjon kryptert via TLS 1.2+
- **Webhook-validering** - Verifiser Twilio-webhook-signaturer med `X-Twilio-Signature`
- **PCI-samsvar** - Twilio Flex er PCI DSS Level 1-kompatibel
- **Kryptert lagring** - Påloggingsdetaljer kryptert i hvilemodus i Tajo

## Relaterte ressurser

- [Gorgias-kobling](https://tajo.io/no/docs/connectors/support/gorgias)
- [Jira-kobling](https://tajo.io/no/docs/connectors/custom/jira)
- [Customer Sync-ferdighet](https://tajo.io/no/docs/skills/data-sync/customer-sync)
- [Brevo Contacts API](https://tajo.io/no/docs/contact-management)
