---
schema_version: "1"
id: 4be5bc39b3ccaeb917123ed93d4fb95e6078c01aa6f706fa5cc826a1e46568c3
title: Content - Push Notification (Connect API)
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/marketing-cloud/mc-core/references/generated-api-specs/mc-next-push-notification.md
canonical_url: https://developer.salesforce.com/docs/marketing/marketing-cloud-growth/references/mc-next-push-notification
source_site: developer.salesforce.com
content_type: documentation
content_hash: 699f558758fe2977238d23ca881f38db151ec513cae779038d11a85aeb908280
products:
  - Marketing Cloud Next
  - Marketing Cloud
---
Content - Push Notification (Connect API)

# Content - Push Notification (Connect API)

Create push notification content in Marketing Cloud Next. Push notifications support basic, carousel, and news-flash layouts.

This table lists the push notification-related use cases that the API supports.

| Supported Use Case | HTTP Verb | URI |
| --- | --- | --- |
| Create push notification content | [POST](/docs/marketing/marketing-cloud-growth/references/mc-next-push-notification?meta=createPushNotification) | /services/data/{apiVersion}/connect/cms/contents/pushNotification |

### Push Notification Content Structure

Push notification content uses a block-based architecture:

```json
{
  "sfdc_cms:title": "My Push Notification",
  "notificationType": "Basic",
  "notificationBlock": {
    "type": "block",
    "definition": "sfdc_cms__pushNotificationBasic",
    "attributes": {
      "sfdc_cms:pushNotificationContentTitle": "Welcome!",
      "sfdc_cms:pushNotificationContentMessage": "Your message here",
      "type": "Basic"
    }
  }
}
```

### Notification Types

When you send an in-app notification, select one of these notification types:

*   **Basic**—Standard push notification with title, subtitle, message, media, icons, and action buttons
*   **Carousel**—A push notification with multiple carousel cards
*   **NewsFlash**—Breaking news notification with title, subtitle, message, and actions

### Content Properties

Push notification content objects contain the properties in this table.

| Property | Type | Description |
| --- | --- | --- |
| `sfdc_cms:title` | string | The name of the content item. |
| `sfdc_cms:pushNotificationContentTitle` | string | The title of the notification. |
| `sfdc_cms:pushNotificationContentSubTitle` | string | The subtitle of the notification. |
| `sfdc_cms:pushNotificationContentMessage` | string | The body content of the notification. |

### Action Types

Push notification open behavior and action buttons support these action types:

*   `0`—Open the app
*   `1`—Go to a URL in the app
*   `2`—Go to a URL on the web

### Data Providers

Push notifications support these data providers for personalization:

*   `sfdc_cms__unifiedIndividualDataProvider`—Unified individual profile data
*   `sfdc_cms__organizationDataProvider`—Organization data
*   `sfdc_cms__eventListDataProvider`—Event list data
*   `sfdc_cms__couponListDataProvider`—Coupon list data

### Handlebars Expression Support

Push notification content supports [Handlebars scripting](/docs/marketing/handlebars-for-marketing-cloud-next/overview) in title, subtitle, and message fields.

**Version:** 1.0.0

Contact: Salesforce Marketing Cloud, https://www.salesforce.com/products/marketing-cloud/

## Servers

*   `https://{subdomain}.my.salesforce.com`
    *   `subdomain (default (no default)) The unique API subdomain for your Salesforce org.`

## Operations

### POST Create push notification content

`POST /services/data/{apiVersion}/connect/cms/contents/pushNotification`

Operation ID: `createPushNotification`. Tags: Push Notification Content.

Creates a push notification content item. The content body includes the notification title, type, and notification block configuration.

#### Request body (required)

Media type: `application/json`. Schema: `PushNotificationContentRequest`.

_Example: basicMinimal_ Basic push notification with minimal fields.

```
{
  "contentSpaceOrFolderId": "0Zuxx00000003M5CAI",
  "contentType": "sfdc_cms__pushNotification",
  "contentBody": {
    "sfdc_cms:title": "Weekly Sale Alert",
    "notificationType": "Basic",
    "notificationBlock": {
      "type": "block",
      "definition": "sfdc_cms__pushNotificationBasic",
      "attributes": {
        "sfdc_cms:pushNotificationContentTitle": "Flash Sale!",
        "sfdc_cms:pushNotificationContentMessage": "50% off all items this weekend only.",
        "type": "Basic"
      }
    }
  }
}
```

