KeyValue


**Deprecated.** This class is deprecated and should not be used in new scripts.

This class is deprecated. Instead, use `https://developers.google.com/apps-script/reference/card-service/decorated-text`.

### Methods

| Method | Return type | Brief description |
|---|---|---|
| `https://developers.google.com/apps-script/reference/card-service/key-value#addEventAction(EventAction)` | `https://developers.google.com/apps-script/reference/card-service/widget` | Adds the event action that can be performed on the widget. |
| `https://developers.google.com/apps-script/reference/card-service/key-value#setAuthorizationAction(AuthorizationAction)` | `https://developers.google.com/apps-script/reference/card-service/key-value#` | Sets an authorization action that opens a URL to the authorization flow when the object is clicked. |
| `https://developers.google.com/apps-script/reference/card-service/key-value#setComposeAction(Action,ComposedEmailType)` | `https://developers.google.com/apps-script/reference/card-service/key-value#` | Sets an action that composes a draft email when the object is clicked. |
| `https://developers.google.com/apps-script/reference/card-service/key-value#setId(String)` | `https://developers.google.com/apps-script/reference/card-service/widget` | Sets the unique ID assigned that's used to identify the widget to be mutated. |
| `https://developers.google.com/apps-script/reference/card-service/key-value#setOnClickAction(Action)` | `https://developers.google.com/apps-script/reference/card-service/key-value#` | Sets an action that executes when the object is clicked. |
| `https://developers.google.com/apps-script/reference/card-service/key-value#setOnClickOpenLinkAction(Action)` | `https://developers.google.com/apps-script/reference/card-service/key-value#` | Sets an action that opens a URL in a tab when the object is clicked. |
| `https://developers.google.com/apps-script/reference/card-service/key-value#setOpenLink(OpenLink)` | `https://developers.google.com/apps-script/reference/card-service/key-value#` | Sets a URL to be opened when the object is clicked. |
| `https://developers.google.com/apps-script/reference/card-service/key-value#setVisibility(Visibility)` | `https://developers.google.com/apps-script/reference/card-service/widget` | Sets the visibility of the widget. |

### Deprecated methods

| Method | Return type | Brief description |
|---|---|---|
| `https://developers.google.com/apps-script/reference/card-service/key-value#setBottomLabel(String)` | `https://developers.google.com/apps-script/reference/card-service/key-value#` | Sets the label text to be used as the key. |
| `https://developers.google.com/apps-script/reference/card-service/key-value#setButton(Button)` | `https://developers.google.com/apps-script/reference/card-service/key-value#` | Sets the `https://developers.google.com/apps-script/reference/card-service/button` that is displayed to the right of the context. |
| `https://developers.google.com/apps-script/reference/card-service/key-value#setContent(String)` | `https://developers.google.com/apps-script/reference/card-service/key-value#` | Sets the text to be used as the value. |
| `https://developers.google.com/apps-script/reference/card-service/key-value#setIcon(Icon)` | `https://developers.google.com/apps-script/reference/card-service/key-value#` | Sets the icon to be used as the key. |
| `https://developers.google.com/apps-script/reference/card-service/key-value#setIconAltText(String)` | `https://developers.google.com/apps-script/reference/card-service/key-value#` | Sets the alternative text for the icon. |
| `https://developers.google.com/apps-script/reference/card-service/key-value#setIconUrl(String)` | `https://developers.google.com/apps-script/reference/card-service/key-value#` | Sets the URL of the icon to be used as the key. |
| `https://developers.google.com/apps-script/reference/card-service/key-value#setMultiline(Boolean)` | `https://developers.google.com/apps-script/reference/card-service/key-value#` | Sets whether the value text should be displayed on a single line or multiple lines. |
| `https://developers.google.com/apps-script/reference/card-service/key-value#setSwitch(Switch)` | `https://developers.google.com/apps-script/reference/card-service/key-value#` | Sets the `https://developers.google.com/apps-script/reference/card-service/switch` that is displayed to the right of the content. |
| `https://developers.google.com/apps-script/reference/card-service/key-value#setTopLabel(String)` | `https://developers.google.com/apps-script/reference/card-service/key-value#` | Sets the label text to be used as the key. |

## Detailed documentation

### `addEventAction(eventAction)`

