---
title: "OpenAI-connector"
description: "Volledige OpenAI-integratiegids voor AI-gestuurde contentgeneratie, klantinzichten en intelligente marketingautomatisering met Brevo via Tajo."
url: https://tajo.io/nl/docs/connectors/custom/openai/
markdown: https://tajo.io/nl/docs/connectors/custom/openai.md
lang: nl-NL
robots: noindex
---

Vraag vroegtijdige toegang aan

Vul je voornaam en je zakelijke e-mailadres in. We sturen je een link om je aanvraag voor toegang tot Tajo te bevestigen.

# OpenAI-connector

Connectorstatus: Gepland Nog niet gebouwd. Tajo draait deze connector vandaag niet.

| Bronveld | Doelveld | Voorbeeldwaarde |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Verbind OpenAI met Brevo via Tajo om gebruik te maken van AI-gestuurde contentgeneratie, klant-sentimentanalyse, intelligente segmentatie en voorspellende analyses voor je marketingautomatiseringsworkflows.

## Overzicht

| Eigenschap | Waarde |
| --- | --- |
| **Platform** | OpenAI |
| **Categorie** | AI / ML (Custom) |
| **Setupcomplexiteit** | Gemiddeld |
| **Officiële integratie** | Nee |
| **Gesynchroniseerde data** | Content, Embeddings, Inzichten, Voorspellingen |
| **Auth-methode** | API Key (Bearer Token) |

## Functies

- **AI-contentgeneratie** - Genereer e-mailonderwerpregels, body-copy en CTA’s met GPT-modellen
- **Klant-sentimentanalyse** - Analyseer supporttickets en feedback voor sentimentscoring
- **Slimme segmentatie** - Gebruik embeddings om klanten te clusteren op gedragspatronen
- **Voorspellende analyses** - Voorspel churn, LTV en aankoopkans
- **Meertalige content** - Genereer marketingcontent in elke ondersteunde taal
- **Beeldgeneratie** - Maak campagnevisuals met DALL-E-integratie

## Vereisten

Voordat je begint, zorg dat je beschikt over:

1. Een OpenAI-account met API-toegang
2. Een API key uit het [OpenAI dashboard](https://platform.openai.com/api-keys)
3. Een Brevo-account met API-toegang
4. Een Tajo-account met connector-rechten
5. Voldoende OpenAI API-credits voor je verwachte gebruik

## Authenticatie

### API Key-authenticatie

OpenAI gebruikt Bearer-token-authenticatie voor alle API-requests:

```bash
# Set your API keys
export OPENAI_API_KEY=sk-your-api-key
export TAJO_API_KEY=your_tajo_api_key
export BREVO_API_KEY=your_brevo_api_key
```

```javascript
// All requests require the Authorization header
const headers = {
  'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`,
  'Content-Type': 'application/json'
};

// For organization-scoped access
const orgHeaders = {
  ...headers,
  'OpenAI-Organization': process.env.OPENAI_ORG_ID,
  'OpenAI-Project': process.env.OPENAI_PROJECT_ID
};
```

API key-beveiliging

Gebruik je OpenAI API key nooit in client-side code. Werk altijd met environment variables en server-side requests. Roteer keys regelmatig via het OpenAI-dashboard.

## Configuratie

### Basisinstelling

```yaml
connectors:
  openai:
    enabled: true
    model: "gpt-4o"
    embedding_model: "text-embedding-3-small"
    image_model: "dall-e-3"

    features:
      content_generation: true
      sentiment_analysis: true
      smart_segmentation: true
      predictive_analytics: true

    limits:
      max_tokens_per_request: 4096
      max_requests_per_minute: 60
      temperature: 0.7
```

### Templates voor contentgeneratie

```yaml
templates:
  email_subject:
    model: "gpt-4o"
    system_prompt: |
      You are an expert email marketer. Generate compelling
      subject lines that drive open rates.
    max_tokens: 100
    temperature: 0.8

  email_body:
    model: "gpt-4o"
    system_prompt: |
      Generate personalized email content based on customer
      data and campaign objectives.
    max_tokens: 2048
    temperature: 0.7
```

## API-endpoints

| Endpoint | Method | Beschrijving |
| --- | --- | --- |
| `https://api.openai.com/v1/responses` | POST | AI-responses aanmaken (Responses API) |
| `https://api.openai.com/v1/chat/completions` | POST | Tekstcompletions genereren |
| `https://api.openai.com/v1/embeddings` | POST | Tekstembeddings aanmaken |
| `https://api.openai.com/v1/images/generations` | POST | Afbeeldingen genereren |
| `https://api.openai.com/v1/audio/speech` | POST | Tekst-naar-spraakgeneratie |
| `https://api.openai.com/v1/audio/transcriptions` | POST | Spraak-naar-teksttranscriptie |
| `https://api.openai.com/v1/moderations` | POST | Contentmoderatie |
| `https://api.openai.com/v1/models` | GET | Beschikbare modellen opvragen |