_Example: basicWithMedia_ Basic push notification with image media.

```
{
  "contentSpaceOrFolderId": "0Zuxx00000003M5CAI",
  "contentType": "sfdc_cms__pushNotification",
  "contentBody": {
    "sfdc_cms:title": "Product Launch Notification",
    "description": "Announce new product with hero image.",
    "notificationType": "Basic",
    "notificationBlock": {
      "type": "block",
      "definition": "sfdc_cms__pushNotificationBasic",
      "attributes": {
        "sfdc_cms:pushNotificationContentTitle": "New Arrival",
        "sfdc_cms:pushNotificationContentSubTitle": "Just dropped",
        "sfdc_cms:pushNotificationContentMessage": "Check out our newest product—available now in the app.",
        "type": "Basic",
        "media": {
          "type": "block",
          "definition": "sfdc_cms__pushNotificationMediaImage",
          "attributes": {
            "default": {
              "attributes": {
                "link": {
                  "source": {
                    "type": "imageReference",
                    "ref": {
                      "contentKey": "MC5IEGQZHII5GEJLZW5DVSAZHSRI"
                    }
                  },
                  "url": "/services/data/{apiVersion}/connect/cms/media/MC5IEGQZHII5GEJLZW5DVSAZHSRI?version=1.1&fileName=product-hero.png"
                },
                "type": "mediaUrl",
                "mediaType": "Image"
              }
            }
          }
        }
      }
    }
  }
}
```

_Example: basicWithActions_ Basic push notification with action buttons and deep link.

```
{
  "contentSpaceOrFolderId": "0Zuxx00000003M5CAI",
  "contentType": "sfdc_cms__pushNotification",
  "contentBody": {
    "sfdc_cms:title": "Order Confirmation",
    "notificationType": "Basic",
    "notificationBlock": {
      "type": "block",
      "definition": "sfdc_cms__pushNotificationBasic",
      "attributes": {
        "sfdc_cms:pushNotificationContentTitle": "Order Shipped!",
        "sfdc_cms:pushNotificationContentMessage": "Your order #12345 is on its way.",
        "type": "Basic",
        "actions": {
          "type": "block",
          "definition": "sfdc_cms__pushNotificationActionsBlocks",
          "attributes": {
            "action": "1",
            "actionUrl": "myapp://orders/12345",
            "passBackValue": "track_order"
          }
        },
        "actionButtons": {
          "type": "block",
          "definition": "sfdc_cms__pushNotificationActionButtons",
          "attributes": {
            "androidButtons": [
              {
                "type": "block",
                "definition": "sfdc_cms/pushNotificationAndroidButton",
                "attributes": {
                  "buttonConfig": "TEXT_EMOJI",
                  "buttonLabel": "Track Order",
                  "action": "1",
                  "actionUrl": "myapp://orders/12345",
                  "passbackValue": "track_order_btn"
                }
              },
              {
                "type": "block",
                "definition": "sfdc_cms/pushNotificationAndroidButton",
                "attributes": {
                  "buttonConfig": "TEXT_EMOJI",
                  "buttonLabel": "View Details",
                  "action": "2",
                  "actionUrl": "https://example.com/orders/12345",
                  "passbackValue": "view_details_btn"
                }
              }
            ]
          }
        }
      }
    }
  }
}
```

_Example: basicWithIcons_ Basic push notification with custom Android icons.

```
{
  "contentSpaceOrFolderId": "0Zuxx00000003M5CAI",
  "contentType": "sfdc_cms__pushNotification",
  "contentBody": {
    "sfdc_cms:title": "Custom Icon Notification",
    "notificationType": "Basic",
    "notificationBlock": {
      "type": "block",
      "definition": "sfdc_cms__pushNotificationBasic",
      "attributes": {
        "sfdc_cms:pushNotificationContentTitle": "App Update Available",
        "sfdc_cms:pushNotificationContentMessage": "Version 2.0 is ready to install.",
        "type": "Basic",
        "smallIcon": "ic_notification_small.png",
        "largeIcon": "ic_notification_large.png"
      }
    }
  }
}
```

_Example: basicWithPersonalization_ Basic push notification with Handlebars personalization.