Adds the event action that can be performed on the widget.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `eventAction` | `https://developers.google.com/apps-script/reference/card-service/event-action` | The `https://developers.google.com/apps-script/reference/card-service/event-action` to be added. |

#### Return


`https://developers.google.com/apps-script/reference/card-service/widget` --- The Object, for chaining.

*** ** * ** ***

### `setAuthorizationAction(action)`

Sets an authorization action that opens a URL to the authorization flow when the object is
clicked. This opens the URL in a new window. When the user finishes the authorization flow and
returns to the application, the add-on reloads.

A UI object can only have one of `https://developers.google.com/apps-script/reference/card-service/key-value#setOpenLink(OpenLink)`, `https://developers.google.com/apps-script/reference/card-service/key-value#setOnClickAction(Action)`, `https://developers.google.com/apps-script/reference/card-service/key-value#setOnClickOpenLinkAction(Action)`, `https://developers.google.com/apps-script/reference/card-service/key-value#setAuthorizationAction(AuthorizationAction)`, or `https://developers.google.com/apps-script/reference/card-service/key-value#setComposeAction(Action,ComposedEmailType)` set.

```javascript
// ...

const action = CardService.newAuthorizationAction().setAuthorizationUrl('url');
CardService.newTextButton().setText('Authorize').setAuthorizationAction(action);
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `action` | `https://developers.google.com/apps-script/reference/card-service/authorization-action` | The object that specifies the authorization action to take when this element is clicked. |

#### Return


`https://developers.google.com/apps-script/reference/card-service/key-value#` --- This object, for chaining.

*** ** * ** ***

### `setComposeAction(action, composedEmailType)`

Sets an action that composes a draft email when the object is clicked. A UI object can only
have one of `https://developers.google.com/apps-script/reference/card-service/key-value#setOpenLink(OpenLink)`, `https://developers.google.com/apps-script/reference/card-service/key-value#setOnClickAction(Action)`, `https://developers.google.com/apps-script/reference/card-service/key-value#setOnClickOpenLinkAction(Action)`,
`https://developers.google.com/apps-script/reference/card-service/key-value#setAuthorizationAction(AuthorizationAction)`, or `https://developers.google.com/apps-script/reference/card-service/key-value#setComposeAction(Action,ComposedEmailType)` set.

The `https://developers.google.com/apps-script/reference/card-service/action` parameter must specify a callback function that returns a `https://developers.google.com/apps-script/reference/card-service/compose-action-response` object configured using `https://developers.google.com/apps-script/reference/card-service/compose-action-response-builder#setGmailDraft(GmailDraft)`.


> [!NOTE]
> **Note** : This method doesn't set a **compose action** that is used to [extend the compose UI](https://developers.google.com/gmail/add-ons/how-tos/extending-compose-ui). Rather, this method connects this UI element to an `https://developers.google.com/apps-script/reference/card-service/action` that [composes draft messages](https://developers.google.com/gmail/add-ons/how-tos/compose) in Apps Script that are opened in Gmail when the action completes.

<br />

```javascript
// ...

const action = CardService.newAction().setFunctionName('composeEmailCallback');
CardService.newTextButton()
    .setText('Compose Email')
    .setComposeAction(action, CardService.ComposedEmailType.REPLY_AS_DRAFT);

// ...

function composeEmailCallback(e) {
  const thread = GmailApp.getThreadById(e.threadId);
  const draft = thread.createDraftReply('This is a reply');
  return CardService.newComposeActionResponseBuilder()
      .setGmailDraft(draft)
      .build();
}
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `action` | `https://developers.google.com/apps-script/reference/card-service/action` | The object that specifies the compose action to take when this element is clicked. |
| `composedEmailType` | `https://developers.google.com/apps-script/reference/card-service/composed-email-type` | An enum value that specifies whether the composed draft is a standalone or reply draft. |

#### Return


`https://developers.google.com/apps-script/reference/card-service/key-value#` --- This object, for chaining.

*** ** * ** ***

### `setId(id)`

Sets the unique ID assigned that's used to identify the widget to be mutated. Widget mutation
is only supported in Add-Ons.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `id` | `String` | The id of the widget, with a limit of 64 characters and in format of \`\[a-zA-Z0-9-\]+\`. |

#### Return


`https://developers.google.com/apps-script/reference/card-service/widget` --- This object, for chaining.

*** ** * ** ***

