---
title: "Twilio Flex konektor"
description: "Kompletný sprievodca integráciou Twilio Flex na synchronizáciu interakcií kontaktného centra, aktivity agentov a zákazníckych konverzácií s Brevo cez Tajo."
url: https://tajo.io/sk/docs/connectors/custom/twilio-flex/
markdown: https://tajo.io/sk/docs/connectors/custom/twilio-flex.md
lang: sk-SK
robots: noindex
---

Požiadajte o skorý prístup

Zadajte svoje meno a pracovnú e-mailovú adresu. Pošleme vám odkaz na potvrdenie žiadosti o prístup k Tajo.

# Twilio Flex konektor

Stav konektora: Plánované Zatiaľ nevytvorené. Tajo tento konektor dnes neprevádzkuje.

| Zdrojové pole | Cieľové pole | Ukážková hodnota |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Prepoj svoje kontaktné centrum Twilio Flex s Brevo pre zjednotenú históriu zákazníckych interakcií, marketingové toky po konverzáciách a analytiku zapojenia riadenú supportom cez Tajo.

## Prehľad

| Vlastnosť | Hodnota |
| --- | --- |
| **Platforma** | Twilio Flex |
| **Kategória** | Vlastná |
| **Zložitosť nastavenia** | Pokročilé |
| **Oficiálna integrácia** | Nie |
| **Synchronizované dáta** | Zákazníci, Konverzácie, Udalosti |
| **Použité API** | Flex API, Conversations API, TaskRouter API |
| **Autentifikácia** | Account SID + Auth Token / API Key |
| **Base URL** | `https://flex-api.twilio.com` |

## Funkcie

- **Synchronizácia konverzácií** - Preposielaj hlasové, SMS, WhatsApp a chatové interakcie do časových osí Brevo
- **Obohacovanie profilu zákazníka** - Synchronizuj dáta zákazníkov Flex do atribútov kontaktov Brevo
- **Kampane po interakcii** - Spúšťaj workflowy Brevo po skončení support konverzácií
- **Sledovanie CSAT udalostí** - Synchronizuj výsledky prieskumov spokojnosti ako udalosti Brevo
- **Dáta aktivity agentov** - Sleduj metriky výkonu agentov pre prevádzkové reportovanie
- **Analytika frontov** - Preposielaj dáta o čakaní a opustení pre optimalizáciu zákazníckej skúsenosti

## Predpoklady

Predtým, než začneš, uisti sa, že máš:

1. Twilio účet s povoleným Flex
2. Twilio Account SID a Auth Token
3. Flex inštanciu s aktívnymi kanálmi (hlas, SMS, chat alebo WhatsApp)
4. Nakonfigurovaný TaskRouter workspace
5. Brevo účet s API prístupom
6. Tajo účet s aktívnym predplatným

## Autentifikácia

Twilio Flex používa štandardné metódy autentifikácie Twilio.

### Prihlasovací údaje účtu