```
{
  "contentSpaceOrFolderId": "0Zuxx00000003M5CAI",
  "contentType": "sfdc_cms__pushNotification",
  "contentBody": {
    "sfdc_cms:title": "Personalized Welcome",
    "notificationType": "Basic",
    "notificationBlock": {
      "type": "block",
      "definition": "sfdc_cms__pushNotificationBasic",
      "attributes": {
        "sfdc_cms:pushNotificationContentTitle": "Hey {{$unifiedIndividual.FirstName}}!",
        "sfdc_cms:pushNotificationContentMessage": "We have a special offer just for you.",
        "type": "Basic"
      }
    },
    "lightning:dataProviders": [
      {
        "sfdcExpressionKey": "$unifiedIndividual",
        "definition": "sfdc_cms__unifiedIndividualDataProvider",
        "attributes": {
          "objectApiName": "UnifiedIndividual__dlm"
        }
      }
    ]
  }
}
```

_Example: newsFlash_ NewsFlash type notification.

```
{
  "contentSpaceOrFolderId": "0Zuxx00000003M5CAI",
  "contentType": "sfdc_cms__pushNotification",
  "contentBody": {
    "sfdc_cms:title": "Breaking News Alert",
    "notificationType": "NewsFlash",
    "notificationBlock": {
      "type": "block",
      "definition": "sfdc_cms__pushNotificationNewsFlash",
      "attributes": {
        "sfdc_cms:pushNotificationContentTitle": "Breaking: Major Announcement",
        "sfdc_cms:pushNotificationContentSubTitle": "Important Update",
        "sfdc_cms:pushNotificationContentMessage": "We have exciting news to share with all customers.",
        "actions": {
          "type": "block",
          "definition": "sfdc_cms__pushNotificationActionsBlocks",
          "attributes": {
            "action": "2",
            "actionUrl": "https://example.com/news/announcement",
            "passBackValue": "news_action"
          }
        }
      }
    }
  }
}
```

#### Responses

*   **201** Push notification content created successfully.
    
    Media type: `application/json`. Schema: `PushNotificationContentResponse`.
    
    _Example: complete_ Complete response.
    
    ```
    {
      "apiName": "MCJUR5WKNRHZFP7NAUQOMMNJ7CI4",
      "contentBody": {
        "sfdc_cms:title": "Weekly Sale Alert",
        "notificationType": "Basic",
        "notificationBlock": {
          "type": "block",
          "definition": "sfdc_cms__pushNotificationBasic",
          "attributes": {
            "sfdc_cms:pushNotificationContentTitle": "Flash Sale!",
            "sfdc_cms:pushNotificationContentMessage": "50% off all items this weekend only.",
            "type": "Basic"
          }
        }
      },
      "contentFqn": "marketing--Default_Content_Workspace.sfdc_cms__pushNotification--MCJUR5WKNRHZFP7NAUQOMMNJ7CI4",
      "contentKey": "MCJUR5WKNRHZFP7NAUQOMMNJ7CI4",
      "contentSpace": {
        "id": "0ZuSB000002FYzW0AW",
        "resourceUrl": "/services/data/v65.0/connect/cms/spaces/0ZuSB000002FYzW"
      },
      "contentType": {
        "fullyQualifiedName": "sfdc_cms__pushNotification"
      },
      "createdBy": {
        "id": "005SB00000eaki1YAA",
        "name": "Admin User",
        "resourceUrl": "/services/data/v65.0/chatter/users/005SB00000eaki1YAA"
      },
      "createdDate": "2026-06-16T20:34:56.000Z",
      "externalId": null,
      "folder": {
        "id": "9PuSB000002KUDo0AO",
        "resourceUrl": "/services/data/v65.0/connect/cms/folders/9PuSB000002KUDo0AO"
      },
      "isPublished": false,
      "language": "en_US",
      "lastModifiedBy": {
        "id": "005SB00000eaki1YAA",
        "name": "Admin User",
        "resourceUrl": "/services/data/v65.0/chatter/users/005SB00000eaki1YAA"
      },
      "lastModifiedDate": "2026-06-16T20:34:56.000Z",
      "managedContentId": "20YSB000004SkOz2AK",
      "managedContentVariantId": "9PsSB0000045XAj0AM",
      "managedContentVersionId": "5OUSB000004K7np4AC",
      "status": {
        "label": "Draft",
        "status": "Draft"
      },
      "title": "Weekly Sale Alert",
      "urlName": "weekly-sale-alert",
      "versionNumber": "1.1"
    }
    ```
    