### `setOnClickAction(action)`

Sets an action that executes when the object is clicked. A UI object can only have one of
`https://developers.google.com/apps-script/reference/card-service/key-value#setOpenLink(OpenLink)`, `https://developers.google.com/apps-script/reference/card-service/key-value#setOnClickAction(Action)`, `https://developers.google.com/apps-script/reference/card-service/key-value#setOnClickOpenLinkAction(Action)`, `https://developers.google.com/apps-script/reference/card-service/key-value#setAuthorizationAction(AuthorizationAction)`, or `https://developers.google.com/apps-script/reference/card-service/key-value#setComposeAction(Action,ComposedEmailType)` set.

The `https://developers.google.com/apps-script/reference/card-service/action` parameter must specify a callback function that returns a `https://developers.google.com/apps-script/reference/card-service/action-response` object.

```javascript
// ...

const action = CardService.newAction().setFunctionName('notificationCallback');
CardService.newTextButton()
    .setText('Create notification')
    .setOnClickAction(action);

// ...

function notificationCallback() {
  return CardService.newActionResponseBuilder()
      .setNotification(
          CardService.newNotification().setText('Some info to display to user'),
          )
      .build();
}
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `action` | `https://developers.google.com/apps-script/reference/card-service/action` | The action to take when this element is clicked. |

#### Return


`https://developers.google.com/apps-script/reference/card-service/key-value#` --- This object, for chaining.

*** ** * ** ***

### `setOnClickOpenLinkAction(action)`

Sets an action that opens a URL in a tab when the object is clicked. Use this function when the
URL needs to be built or when you need to take other actions in addition to creating the `https://developers.google.com/apps-script/reference/card-service/open-link` object. A UI object can only have one of `https://developers.google.com/apps-script/reference/card-service/key-value#setOpenLink(OpenLink)`, `https://developers.google.com/apps-script/reference/card-service/key-value#setOnClickAction(Action)`, `https://developers.google.com/apps-script/reference/card-service/key-value#setOnClickOpenLinkAction(Action)`, `https://developers.google.com/apps-script/reference/card-service/key-value#setAuthorizationAction(AuthorizationAction)`, or
`https://developers.google.com/apps-script/reference/card-service/key-value#setComposeAction(Action,ComposedEmailType)` set.

The `https://developers.google.com/apps-script/reference/card-service/action` parameter must specify a callback function that returns a `https://developers.google.com/apps-script/reference/card-service/action-response` object configured using `https://developers.google.com/apps-script/reference/card-service/action-response-builder#setOpenLink(OpenLink)`.

```javascript
// ...

const action = CardService.newAction().setFunctionName('openLinkCallback');
CardService.newTextButton()
    .setText('Open Link')
    .setOnClickOpenLinkAction(action);

// ...

function openLinkCallback() {
  return CardService.newActionResponseBuilder()
      .setOpenLink(CardService.newOpenLink().setUrl('https://www.google.com'))
      .build();
}
```

#### Parameters

| Name | Type | Description |
|---|---|---|
| `action` | `https://developers.google.com/apps-script/reference/card-service/action` | The object that specifies the open link action to take when this element is clicked. |

#### Return


`https://developers.google.com/apps-script/reference/card-service/key-value#` --- This object, for chaining.

*** ** * ** ***

### `setOpenLink(openLink)`

Sets a URL to be opened when the object is clicked. Use this function when the URL is already
known and only needs to be opened. A UI object can only have one of `https://developers.google.com/apps-script/reference/card-service/key-value#setOpenLink(OpenLink)`,
`https://developers.google.com/apps-script/reference/card-service/key-value#setOnClickAction(Action)`, `https://developers.google.com/apps-script/reference/card-service/key-value#setOnClickOpenLinkAction(Action)`, `https://developers.google.com/apps-script/reference/card-service/key-value#setAuthorizationAction(AuthorizationAction)`,
or `https://developers.google.com/apps-script/reference/card-service/key-value#setComposeAction(Action,ComposedEmailType)` set.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `openLink` | `https://developers.google.com/apps-script/reference/card-service/open-link` | An `https://developers.google.com/apps-script/reference/card-service/open-link` object describing the URL to open. |

#### Return


`https://developers.google.com/apps-script/reference/card-service/key-value#` --- This object, for chaining.

*** ** * ** ***

### `setVisibility(visibility)`

