---
title: "OpenAI Connector"
description: "Komplet guide til OpenAI-integration til AI-drevet indholdsgenerering, kundeindsigter og intelligent marketingautomatisering med Brevo via Tajo."
url: https://tajo.io/dk/docs/connectors/custom/openai/
markdown: https://tajo.io/dk/docs/connectors/custom/openai.md
lang: da-DK
robots: noindex
---

Bed om tidlig adgang til Tajo

Indtast dit fornavn og din arbejds-e-mailadresse. Vi sender dig et link til at bekræfte din anmodning om adgang til Tajo.

# OpenAI Connector

Connectorstatus: Planlagt Ikke bygget endnu. Tajo kører ikke denne connector i dag.

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

Forbind OpenAI med Brevo via Tajo for at udnytte AI-drevet indholdsgenerering, kundesentimentanalyse, intelligent segmentering og prædiktiv analyse til dine marketing-workflows.

## Oversigt

| Egenskab | Værdi |
| --- | --- |
| **Platform** | OpenAI |
| **Kategori** | AI / ML (brugerdefineret) |
| **Opsætningskompleksitet** | Mellem |
| **Officiel integration** | Nej |
| **Synkroniserede data** | Indhold, embeddings, indsigter, forudsigelser |
| **Autentifikationsmetode** | API-nøgle (Bearer-token) |

## Funktioner

- **AI-indholdsgenerering** - Generér emnelinjer til e-mails, brødtekst og CTA’er med GPT-modeller
- **Kundesentimentanalyse** - Analysér supportsager og feedback for sentiment-scoring
- **Smart segmentering** - Brug embeddings til at klynge kunder efter adfærdsmønstre
- **Prædiktiv analyse** - Forudsig churn, LTV og købstilbøjelighed
- **Indhold på flere sprog** - Generér marketingindhold på ethvert understøttet sprog
- **Billedgenerering** - Skab kampagnevisualer med DALL-E-integration

## Forudsætninger

Før du begynder, skal du sikre dig, at du har:

1. En OpenAI-konto med API-adgang
2. En API-nøgle fra [OpenAI-dashboardet](https://platform.openai.com/api-keys)
3. En Brevo-konto med API-adgang
4. En Tajo-konto med connector-tilladelser
5. Tilstrækkelige OpenAI API-kreditter til dit forventede forbrug

## Autentifikation

### API-nøgleautentifikation

OpenAI bruger Bearer-token-autentifikation til alle API-anmodninger:

```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-nøglesikkerhed

Eksponér aldrig din OpenAI API-nøgle i client-side-kode. Brug altid miljøvariabler og server-side-anmodninger. Rotér nøgler regelmæssigt via OpenAI-dashboardet.

## Konfiguration

### Grundlæggende opsætning

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

### Skabeloner til indholdsgenerering

```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 | Metode | Beskrivelse |
| --- | --- | --- |
| `https://api.openai.com/v1/responses` | POST | Opret AI-responses (Responses API) |
| `https://api.openai.com/v1/chat/completions` | POST | Generér tekst-completions |
| `https://api.openai.com/v1/embeddings` | POST | Opret tekst-embeddings |
| `https://api.openai.com/v1/images/generations` | POST | Generér billeder |
| `https://api.openai.com/v1/audio/speech` | POST | Tekst-til-tale-generering |
| `https://api.openai.com/v1/audio/transcriptions` | POST | Tale-til-tekst-transskription |
| `https://api.openai.com/v1/moderations` | POST | Indholdsmoderation |
| `https://api.openai.com/v1/models` | GET | Vis tilgængelige modeller |

## Kodeeksempler

### Initialisér connector

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

### Generér e-mailindhold

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

### Kundesentimentanalyse

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

### Smart segmentering med 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 (anmodninger/min.) | TPM (tokens/min.) | RPD (anmodninger/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/A | 200 |

Rate-limit-headers

Overvåg rate-limit-headers (`x-ratelimit-remaining-requests`, `x-ratelimit-remaining-tokens`) i API-svar for at implementere proaktiv throttling og undgå 429-fejl.

## Fejlfinding

| Problem | Årsag | Løsning |
| --- | --- | --- |
| 401 Unauthorized | Ugyldig API-nøgle | Verificér nøgle i OpenAI-dashboardet |
| 429 Rate Limited | For mange anmodninger | Implementér eksponentiel backoff |
| 500 Server Error | OpenAI-nedbrud | Tjek status.openai.com, og prøv igen |
| Afkortet svar | max\_tokens for lav | Øg max\_tokens-parameteren |
| Dårlig indholdskvalitet | Temperature for høj | Sænk temperature for konsistens |

### Debug-tilstand

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

## Bedste praksis

1. **Cache svar** - Gem genereret indhold for at reducere API-kald og omkostninger
2. **Brug strukturerede outputs** - Anmod om JSON-svar for pålidelig parsing
3. **Implementér retry-logik** - Håndtér rate limits med eksponentiel backoff
4. **Overvåg tokenforbrug** - Spor forbrug for at styre omkostninger
5. **Brug passende modeller** - Brug gpt-4o-mini til simple opgaver, gpt-4o til komplekse
6. **Validér outputs** - Validér altid AI-genereret indhold, før du sender det til kunder

## Sikkerhed

- **Bearer-token-auth** - API-nøgler sendes via Authorization-headeren
- **Kun server-side** - Eksponér aldrig API-nøgler i client-side-kode
- **Nøglerotation** - Rotér API-nøgler regelmæssigt via OpenAI-dashboardet
- **Forbrugsovervågning** - Sæt udgiftsgrænser i OpenAI-faktureringsindstillinger
- **Indholdsmoderation** - Brug Moderations API til at filtrere usikkert indhold
- **Datasikkerhed** - Gennemgå OpenAI’s databrugspolitikker for dit anvendelsestilfælde

## Relaterede ressourcer

- [Brevo Connector](https://tajo.io/dk/docs/connectors/marketing/brevo)
- [Customer Sync Skill](https://tajo.io/dk/docs/skills/data-sync/customer-sync)
- [Email Marketing Skills](https://tajo.io/dk/docs/skills/email-marketing)
- [OpenAI API Reference](https://platform.openai.com/docs/api-reference)