```bash
# 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 kľúč (odporúčané pre produkciu)

1. Prejdi do **Twilio Console** > **Account** > **API keys & tokens**
2. Klikni na **Create API Key**
3. Vyber typ kľúča **Standard**
4. Bezpečne ulož SID a Secret

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

Auth Token vs API Key

Tvoj Auth Token má plný prístup k účtu. Pre produkciu použi radšej scoped API Keys. API Keys je možné jednotlivo zrušiť bez narušenia iných integrácií.

### Pripojenie k Tajo

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

## Konfigurácia

### Základné nastavenie

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

### Mapovanie polí

Namapuj dáta zákazníkov a interakcií Flex na atribúty Brevo:

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

### Mapovanie udalostí

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

## API endpointy

Tajo sa integruje s nasledujúcimi Twilio Flex a súvisiacimi API endpointmi:

| Endpoint | Metóda | API | Účel |
| --- | --- | --- | --- |
| `/v1/Configuration` | GET | Flex | Získanie konfigurácie Flex |
| `/v1/Interactions` | GET | Flex | Zoznam interakcií |
| `/v1/Channels` | GET | Flex | Zoznam Flex kanálov |
| `/v1/WebChannels` | POST | Flex | Vytvorenie webového chatu |
| `/v1/Conversations` | GET | Conversations | Zoznam konverzácií |
| `/v1/Conversations/{sid}/Messages` | GET | Conversations | Zoznam správ konverzácie |
| `/v1/Conversations/{sid}/Participants` | GET | Conversations | Zoznam účastníkov |
| `/v1/Workspaces/{sid}/Tasks` | GET | TaskRouter | Zoznam úloh |
| `/v1/Workspaces/{sid}/Workers` | GET | TaskRouter | Zoznam pracovníkov (agentov) |
| `/v1/Workspaces/{sid}/TaskQueues` | GET | TaskRouter | Zoznam frontov úloh |
| `/v1/Workspaces/{sid}/Events` | GET | TaskRouter | Zoznam udalostí workspace |

## Ukážky kódu

### Inicializácia konektora

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

### Synchronizácia histórie konverzácií

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

### Trigger kampane po konverzácii

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

### Integrácia Flex Plugin

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

Adresa `example.com` vyššie je len zástupná hodnota, kým nebude endpoint Tajo dostupný.

## Obmedzenia rýchlosti

Twilio presadzuje limity rýchlosti naprieč svojimi API:

| API | Limit rýchlosti | Poznámky |
| --- | --- | --- |
| **Flex API** | 100 požiadaviek/sekundu | Na účet |
| **Conversations API** | 100 požiadaviek/sekundu | Na účet |
| **TaskRouter API** | 30 čítacích požiadaviek/sekundu | Na workspace |
| **TaskRouter Events** | 20 požiadaviek/sekundu | Na workspace |

Event Streams

Pre spracovanie udalostí s vysokým objemom zvážte použitie Twilio Event Streams namiesto pollovania udalostí TaskRouter. Event Streams tlačí udalosti v reálnom čase cez webhooky alebo Kinesis.

## Riešenie problémov

### Bežné problémy

| Problém | Príčina | Riešenie |
| --- | --- | --- |
| 401 Unauthorized | Neplatný SID alebo token | Overte Account SID a Auth Token v Twilio Console |
| 403 Forbidden | Flex nie je povolený | Uisti sa, že Flex je aktivovaný na tvojom Twilio účte |
| Chýbajúce konverzácie | Nesprávny rozsah dátumov | Rozšír rozsah dátumov synchronizácie alebo skontroluj stav konverzácie |
| Úlohy nie sú sledované | Nezhoda TaskRouter workspace | Overte správny workspace SID |
| Plugin sa nespúšťa | Listener udalostí nie je zaregistrovaný | Skontroluj, že Flex plugin je nasadený a aktívny |

### Debug režim

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

### Test pripojenia

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

## Odporúčané postupy

1. **Použi API Keys namiesto Auth Tokens** - API Keys je možné scoped a jednotlivo zrušiť
2. **Využi Event Streams** - Push-based udalosti sú efektívnejšie ako polling TaskRouter
3. **Vytvor Flex Plugin** - Použi UI plugin na zachytávanie udalostí dokončenia úlohy v reálnom čase
4. **Konzistentne mapuj kanály** - Normalizuj dáta hlasu, SMS a chatu do zjednotených Brevo udalostí
5. **Sleduj CSAT skóre** - Synchronizuj dáta spokojnosti do Brevo pre segmentáciu riadenú skúsenosťou
6. **Monitoruj metriky frontov** - Použi dáta o čakaní na spúšťanie proaktívnej komunikácie so zákazníkmi

## Bezpečnosť

- **Account SID + Auth Token** - Štandardná autentifikácia Twilio
- **API Keys** - Zrušiteľné, non-root prihlasovací údaje pre produkčné použitie
- **Iba HTTPS** - Všetka API komunikácia šifrovaná cez TLS 1.2+
- **Overenie webhookov** - Overuj podpisy Twilio webhookov pomocou `X-Twilio-Signature`
- **PCI súlad** - Twilio Flex je PCI DSS Level 1 kompatibilný
- **Šifrované úložisko** - Prihlasovací údaje šifrované v pokoji v Tajo

## Súvisiace zdroje

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