# `bird whatsapp agents ui-skills create`

## Usage

```bash
bird whatsapp agents ui-skills create <number-id> [flags]
```

## Description

Add a rich-message skill to an agent

Let the agent on this WhatsApp number answer with a rich message component in a situation you describe. `component_type` cannot be changed afterwards.

Build the request from flags, a JSON WhatsAppAgentUISkillCreate body via --body-file ("-" reads
stdin), or both — a flag overrides the matching body field. Run --example to
print a ready-to-edit body, or --dry-run to print the resolved request without
sending it.

## Examples

```bash
# print the body shape (no credentials needed)
bird whatsapp agents ui-skills create --example

# the body it prints:
```

```json
{
  "component_type": "interactive_reply_buttons",
  "enabled": true,
  "instruction": "Offer the three nearest pickup points as reply buttons once a contact has given their postcode.",
  "title": "nearest-pickup-points"
}
```

## Options

#### Request

| Name                | Description                                                  |
| ------------------- | ------------------------------------------------------------ |
| `--body-file`       | Read the JSON request body from this file; "-" reads stdin   |
| `--example`         | Print a complete example request body, then exit             |
| `--dry-run`         | Print the resolved request without sending it, then exit     |
| `--idempotency-key` | Deduplication key; a retry with the same key won't act twice |

#### Options

| Name                | Description                                                                                                                                                                                                                                                                                          |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--title`           | A short handle for the skill, in lowercase letters, digits and hyphens, for you to tell skills apart. (required; or in --body-file)                                                                                                                                                                  |
| `--component-type`  | Which rich message component the agent may use. It cannot be changed afterwards; add a new skill to use another. Possible values: cta\_url, image, interactive\_list, interactive\_reply\_buttons, location, location\_request, carousel\_url, carousel\_quick\_reply. (required; or in --body-file) |
| `--enabled`         | Whether the agent may use this skill from the start. (required; or in --body-file)                                                                                                                                                                                                                   |
| `--instruction`     | When the agent should reach for this component, and what to put in it. (required; or in --body-file)                                                                                                                                                                                                 |
| `--response-schema` | Print the fields this command returns, then exit                                                                                                                                                                                                                                                     |

## Related

| Name                                                                                            | Description                                  |
| ----------------------------------------------------------------------------------------------- | -------------------------------------------- |
| [`bird whatsapp agents ui-skills delete`](/docs/cli/reference/whatsapp-agents-ui-skills-delete) | Remove one of an agent's rich-message skills |
| [`bird whatsapp agents ui-skills get`](/docs/cli/reference/whatsapp-agents-ui-skills-get)       | Get one of an agent's rich-message skills    |
| [`bird whatsapp agents ui-skills list`](/docs/cli/reference/whatsapp-agents-ui-skills-list)     | List an agent's rich-message skills          |
| [`bird whatsapp agents ui-skills update`](/docs/cli/reference/whatsapp-agents-ui-skills-update) | Update one of an agent's rich-message skills |

## Related resources

- [Should I use a Bird SDK or call the API directly?](/explained/platform/should-i-use-an-sdk-or-call-the-api-directly) (answer)
- [Build your first integration](/learn/paths/integration) (course)
- [Send your first email](/docs/get-started/send-your-first-email) (docs)

[Get an implementation brief](/learn/workspace?topic=api-basics)