*   **400** Invalid request body.
    
    Media type: `application/json`. Schema: `Error`.
    
    _Example: missingTitle_ Missing required sfdc\_cms:title.
    
    ```
    {
      "error": "VALIDATION_ERROR",
      "message": "Required field 'sfdc_cms:title' is missing",
      "details": [
        {
          "field": "contentBody.sfdc_cms:title",
          "message": "Title: Complete this field."
        }
      ]
    }
    ```
    
    _Example: missingNotificationType_ Missing required notificationType.
    
    ```
    {
      "error": "VALIDATION_ERROR",
      "message": "Required field 'notificationType' is missing",
      "details": [
        {
          "field": "contentBody.notificationType",
          "message": "Notification Type: Complete this field."
        }
      ]
    }
    ```
    
    _Example: additionalProperties_ Additional properties not allowed.
    
    ```
    {
      "error": "VALIDATION_ERROR",
      "message": "Additional properties are not allowed",
      "details": [
        {
          "field": "contentBody.invalidProperty",
          "message": "You can't add the invalidProperty property because additionalProperties is set to false."
        }
      ]
    }
    ```
    
    _Example: titleTooLong_ The content title exceeds the maximum length.
    
    ```
    {
      "error": "VALIDATION_ERROR",
      "message": "Field exceeds maximum length",
      "details": [
        {
          "field": "contentBody.notificationBlock.attributes.sfdc_cms:pushNotificationContentTitle",
          "message": "Title must be 200 characters or fewer"
        }
      ]
    }
    ```
    
*   **401** Unauthorized.
    
    Media type: `application/json`. Schema: `Error`.
    
    _Example: response_ Example response.
    
    ```
    {
      "error": "UNAUTHORIZED",
      "message": "Authentication credentials are missing or invalid"
    }
    ```
    
*   **403** Forbidden.
    
    Media type: `application/json`. Schema: `Error`.
    
    _Example: response_ Example response.
    
    ```
    {
      "error": "FORBIDDEN",
      "message": "Insufficient permissions to create push notification content"
    }
    ```
    
*   **500** Internal server error.
    
    Media type: `application/json`. Schema: `Error`.
    
    _Example: response_ Example response.
    
    ```
    {
      "error": "INTERNAL_SERVER_ERROR",
      "message": "An unexpected error occurred while processing the request"
    }
    ```
    
*   **503** Service unavailable.
    
    Media type: `application/json`. Schema: `Error`.
    
    _Example: response_ Example response.
    
    ```
    {
      "error": "SERVICE_UNAVAILABLE",
      "message": "The service is temporarily unavailable. Please try again later"
    }
    ```
    

## Schemas

### PushNotificationContentRequest

Request to create a push notification content item.

*   `contentSpaceOrFolderId` (_string_, required) The ID of the content space or folder to create the content in.
*   `contentType` (_string_, required) Must be `sfdc_cms__pushNotification`.  
    Allowed values: `sfdc_cms__pushNotification`.
*   `contentBody` (_PushNotificationContentBody_, required)

### PushNotificationContentResponse

Response structure returned when creating or retrieving push notification content. This envelope is standard across all CMS content types.

*   `apiName` (_string_) System-generated API name for the content item.
*   `contentBody` (_PushNotificationContentBody_)
*   `contentFqn` (_string_, nullable) Fully qualified name including workspace and content type.
*   `contentKey` (_string_) A 28-character alphanumeric content key.
*   `contentSpace` (_object_)
    *   `id` (_string_)
    *   `resourceUrl` (_string_)
*   `contentType` (_object_)
    *   `fullyQualifiedName` (_string_)
*   `createdBy` (_object_)
    *   `id` (_string_)
    *   `name` (_string_)
    *   `resourceUrl` (_string_)
*   `createdDate` (_string (date-time)_)
*   `externalId` (_string_, nullable) An external identifier for the push notification, if one is set.
*   `folder` (_object_)
    *   `id` (_string_)
    *   `resourceUrl` (_string_)
