---
title: [Tech] Configuring a custom action
slug: flutter-crm-pillar/A50k-tech-configuring-a-custom-action
docTags: 
createdAt: 2025-01-22T18:15:32.891Z
---

## Actions overview

To get an overview of all actions in Adobe Journey Optimizer:

1. In the menu on the left side, under **Administration**, click on **Configurations**. You will see a set of tiles. Click on **Manage** in the **Actions** tile to get an overview with all existing custom actions.

## Configuring a custom action

We'll be configuring a custom action to send the promotion that the Player has qualified for to CPP, so their player profile can be credited.

:::hint{type="warning"}
If you do not want to configure your own custom action, you can reuse the custom action **sendToCPP** that has aleady been created for you. Feel free to skip this exercise and proceed to **Creating the journey.**
:::

To configure a new action, click **Create Action**. A menu will open on the right side.

1. Set the **name** to  `yourName_sendToCPP`.
2. Keep **Action type** as **Custom.**&#x20;
3. Keep **Channel** as **Other.**
4. Keep **required marketing action** as **none.**
5. In the Endpoint configuration section:
   1. Enter **URL** as `https://us-central1-mock-apis-cf3a1.cloudfunctions.net/api/generic/getUserDecisions`
      *(This is a fake API endpoint created to send the product and notification to the call centre/branch, it sends the payload to a demo webhook)*
   2. Select the **Method** as **POST**
6. In the Headers section, ensure there are two headers that are available by default:
   1. Header 1 with **Label** as **Content-Type** and **Value** as **application/json**
   2. Header 2 with **Label** as **Charset** and **Value** as **UTF-8**
7. Leave the **Query parameters** section empty.
8. Keep **Authentication type** as `No authentication` .
9. On the payload section, **click** on the **pencil** button to open a popup to paste the response payload.

   ![](https://api.archbee.com/api/optimize/6H6rknlvdVrktAepVnpsA-wTPnLk8vaszCeLUVSRgDr-20250124-171814.png)
10. Paste the below response:
    `{`
    `	"identityNS": {`
    `		"toBeMapped": true,`
    `		"dataType": "string",`
    `		"label": "identityNS"`
    `	},`
    `	"userId": {`
    `		"toBeMapped": true,`
    `		"dataType": "string",`
    `		"label": "userID"`
    `	},`
    `	"enableWebhook": true,`
    `	"projectFilter": "flutter",`
    `	"decisionScope": {`
    `		"activityId": {`
    `			"toBeMapped": true,`
    `			"dataType": "string",`
    `			"label": "activityID"`
    `		},`
    `		"placementId": {`
    `			"toBeMapped": true,`
    `			"dataType": "string",`
    `			"label": "placementID"`
    `		}`
    `	}`
    `}`
11. The payload should auto detect the datatypes of the attributes as below. Click on **Save** to continue.

![](https://api.archbee.com/api/optimize/Kr9jNQk3X89PNSZafWHK9-q0oeVT6cIgEkU8Fvp3MeC-20250509-115556.png)

Now the response field should say 6 fields selected:

1. ![](https://api.archbee.com/api/optimize/Kr9jNQk3X89PNSZafWHK9-lidXrWYMQyasuJsUK6oVw-20250318-100506.png)

Scroll all the way to top and click on **Save.**

:::hint{type="success"}
You have now successfully created the custom action to send data to an external endpoint! This can be used to integrate with any system that needs to receive real-time notifications.
:::

