# 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. |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.anunzi.net/api-widgets/trabajar-con-la-api-de-llamadas/actions/create-action.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