*   `isPublished` (_boolean_)
*   `language` (_string_)
*   `lastModifiedBy` (_object_)
    *   `id` (_string_)
    *   `name` (_string_)
    *   `resourceUrl` (_string_)
*   `lastModifiedDate` (_string (date-time)_)
*   `managedContentId` (_string_) The Salesforce record ID for the managed content item.
*   `managedContentVariantId` (_string_) The variant ID for this content version.
*   `managedContentVersionId` (_string_) The version ID for this specific content version.
*   `status` (_object_)
    *   `label` (_string_)
    *   `status` (_string_)  
        Allowed values: `Draft`, `Published`.
*   `title` (_string_) The display title of the content.
*   `urlName` (_string_) A URL-friendly path slug. This value is generated automatically based on the title.
*   `versionNumber` (_string_) Content version number.

### Error

*   `error` (_string_, required) Error code or type.
*   `message` (_string_, required) Human-readable error message.
*   `details` (_array of object_) Additional error details.
    *   `field` (_string_) Field path that caused the error.
    *   `message` (_string_) Field-specific error message.

### PushNotificationContentBody

The content body for a push notification. Contains metadata, notification type, and the notification block with all content configuration.

*   `sfdc_cms:title` (_string_, required) The name of the push notification content item.
*   `description` (_string_) A description of the push notification.  
    Maximum length: 255.
*   `notificationType` (_string_, required) The type of notification. Determines which block definition is used for `notificationBlock`.  
    Allowed values: `Basic`, `Carousel`, `NewsFlash`.
*   `usedBytes` (_string_) Bytes used by the notification content.
*   `totalBytes` (_string_) Total bytes available for the notification content.
*   `notificationBlock` (_NotificationBlock_)
*   `lightning:dataProviders` (_array of DataProvider_) Data providers for personalization.

### NotificationBlock

The notification block containing the actual notification content and configuration. The block `definition` must correspond to the `notificationType`:

*   For basic notifications, use `sfdc_cms__pushNotificationBasic`
*   For carousel notifications, use `sfdc_cms__pushNotificationCarousel`
*   For news flash notifications, use `sfdc_cms__pushNotificationNewsFlash`

*   `type` (_string_, required) Always "block".  
    Allowed values: `block`.
*   `definition` (_string_, required) Block definition identifier.  
    Allowed values: `sfdc_cms__pushNotificationBasic`, `sfdc_cms__pushNotificationCarousel`, `sfdc_cms__pushNotificationNewsFlash`.
*   `attributes` (_NotificationBlockAttributes_, required)

### DataProvider

Data provider configuration for personalization expressions. Data providers supply runtime data for Handlebars merge fields in notification content.

*   `sfdcExpressionKey` (_string_) Expression key prefix used in Handlebars expressions (for example, `$unifiedIndividual`).
*   `definition` (_string_) Data provider block definition.  
    Allowed values: `sfdc_cms__unifiedIndividualDataProvider`, `sfdc_cms__organizationDataProvider`, `sfdc_cms__eventListDataProvider`, `sfdc_cms__couponDataProvider`, `sfdc_cms__couponListDataProvider`.
*   `attributes` (_object_) Data provider configuration attributes.

### NotificationBlockAttributes

Attributes for the notification block. Available properties depend on the notification type.

All notification types support these properties:

*   `sfdc_cms:pushNotificationContentTitle`—The title of the notification
*   `sfdc_cms:pushNotificationContentMessage`—The body content of the notification
*   `type`—Must match the notification type

Basic and NewsFlash notifications also support these properties:

*   `sfdc_cms:pushNotificationContentSubTitle`—A subtitle for the notification

Basic notifications also support these properties:

*   `media`—Image media block
*   `smallIcon`—Small notification icon for Android apps
*   `largeIcon`—Large notification icon for Android apps
*   `actions`—Default open behavior
*   `actionButtons`—Android action buttons
*   `androidButtonDefaultStyle` and `androidButtonCustomStyle`—Button styling

Carousel notifications also support these properties:

*   `cards`—Carousel cards block (required)
*   `actions`—Default open behavior (required)
*   `smallIcon` and `largeIcon`—Android icons

*   `sfdc_cms:pushNotificationContentTitle` (_string_) The title of the notification.  
    Maximum length: 200.
