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

# Initiatives

> One outreach mission: who you reach, what the agent is trying to accomplish, and what it comes back with.

An initiative is one mission you send the agent on. It holds the objective, the
briefing the agent works from, the people it reaches, the template it opens with,
and the [fields it should extract](/extraction) from every conversation. Almost
everything else in these docs hangs off one.

What the mission is, is your call. A win-back, a support follow-up, an onboarding
nudge, a research round, a qualification pass. Boom does not ask you to pick a
category, and nothing in the API changes based on the job you have in mind. The
objective and the briefing are what make it that job.

## The fields that decide quality

Only `name` is required. In practice three fields decide whether the
conversations are any good, because they go straight into the agent's prompt:

| Field                | What it does                                                                                                                                                     |
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `objective`          | What the agent is trying to accomplish. One goal, stated plainly, not a topic and not a question list.                                                           |
| `context`            | A Markdown briefing, up to 5000 characters: who these people are, what happened before this conversation, what is true about your business that the agent needs. |
| `guidingQuestions[]` | What every conversation should come back having covered. The agent decides how and when to ask, and follows up on its own.                                       |

The rest tune behavior:

| Field                | What it does                                                                                                                                            |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `language`           | Defaults to `es`.                                                                                                                                       |
| `maxAttempts`        | Outreach attempts per participant when someone does not answer, 1 to 5, default 3. The scaffolded [journey](/journeys) is sized from this.              |
| `isRecurring`        | Keeps processing participants you add later, on a schedule, instead of ending after one pass. Default false.                                            |
| `flagCondition`      | A condition in plain language. When a conversation matches it, the conversation is flagged for your team to look at.                                    |
| `identityDeflection` | How the agent answers when someone asks whether it is a person.                                                                                         |
| `contextSchema`      | Declares the per-participant variables you will pass when enrolling, so the agent can personalize. Participant `context` keys are validated against it. |

An initiative is created as `DRAFT`. **Only a draft is editable through the
API**, so get the configuration right before launching, and treat a launched
initiative as frozen.

## Lifecycle

```
DRAFT ──launch──► ACTIVE ──► COMPLETED
  │                 │
  └── editable      └── cancel, archive
```

Launching starts real outreach to real people. It is the one call here you
cannot take back, and it is gated accordingly.

### What "ready to launch" means

A launch that is not ready fails with a specific code rather than a generic
error, which tells you exactly what to fix:

| Code                       | What it means                                                                                                                                      |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| `409 initiative_not_draft` | It already launched, or it is cancelled or archived. Only a draft launches.                                                                        |
| `422 no_outreach_template` | Round one has no approved, active WhatsApp template linked. An initiative cannot open a conversation without one.                                  |
| `422 journey_not_ready`    | The journey behind it failed validation at publish. The response lists the issues, and you fix them with the journey tools before launching again. |
| `422 initiative_not_ready` | A required field is missing, or rewards are not set up. The message names what is missing.                                                         |

<Note>
  For a WhatsApp initiative, launching **publishes the journey for you**. You do
  not have to author or publish it yourself unless you want a flow other than the
  one Boom scaffolded from `maxAttempts`. A missing channel on the opening
  message is filled in automatically when there is only one sensible answer: the
  initiative's own channel, otherwise the organization's primary, otherwise its
  only sendable one.
</Note>

## Participants

Participants exist only inside an initiative, addressed under
`/initiatives/{id}/participants`. There is no global participant list, and there
is no delete: stopping a participant halts their outreach and keeps the data.

Enrolling sends a real message. People on your Do Not Contact list are skipped
by the platform rather than by whoever wrote the flow, so a suppressed contact
enrolled by mistake is not contacted.

## Reading results

Three read paths, all covered in [extraction](/extraction): the aggregate summary
for the whole initiative, the per participant record with its extracted values,
and the full transcripts.

## Related

<CardGroup cols={2}>
  <Card title="Journeys" icon="route" href="/journeys">
    The flow an initiative runs, and how to shape it when the default is not what
    you want.
  </Card>

  <Card title="Extraction" icon="table" href="/extraction">
    The typed fields every conversation should yield. Set this before launching.
  </Card>

  <Card title="Segments" icon="blend" href="/segments">
    Define who the initiative reaches, and remember to evaluate it.
  </Card>

  <Card title="Inbound conversations" icon="message-square" href="/inbound">
    The other direction, where no initiative is involved.
  </Card>
</CardGroup>