Sets the visibility of the widget. The default value is \`VISIBLE\`.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `visibility` | `https://developers.google.com/apps-script/reference/card-service/visibility` | The `https://developers.google.com/apps-script/reference/card-service/visibility` of the widget. |

#### Return


`https://developers.google.com/apps-script/reference/card-service/widget` --- The Object, for chaining.

## Deprecated methods

### `setBottomLabel(text)`


**Deprecated.** This function is deprecated and should not be used in new scripts.

Sets the label text to be used as the key. Displayed below the text-content.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `text` | `String` | The label text. Note: It doesn't support [basic HTML formatting](https://developers.google.com/gmail/add-ons/concepts/widgets#text_formatting). |

#### Return


`https://developers.google.com/apps-script/reference/card-service/key-value#` --- This object, for chaining.

*** ** * ** ***

### `setButton(button)`


**Deprecated.** This function is deprecated and should not be used in new scripts.

Sets the `https://developers.google.com/apps-script/reference/card-service/button` that is displayed to the right of the context. A `https://developers.google.com/apps-script/reference/card-service/key-value#` can
only support one button, one switch or one icon.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `button` | `https://developers.google.com/apps-script/reference/card-service/button` | The button to add. |

#### Return


`https://developers.google.com/apps-script/reference/card-service/key-value#` --- This object, for chaining.

*** ** * ** ***

### `setContent(text)`


**Deprecated.** This function is deprecated and should not be used in new scripts.

Sets the text to be used as the value. Supports [basic HTML formatting](https://developers.google.com/gmail/add-ons/concepts/widgets#text_formatting). Required.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `text` | `String` | The text content for this widget. |

#### Return


`https://developers.google.com/apps-script/reference/card-service/key-value#` --- This object, for chaining.

*** ** * ** ***

### `setIcon(icon)`


**Deprecated.** This function is deprecated and should not be used in new scripts.

Sets the icon to be used as the key.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `icon` | `https://developers.google.com/apps-script/reference/card-service/icon` | One of the predefined `https://developers.google.com/apps-script/reference/card-service/icon` values. |

#### Return


`https://developers.google.com/apps-script/reference/card-service/key-value#` --- This object, for chaining.

*** ** * ** ***

### `setIconAltText(altText)`


**Deprecated.** This function is deprecated and should not be used in new scripts.

Sets the alternative text for the icon.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `altText` | `String` | The alternative text for the icon. |

#### Return


`https://developers.google.com/apps-script/reference/card-service/key-value#` --- This object, for chaining.

*** ** * ** ***

### `setIconUrl(url)`


**Deprecated.** This function is deprecated and should not be used in new scripts.

Sets the URL of the icon to be used as the key.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `url` | `String` | The URL address of a hosted image to use as an icon. |

#### Return


`https://developers.google.com/apps-script/reference/card-service/key-value#` --- This object, for chaining.

*** ** * ** ***

### `setMultiline(multiline)`


**Deprecated.** This function is deprecated and should not be used in new scripts.

Sets whether the value text should be displayed on a single line or multiple lines.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `multiline` | `Boolean` | The multiline setting. |

#### Return


`https://developers.google.com/apps-script/reference/card-service/key-value#` --- This object, for chaining.

*** ** * ** ***

### `setSwitch(switchToSet)`


**Deprecated.** This function is deprecated and should not be used in new scripts.

Sets the `https://developers.google.com/apps-script/reference/card-service/switch` that is displayed to the right of the content. A `https://developers.google.com/apps-script/reference/card-service/key-value#` can
only support one button, one switch or one icon.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `switchToSet` | `https://developers.google.com/apps-script/reference/card-service/switch` | The switch to add. |

#### Return


`https://developers.google.com/apps-script/reference/card-service/key-value#` --- This object, for chaining.

*** ** * ** ***

### `setTopLabel(text)`


**Deprecated.** This function is deprecated and should not be used in new scripts.

Sets the label text to be used as the key. Displayed above the text-content.

#### Parameters

| Name | Type | Description |
|---|---|---|
| `text` | `String` | The label text. Note: It doesn't support [basic HTML formatting](https://developers.google.com/gmail/add-ons/concepts/widgets#text_formatting). |

#### Return


`https://developers.google.com/apps-script/reference/card-service/key-value#` --- This object, for chaining.