*   `sfdc_cms:pushNotificationContentSubTitle` (_string_) A subtitle for the notification.  
    Maximum length: 200.
*   `sfdc_cms:pushNotificationContentMessage` (_string_) The body content of the notification.  
    Maximum length: 2000.
*   `type` (_string_) Must match the notification type.  
    Allowed values: `Basic`, `Carousel`, `NewsFlash`.
*   `media` (_MediaBlock_)
*   `smallIcon` (_string_) The file name of the small notification icon for Android apps.
*   `largeIcon` (_string_) The file name of the large notification icon for Android apps.  
    Maximum length: 100.
*   `actions` (_ActionsBlock_)
*   `actionButtons` (_ActionButtonsBlock_)
*   `androidButtonDefaultStyle` (_object_) Default Android button style block.
*   `androidButtonCustomStyle` (_object_) Custom Android button style block.
*   `androidCustomizationText` (_string_) Android customization label text.
*   `cards` (_object_) Carousel cards block. Required for Carousel type messages.

### MediaBlock

Image media block for push notifications. Supports platform-specific images.

*   `type` (_string_)  
    Allowed values: `block`.
*   `definition` (_string_)  
    Allowed values: `sfdc_cms__pushNotificationMediaImage`.
*   `attributes` (_object_) Media attributes with platform-specific image configuration.
    *   `default` (_PlatformMediaConfig_)
    *   `android` (_PlatformMediaConfig_)
    *   `isAndroidCustomisationEnabled` (_boolean_) Whether Android-specific media customization is enabled.  
        Default: `false`.

### ActionsBlock

Default open behavior for the push notification when tapped. Defines what happens when the user taps the notification itself (not an action button).

*   `type` (_string_)  
    Allowed values: `block`.
*   `definition` (_string_)  
    Allowed values: `sfdc_cms__pushNotificationActionsBlocks`.
*   `attributes` (_object_)
    *   `action` (_string_) The action type for the button. Possible values: `0` (open app), `1` (go to app URL), `2` (go to web URL).  
        Allowed values: `0`, `1`, `2`.
    *   `actionUrl` (_string_) The URL to use for a deep link or web link.
    *   `passBackValue` (_string_) Unique identifier passed back to the app when the action is triggered.

### ActionButtonsBlock

Action buttons displayed on the push notification for Android apps. Each button can trigger a different action.

*   `type` (_string_)  
    Allowed values: `block`.
*   `definition` (_string_)  
    Allowed values: `sfdc_cms__pushNotificationActionButtons`.
*   `attributes` (_object_)
    *   `androidButtons` (_array of AndroidButton_) A list of Android action button configurations.
    *   `iosButtons` (_string_) Not used.

### PlatformMediaConfig

Platform-specific media configuration.

*   `attributes` (_object_)
    *   `link` (_object_) Media link with source reference and URL.
        *   `source` (_object_)
            *   `type` (_string_) Source type.  
                Allowed values: `imageReference`.
            *   `ref` (_object_)
                *   `contentKey` (_string_) CMS content key for the media asset.
        *   `url` (_string_) URL path to the media file.
    *   `type` (_string_) Media link type.  
        Allowed values: `mediaUrl`.
    *   `mediaType` (_string_) Type of media.  
        Allowed values: `Image`, `ImageWithGif`.

### AndroidButton

Individual Android action button configuration.

*   `type` (_string_)  
    Allowed values: `block`.
*   `definition` (_string_)  
    Allowed values: `sfdc_cms/pushNotificationAndroidButton`.
*   `attributes` (_object_)
    *   `buttonConfig` (_string_, required)
        
        Button display configuration:
        
        *   `TEXT_EMOJI`—Button with text and emoji
        *   `TEXT_ICON`—Button with text and icon
        
          
        Allowed values: `TEXT_EMOJI`, `TEXT_ICON`.
    *   `buttonLabel` (_string_, required) Button label text.
    *   `icon` (_string_) Icon filename for TEXT\_ICON configuration.
    *   `action` (_string_) The action type for the button. Possible values: `0` (open app), `1` (go to app URL), `2` (go to web URL).  
        Allowed values: `0`, `1`, `2`.
    *   `actionUrl` (_string_) The URL to use for a deep link or web link.
    *   `passbackValue` (_string_) Unique identifier for the button action.