# Actions

- [YAML representation](https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#SCHEMA_REPRESENTATION)
- [CustomAction](https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#CustomAction)
  - [YAML representation](https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#CustomAction.SCHEMA_REPRESENTATION)
- [Engagement](https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#Engagement)
  - [YAML representation](https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#Engagement.SCHEMA_REPRESENTATION)
- [PushNotification](https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#PushNotification)
- [DailyUpdate](https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#DailyUpdate)
- [ActionLink](https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#ActionLink)
  - [YAML representation](https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#ActionLink.SCHEMA_REPRESENTATION)
- [AssistantLink](https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#AssistantLink)
  - [YAML representation](https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#AssistantLink.SCHEMA_REPRESENTATION)

Represents the list of Actions defined in a project.

| YAML representation ||
|---|---|
| custom: string: object (https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#CustomAction) |

| Fields ||
|---|---|
| `custom` | ``map (key: string, value: object (`https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#CustomAction`))`` Map from intents to custom Actions to configure invocation for the project. The invocation intents could either be system or custom intents defined in the "custom/intents/" package. All intents defined here (system intents \& custom intents) must have a corresponding intent file in the "custom/global/" package. An object containing a list of `"key": value` pairs. Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`. |

## CustomAction

Details regarding a custom action.

| YAML representation ||
|---|---|
| ``` engagement: object (`https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#Engagement`) ``` |

| Fields ||
|---|---|
| `engagement` | ``object (`https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#Engagement`)`` Engagement mechanisms associated with the action to help end users subscribe to push notifications and daily updates. Note that the intent name specified in daily updates/push notifications slot config needs to match the intent corresponding to this action for end users to subscribe to these updates. |

## Engagement

Defines the engagement mechanisms associated with this action. This allows end users to subscribe to push notification and daily update.

| YAML representation ||
|---|---|
| ``` title: string pushNotification: object (`https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#PushNotification`) actionLink: object (`https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#ActionLink`) assistantLink: object (`https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#AssistantLink`) dailyUpdate: object (`https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#DailyUpdate`) ``` |

| Fields ||
|---|---|
| `title` | `string` The title of the engagement that will be sent to end users asking for their permission to receive updates. The prompt sent to end users for daily updates will look like "What time would you like me to send your daily {title}" and for push notifications will look like "Is it ok if I send push notifications for {title}". **This field is localizable.** |
| `pushNotification` | ``object (`https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#PushNotification`)`` Push notification settings that this engagement supports. |
| `actionLink (deprecated)` | ``object (`https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#ActionLink`)`` > [!WARNING] > This item is deprecated! Link config for an action which determines whether sharing links is enabled for the action and if so, contains the user friendly display name for the link. ActionLink is deprecated. Use AssistantLink instead. |
| `assistantLink` | ``object (`https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#AssistantLink`)`` Link config for an action which determines whether sharing links is enabled for the action and if so, contains the user friendly display name for the link. |
| `dailyUpdate` | ``object (`https://developers.google.com/assistant/actionssdk/reference/rest/Shared.Types/Actions#DailyUpdate`)`` Daily update settings that this engagement supports. |

## PushNotification

Defines push notification settings that this engagement supports.

## DailyUpdate

Defines daily update settings that this engagement supports.

## ActionLink

> [!WARNING]
> This item is deprecated!

Indicates whether sharing links is enabled for this action and the corresponding settings. Action links are used to deep link a user into a specific action. ActionLink is deprecated. Use AssistantLink instead.

| YAML representation ||
|---|---|
| ``` title: string ``` |

| Fields ||
|---|---|
| `title` | `string` User friendly display title for the link. |

## AssistantLink

Indicates whether sharing links is enabled for this action and the corresponding settings. Assistant links are used to deep link a user into a specific action.

| YAML representation ||
|---|---|
| ``` title: string ``` |

| Fields ||
|---|---|
| `title` | `string` User friendly display title for the link. |