> For the complete documentation index, see [llms.txt](https://anunzi-ai.gitbook.io/anunzi-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://anunzi-ai.gitbook.io/anunzi-docs/api-widgets/trabajar-con-la-api-de-llamadas/actions/create-action.md).

# Crear acción

**POST**\
`https://api.anunzi.net/v2/actions`

Create a custom action for your AI assistant, such as booking appointments, transferring calls, sending SMS, extracting information, or executing custom API calls.

***

#### **Body Parameters**

**Real-Time Booking (`REAL_TIME_BOOKING`)**

| Parameter         | Type   | Required | Description                                                                         |
| ----------------- | ------ | -------- | ----------------------------------------------------------------------------------- |
| `first_appt_date` | date   | Yes      | The initial date used to start searching for available appointments (`YYYY-MM-DD`). |
| `max_time_slots`  | int32  | Yes      | Defaults to `3`. The number of slots the assistant will suggest per day (max `3`).  |
| `min_hours_diff`  | int32  | Yes      | Defaults to `3`. Minimum hours between suggested appointments.                      |
| `no_of_days`      | int32  | Yes      | Defaults to `3`. The number of days the assistant will suggest appointments.        |
| `timezone`        | string | Yes      | The timezone for booking (default: `Europe/Berlin`).                                |

**Live Transfer (`LIVE_TRANSFER`)**

| Parameter        | Type   | Required | Description                                                                                    |
| ---------------- | ------ | -------- | ---------------------------------------------------------------------------------------------- |
| `phone`          | string | Yes      | The phone number to transfer the call to.                                                      |
| `instructions`   | string | Yes      | The trigger phrase(s) that will initiate the transfer (e.g., "I want to talk with a manager"). |
| `timeout`        | int32  | Yes      | How long to wait before stopping the transfer attempt.                                         |
| `digits`         | string | No       | Extension digits for the transfer call.                                                        |
| `initiating_msg` | string | No       | Message the assistant will say before initiating the transfer.                                 |
| `goodbye_msg`    | string | No       | Message the assistant will say before leaving the call.                                        |
| `failed_msg`     | string | No       | Message the assistant will say if the transfer fails.                                          |

**Send SMS (`SEND_SMS`)**

| Parameter      | Type   | Required | Description                                                              |
| -------------- | ------ | -------- | ------------------------------------------------------------------------ |
| `content`      | string | Yes      | The content of the SMS message.                                          |
| `instructions` | string | Yes      | The conditions that will trigger the SMS (e.g., "Send during the call"). |

**Custom Action (`CUSTOM_ACTION`)**

| Parameter                      | Type    | Required | Description                                                    |
| ------------------------------ | ------- | -------- | -------------------------------------------------------------- |
| `http_mode`                    | string  | Yes      | Defaults to `"GET"`. The HTTP method for the API call.         |
| `url`                          | string  | Yes      | The URL endpoint for the action.                               |
| `run_action_before_call_start` | boolean | Yes      | Whether the action should execute before the call starts.      |
| `name`                         | string  | Yes      | Name of the action.                                            |
| `description`                  | string  | No       | A brief description of the action.                             |
| `speech_while_using_the_tool`  | string  | No       | The message the assistant will say while executing the action. |
| `integration`                  | string  | No       | Possible integrations to retrieve information.                 |
| `custom_auth`                  | object  | No       | Custom authentication parameters.                              |
| `variables_before_the_call`    | array   | No       | Variables to be set before the call starts.                    |
| `variables_during_the_call`    | array   | No       | Variables that can be updated during the call.                 |
| `headers`                      | array   | No       | HTTP headers to include in the request.                        |
| `query_parameters`             | array   | No       | Query parameters to send with the request.                     |
| `json_body_stringified`        | string  | No       | A JSON stringified payload/body for the action.                |
| `prompt`                       | string  | No       | A prompt that will be used if set.                             |

***

#### **Example Request (cURL)**

```bash
curl --request POST \
     --url https://api.anunzi.net/v2/actions \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --header 'Authorization: Bearer API_KEY' \
     --data '
{
  "LIVE_TRANSFER": {
    "phone": "+5412315156",
    "instructions": "I want to talk with a manager",
    "timeout": 5
  },
  "SEND_SMS": {
    "content": "Hey man",
    "instructions": "Send during the call"
  }
}
'
```

***

#### **Example Response (200 OK)**

```json
{
  "status": "success",
  "response": {
    "action_id": "1726480245435x441436821832721800",
    "action_type": "Real Time Booking",
    "prompt_variables": []
  }
}
```

***

#### **Status Codes**

| Code | Description                                 |
| ---- | ------------------------------------------- |
| 200  | Action created successfully.                |
| 400  | Bad Request. Invalid or missing parameters. |
