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

# Call campaigns

> Prepare contacts, an agent, calling hours, and retries for a voice campaign.

export const Availability = ({lang = 'es', plan, addon, permission, route, status}) => {
  const L = lang === 'en' ? {
    plan: 'Plan',
    addon: 'Add-on',
    permission: 'Permission',
    route: 'Where',
    status: 'Status',
    addonNote: 'enabled on request',
    allPlans: 'All plans',
    beta: 'Beta',
    nuevo: 'New',
    soon: 'Coming soon'
  } : {
    plan: 'Plan',
    addon: 'Add-on',
    permission: 'Permiso',
    route: 'Dónde',
    status: 'Estado',
    addonNote: 'se activa a pedido',
    allPlans: 'Todos los planes',
    beta: 'Beta',
    nuevo: 'Nuevo',
    soon: 'Próximamente'
  };
  const items = [];
  if (plan) items.push([L.plan, plan]);
  if (addon) items.push([L.addon, `${addon} · ${L.addonNote}`]);
  if (permission) items.push([L.permission, permission]);
  if (route) items.push([L.route, route]);
  if (status) items.push([L.status, L[status] || status]);
  return <div style={{
    display: 'flex',
    flexWrap: 'wrap',
    gap: '6px 22px',
    padding: '12px 16px',
    margin: '4px 0 24px',
    border: '1px solid rgba(2, 82, 255, 0.28)',
    borderLeft: '3px solid #0252ff',
    borderRadius: '8px',
    background: 'rgba(2, 82, 255, 0.05)',
    fontSize: '13.5px',
    lineHeight: '1.5'
  }}>
      {items.map(([k, v]) => <div key={k} style={{
    display: 'flex',
    gap: '6px',
    alignItems: 'baseline'
  }}>
          <span style={{
    fontSize: '10.5px',
    fontWeight: 600,
    letterSpacing: '0.07em',
    textTransform: 'uppercase',
    opacity: 0.65
  }}>{k}</span>
          <span style={{
    fontWeight: 500
  }}>{v}</span>
        </div>)}
    </div>;
};

<Availability lang="en" route="Campaigns → Voice" permission="campaigns.read / campaigns.create" />

A campaign organizes outbound calls to a set of contacts. Before publishing, test the agent with your own number and check your balance and caller ID.

## Create the campaign

1. Open **Campaigns**, create a campaign, and select voice when the type picker appears.
2. In **Details**, enter its name, schedule, calling window, verified caller ID, and retries. The form accepts **1 to 10** retries.
3. In **Agent**, choose the agent prepared for this operation. Review its instructions, tools, and published version.
4. In **Contacts**, add recipients from a file, board, or existing campaign. Review numbers and counts before proceeding.
5. Review the summary and publish when you are ready to place real calls according to the schedule.

The calling window determines when the campaign can operate; it is separate from each call’s duration limit. This form has no concurrency control.

## Track progress

| Status             | Meaning                                   |
| ------------------ | ----------------------------------------- |
| `PENDING`          | Waiting to start.                         |
| `ACTIVE`           | Running.                                  |
| `PAUSED`           | Paused.                                   |
| `COMPLETED`        | Execution finished.                       |
| `CREDITS_REQUIRED` | Credits are needed to continue.           |
| `INCOMPLETE`       | Execution is incomplete and needs review. |

The detail view includes metrics, rates, and charts. Open individual calls to distinguish unanswered calls, voicemail, failures, and analysis outcomes. **Completed** describes the campaign; it does not mean every contact answered.

To stop new attempts, use the campaign’s pause action and inspect calls already in progress. Resolve the cause of an interruption before resuming.

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Can I use any caller ID?">
    Choose a verified number available to the organization in **My numbers**.
  </Accordion>

  <Accordion title="Why did it stop for credits?">
    Check the balance in Billing and recheck the campaign status after topping up.
  </Accordion>

  <Accordion title="Where do I configure simultaneous calls?">
    The editor does not offer this setting. Contact support if your operation needs specific capacity.
  </Accordion>
</AccordionGroup>

## See also

* [My numbers](/en/calls/my-numbers)
* [Import contacts](/en/contacts/import)
