> ## Documentation Index
> Fetch the complete documentation index at: https://docs.talkturo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Outbound-Kampagne anlegen

> Name, Assistent, ausgehende Nummern, Kontakte, Zeitplan und Anruffenster festlegen — starten oder als Entwurf speichern.

Das Anlegen einer Kampagne dauert wenige Minuten. Sie wählen den Assistenten, die rotierenden Telefonnummern, die Kontakte und das erlaubte Zeitfenster. Sie können sofort starten oder einen Entwurf speichern.

<Steps>
  <Step title="Seite Kampagnen öffnen">
    Klicken Sie in der linken Seitenleiste auf **Campaigns**, dann oben rechts auf **New Campaign**. Es öffnet sich ein Dialog mit allen Kampagneneinstellungen.
  </Step>

  <Step title="Kampagnennamen vergeben">
    Tragen Sie unter **Campaign Name** einen erkennbaren Namen ein — er erscheint in der Liste und im Dashboard (z. B. „Q2 Enterprise Outreach“ oder „Trial Follow-Up“).

    Optional füllen Sie **Description** für interne Notizen.
  </Step>

  <Step title="Outbound-Assistent wählen">
    Im Feld **Outbound Assistant** wählen Sie einen Assistenten. Nur Assistenten mit aktiviertem Outbound und mindestens einer aktiven Telefonnummer erscheinen.

    <Note>
      Ist die Liste leer: **Assistants** → Ihr Assistent → **Telephony** → Outbound aktivieren und eine aktive Nummer zuweisen.
    </Note>
  </Step>

  <Step title="Ausgehende Nummern wählen">
    Nach der Assistentenauswahl erscheinen alle dem Assistenten zugewiesenen Nummern unter **Which numbers do you want to use for outbound calling?**

    Alle sind standardmäßig angehakt; Talkturo rotiert über die Auswahl. Deaktivieren Sie Nummern, die nicht genutzt werden sollen.
  </Step>

  <Step title="Firma und Kontakte">
    Kampagnen zielen auf Kontakte einer **Company** im CRM. Wählen Sie die Firma aus der Liste.

    Danach erscheint **Audience**:

    **All eligible contacts** — Talkturo nimmt jeden Kontakt der Firma mit Telefonnummer und ohne DNC. Neue Kontakte können später automatisch einbezogen werden.

    **Manual select** — Kontakte filtern und einzeln auswählen. Mit **Search**, **Lead Status** und Filtern eingrenzen; **Select all eligible** wählt alle wählbaren Kontakte über alle Seiten.

    <Tip>
      **Has phone** und **Exclude DNC** (Standard an) lassen unerreichbare Kontakte weg. Ohne Telefon oder mit DNC sind Kontakte nicht wählbar.
    </Tip>
  </Step>

  <Step title="Zeitplan">
    **Schedule Start (optional)** — Datum und Uhrzeit für automatischen Start; Zeit bezieht sich auf die Zeitzone des Anruffensters. Leer lassen für Entwurf und manuellen Start.

    **Keep open for new contacts** — Aktivieren, wenn Sie nach Start weiter Kontakte per API nachreichen. Die Kampagne springt dann nicht automatisch auf „Completed“, sobald die erste Liste durch ist.
  </Step>

  <Step title="Anruffenster">
    Das Fenster legt fest, **an welchen Uhrzeiten** neue Anrufe starten dürfen.

    | Feld                     | Standard          | Bedeutung                  |
    | ------------------------ | ----------------- | -------------------------- |
    | **Call Window Start**    | 09:00             | Früheste Startzeit pro Tag |
    | **Call Window End**      | 17:00             | Späteste Startzeit pro Tag |
    | **Call Window Timezone** | America/New\_York | Zeitzone für Start/Ende    |

    Geplante Anrufe außerhalb des Fensters warten bis zum nächsten gültigen Tag.
  </Step>

  <Step title="Parallelität und Versuche">
    | Feld                     | Standard | Bedeutung                              |
    | ------------------------ | -------- | -------------------------------------- |
    | **Max Concurrent Calls** | 1        | Gleichzeitige ausgehende Anrufe (1–10) |
    | **Max Attempts/Contact** | 3        | Maximale Wahlversuche pro Kontakt      |

    Details zu Verzögerungen und Ergebnissen: [Zeitplan & Timing](/de/campaigns/scheduling).
  </Step>

  <Step title="Kampagne starten">
    Klicken Sie auf **Create Campaign**. Mit geplantem Start wird der Status **Scheduled**; ohne Zeitplan **Draft** — dann in der Liste das Play-Symbol zum manuellen Start.
  </Step>
</Steps>

## Pflichtfelder

Bei Anlage über UI oder API werden u. a. benötigt:

| Feld            | Beschreibung                                |
| --------------- | ------------------------------------------- |
| `name`          | Lesbarer Kampagnenname                      |
| `assistantId`   | ID des Outbound-Assistenten                 |
| `companyId`     | ID der Firma, deren Kontakte gewählt werden |
| `fromNumberIds` | Liste der Telefonnummer-IDs für Rotation    |

## API: Kampagne erstellen

Programmatisch senden Sie `POST /api/crm/campaigns`. Kontakte danach mit `POST /api/crm/campaigns/{id}/contacts` hinzufügen.

```json theme={null}
POST /api/crm/campaigns
Content-Type: application/json
Authorization: Bearer <your-token>

{
  "teamId": "your-team-id",
  "name": "Q2 Enterprise Outreach",
  "assistantId": "asst_abc123",
  "companyId": "cmp_xyz456",
  "fromNumberIds": ["num_111", "num_222"],
  "description": "Follow-up calls for enterprise trial accounts",
  "scheduledStartAt": "2026-06-01T09:00:00Z",
  "callWindowStart": "09:00",
  "callWindowEnd": "17:00",
  "callWindowTimezone": "America/New_York",
  "maxConcurrentCalls": 3,
  "maxAttemptsPerContact": 3,
  "retryDelayMinutes": 60
}
```

Die Antwort enthält bei Erfolg `{ "success": true, "campaign": { ... } }` mit `id`. Mit dieser `id` Kontakte hinzufügen:

```json theme={null}
POST /api/crm/campaigns/{id}/contacts
Content-Type: application/json
Authorization: Bearer <your-token>

{
  "contactIds": ["cnt_aaa", "cnt_bbb", "cnt_ccc"]
}
```

<Tip>
  Alle berechtigten Kontakte einer Firma automatisch hinzufügen mit `audience` statt `contactIds`:

  ```json theme={null}
  {
    "audience": {
      "mode": "all_eligible",
      "companyId": "cmp_xyz456",
      "hasPhoneOnly": true,
      "excludeDnc": true
    }
  }
  ```
</Tip>