## Codevoorbeelden

### Connector initialiseren

```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('openai', {
  apiKey: process.env.OPENAI_API_KEY,
  defaultModel: 'gpt-4o'
});
```

### E-mailcontent genereren

```javascript
// Generate personalized email subject lines
const response = await fetch('https://api.openai.com/v1/chat/completions', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    model: 'gpt-4o',
    messages: [
      {
        role: 'system',
        content: 'Generate 5 compelling email subject lines for a product launch.'
      },
      {
        role: 'user',
        content: `Product: ${product.name}. Target: ${segment.description}.`
      }
    ],
    max_tokens: 200,
    temperature: 0.8
  })
});

const result = await response.json();
const subjectLines = result.choices[0].message.content;
```

### Klant-sentimentanalyse

```javascript
// Analyze customer feedback sentiment
const sentimentAnalysis = await fetch(
  'https://api.openai.com/v1/chat/completions',
  {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      model: 'gpt-4o',
      messages: [
        {
          role: 'system',
          content: 'Analyze sentiment. Return JSON: {score: -1 to 1, label: string, topics: string[]}'
        },
        { role: 'user', content: customerFeedback }
      ],
      response_format: { type: 'json_object' },
      max_tokens: 150
    })
  }
);

const sentiment = await sentimentAnalysis.json();
await tajo.contacts.update(email, {
  attributes: { SENTIMENT_SCORE: JSON.parse(sentiment.choices[0].message.content).score }
});
```

### Slimme segmentatie met embeddings

```javascript
// Generate embeddings for customer clustering
const embeddingResponse = await fetch(
  'https://api.openai.com/v1/embeddings',
  {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${process.env.OPENAI_API_KEY}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      model: 'text-embedding-3-small',
      input: customerDescriptions,
      dimensions: 256
    })
  }
);

const embeddings = await embeddingResponse.json();
// Use embeddings for similarity-based customer clustering
```

## Rate limits

| Model | RPM (Requests/Min) | TPM (Tokens/Min) | RPD (Requests/Dag) |
| --- | --- | --- | --- |
| gpt-4o | 500 | 30.000 | 10.000 |
| gpt-4o-mini | 500 | 200.000 | 10.000 |
| text-embedding-3-small | 500 | 1.000.000 | 10.000 |
| dall-e-3 | 5 | N.v.t. | 200 |

Rate limit-headers

Monitor rate limit-headers (`x-ratelimit-remaining-requests`, `x-ratelimit-remaining-tokens`) in API-responses om proactieve throttling te implementeren en 429-fouten te voorkomen.

## Probleemoplossing

| Probleem | Oorzaak | Oplossing |
| --- | --- | --- |
| 401 Unauthorized | Ongeldige API key | Verifieer key in OpenAI-dashboard |
| 429 Rate Limited | Te veel requests | Implementeer exponentiële backoff |
| 500 Server Error | OpenAI-storing | Check status.openai.com en probeer opnieuw |
| Afgekapte response | max\_tokens te laag | Verhoog de max\_tokens-parameter |
| Slechte contentkwaliteit | Temperature te hoog | Verlaag temperature voor consistentie |

### Debugmodus

```yaml
connectors:
  openai:
    debug: true
    log_level: verbose
    log_prompts: false  # Don't log prompts in production
    log_usage: true
```

## Best practices

1. **Cache responses** - Sla gegenereerde content op om API-calls en kosten te beperken
2. **Gebruik gestructureerde outputs** - Vraag JSON-responses aan voor betrouwbare parsing
3. **Implementeer retry-logica** - Behandel rate limits met exponentiële backoff
4. **Monitor token-gebruik** - Volg consumptie om kosten te beheersen
5. **Gebruik passende modellen** - Gebruik gpt-4o-mini voor eenvoudige taken, gpt-4o voor complexe
6. **Valideer outputs** - Valideer altijd AI-gegenereerde content voordat je deze naar klanten stuurt

## Beveiliging

- **Bearer token-auth** - API keys verzonden via Authorization-header
- **Alleen server-side** - Stel API keys nooit bloot in client-side code
- **Key-rotatie** - Roteer API keys regelmatig via OpenAI-dashboard
- **Gebruiksmonitoring** - Stel uitgavenlimieten in via OpenAI-billing settings
- **Contentmoderatie** - Gebruik de Moderations API om onveilige content te filteren
- **Dataprivacy** - Bekijk OpenAI’s data usage policies voor je use case

## Gerelateerde bronnen

- [Brevo-connector](https://tajo.io/nl/docs/connectors/marketing/brevo)
- [Customer Sync Skill](https://tajo.io/nl/docs/skills/data-sync/customer-sync)
- [E-mailmarketing-skills](https://tajo.io/nl/docs/skills/email-marketing)
- [OpenAI API Reference](https://platform.openai.com/docs/api-reference)
