# Marketplace Workflow Actions

> Marketplace Workflow Actions are the customizable workflow actions managed in Marketplace . You will be able to create custom actions to push or pull…

- Source: https://docs.ghlcustomercare.com/docs/app-marketplace/workflow-triggers-and-actions/marketplace-workflow-actions
- Section: App marketplace / Workflow Triggers & Actions
- Reading time: 10 min
- Images: 45, each explained below
- Modified on Thu, 15 May, 2025 at 12:03 AM

---
Marketplace Workflow Actions are the customizable workflow actions managed in Marketplace. You will be able to create custom actions to push or pull data from your application/API in a workflow using customized fields and API endpoint.

Sign up/ Sign in to Marketplace to manage Marketplace Workflow Actions.  
Marketplace Workflow Actions are part of LC Premium Triggers & Actions and are chargeable per execution.  
How to enable and rebill LC Premium Triggers & Actions for Workflows?  
You should enable Workflow LC Premium Triggers & Actions for the sub-account to access the Actions created in the Marketplace App.  
The marketplace workflow actions created in an APP will be listed in the workflow actions only if the sub-account has the APP installed/integrated from the Marketplace.  

**TABLE OF CONTENTS**

-   [Prerequisites](#prerequisites)[](#create-action)
    
-   [Create Action](#create-action)
    
    -   [Name](#name)
    -   [Action Information](#action-information)
        -   [Icon](#icon)
        -   [Name](#name-2)
        -   [Key](#key)
        -   [Short description](#short-description)
        -   [Summary](#summary)
-   [Action Configuration](#action-configuration)
    
    -   [Manage Fields](#manage-fields)
        -   [Create New Field](#create-new-field)
        -   [Type: Select / Multi Select / Radio](#type-select-multi-select-radio)
            -   [Constants](#constants)
            -   [Internal Reference](#internal-reference)
            -   [External API](#external-api)
        -   [Type: Hidden](#type-hidden)
        -   [Type: Dynamic](#type-dynamic)
        -   [Validation Rules](#validation-rules-2)
            
-   [Multi-branch](#multi-branch)  [](#action-execution)
-   [Action Execution](#action-execution)[](#api)
    -   [API](#api)
    -   [Custom code](#custom-code) 
    -   [Test and format your Code](#test-and-format-your-code)[](#pause-execution)[](#pause-execution)[](#pause-execution)[  
        ](#pause-execution)
-   [Pause Execution](#pause-execution)
-   [Manage Custom Variables](#manage-custom-variables)
-   [Add Custom Variable](#add-custom-variable)
-   [Submit for Review](#submit-for-review)
-   [Create New Version](#create-new-version)
-   [Delete Action](#delete-action)

## **Prerequisites**

**_Note : workflows.readyonly scope should be turned on to enable actions and triggers._**

![Prerequisites (image 1 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155031136715/original/0aSds7RCt1quSlQ08B6V0bOuZWIUk56ZGw.png)

**Prerequisites (image 1 of 45)**

This screenshot appears in the "Prerequisites" section of "Marketplace Workflow Actions". The text alongside this image reads: Note: workflows.readyonly scope should be turned on to enable actions and triggers. Immediately after, the guide continues: A unique identifier for this action, used to reference the action inside the workflow. This value cannot be changed later. Example: {{mycustomaction.data.name}}.
- What this covers: Note: workflows.readyonly scope should be turned on to enable actions and triggers.
- Next: A unique identifier for this action, used to reference the action inside the workflow. This value cannot be changed later. Example: {{mycustomaction.data.name}}

## **Create Action**

![Create Action (image 2 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155005617666/original/6dcMrp542QyK9ITxiYd6SP3nDrmXS0H4ng.png)

**Create Action (image 2 of 45)**

This screenshot appears in the "Create Action" section of "Marketplace Workflow Actions". The text alongside this image reads: Note: workflows.readyonly scope should be turned on to enable actions and triggers. Immediately after, the guide continues: A unique identifier for this action, used to reference the action inside the workflow. This value cannot be changed later. Example: {{mycustomaction.data.name}}.
- What this covers: Note: workflows.readyonly scope should be turned on to enable actions and triggers.
- Next: A unique identifier for this action, used to reference the action inside the workflow. This value cannot be changed later. Example: {{mycustomaction.data.name}}

### **Name**

Enter Action Name

**Key**

A unique identifier for this action, used to reference the action inside the workflow. This value cannot be changed later. Example: {{mycustomaction.data.name}}

# **Action Information**

Add action details

![Action Information (image 3 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155005617692/original/ayYzwBxRpcqkChyLHwVUxiYa6SNiuEUpmg.png)

**Action Information (image 3 of 45)**

This screenshot appears in the "Action Information" section of "Marketplace Workflow Actions". The text alongside this image reads: A unique identifier for this action, used to reference the action inside the workflow. This value cannot be changed later. Example: {{mycustomaction.data.name}}. Immediately after, the guide continues: Choose an Icon for this Action. Shown in workflow for this action.
- What this covers: A unique identifier for this action, used to reference the action inside the workflow. This value cannot be changed later. Example: {{mycustomaction.data.name}}
- Next: Choose an Icon for this Action. Shown in workflow for this action.

### **Icon**

Choose an Icon for this Action. Shown in workflow for this action.

### **Name**

Custom Action Name

### **Key**

A unique identifier for this action, used to reference the action inside the workflow, Ex: {{action\_a.custom\_variable}}. This value cannot be changed later.

### **Short description**

A short description explaining what your action does to help users understand. Shown in workflow as sub-title for this action.

### **Summary**

A detailed information on what your action does to help users understand why they should use this action.

# **Action Configuration**

## **Manage Fields**

Construct form to collect the data required for sending to API

## 

![Manage Fields (image 4 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155005617794/original/ruqdiXv6Qpyb5koXldxA6IezKmW4Kn4k6A.png)

**Manage Fields (image 4 of 45)**

This screenshot appears in the "Manage Fields" section of "Marketplace Workflow Actions". The text alongside this image reads: Construct form to collect the data required for sending to API. Immediately after, the guide continues: Select one of the following field types.
- What this covers: Construct form to collect the data required for sending to API
- Next: Select one of the following field types:

### **Create New Field**

![Create New Field (image 5 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155014097669/original/K7S7qgH1SPJT2Epd6gu8E37h5aImQ0tPDA.png)

**Create New Field (image 5 of 45)**

This screenshot appears in the "Create New Field" section of "Marketplace Workflow Actions". The text alongside this image reads: Construct form to collect the data required for sending to API. This part of the guide covers 10 fields, listed below. Immediately after, the guide continues: Select one of the following field types.
- What this covers: Construct form to collect the data required for sending to API
- Fields: String, Numerical, Textarea, Multiple Select, Radio, Checkbox, Attachment, Rich Text Editor, Hidden, Dynamic
- Controls: Name, Type, Required, Reference, Default Value, Alters Dynamic Field
- Next: Select one of the following field types:

Full procedure:

1. String
2. Numerical
3. Textarea
4. Select
5. Multiple Select
6. Radio
7. Toggle
8. Checkbox
9. Attachment
10. Rich Text Editor
11. Hidden
12. Dynamic

![Create New Field (image 6 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155046654687/original/wlQ-4aQO5LpNdpJbhzMNHN2oNPiD95H3sw.png)

**Create New Field (image 6 of 45)**

This screenshot appears in the "Create New Field" section of "Marketplace Workflow Actions". The text alongside this image reads: Construct form to collect the data required for sending to API. This part of the guide covers 10 fields, listed below. Immediately after, the guide continues: Select one of the following field types.
- What this covers: Construct form to collect the data required for sending to API
- Fields: String, Numerical, Textarea, Multiple Select, Radio, Checkbox, Attachment, Rich Text Editor, Hidden, Dynamic
- Controls: Name, Type, Required, Reference, Default Value, Alters Dynamic Field
- Next: Select one of the following field types:

Full procedure:

1. String
2. Numerical
3. Textarea
4. Select
5. Multiple Select
6. Radio
7. Toggle
8. Checkbox
9. Attachment
10. Rich Text Editor
11. Hidden
12. Dynamic

**Name**

Enter Field Name

**Type**

Select one of the following field types:

-   String
-   Numerical
-   Textarea
-   [Select](#type-select-multi-select-radio)
-   [Multiple Select](#type-select-multi-select-radio)
-   [Radio](#type-select-multi-select-radio)
-   Toggle
-   Checkbox
-   Attachment
-   Rich Text Editor
-   [Hidden](#type-hidden)
-   [Dynamic](#type-dynamic)

**Required**

Enable if this is a required field in workflow.

**Reference**

Enter unique reference key. The value of this field will be bind to the provided key. Example: action\_a\_name

**Default Value  
**

Enter or map a value. The value provided will be used as default value for this field when loaded in workflow.

**Alters Dynamic Field**

If enabled, any changes made to this field value will trigger/ re-trigger loading the dynamic fields to the workflow action configuration UI.

#### **Validation Rules**

Validation Rules let you protect data quality by checking the value a user types into a **form field**, **table cell**, or **configuration input** before it is saved or passed downstream.  
If the value fails the check, GHL Customer Care blocks the save/submit action and shows a custom error message that you configure.

Typical use-cases

| Scenario | Example |
| --- | --- |
| Lead-capture form | Require a properly-formatted US phone number |
| Web-hook payload | Ensure a “status” field matches one of several allowed strings |
| Custom action parameter | Block users from entering Handlebar syntax in a plain-text field |

### **Type: Select / Multi Select / Radio  
**

![Type: Select / Multi Select / Radio (image 7 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155005618327/original/75wTdD-ywGGAzHHCMQ6rSJ74XtVQEivUeQ.png)

**Type: Select / Multi Select / Radio (image 7 of 45)**

This screenshot appears in the "Type: Select / Multi Select / Radio" section of "Marketplace Workflow Actions". The text alongside this image reads: Scenario Example Lead-capture form Require a properly-formatted US phone number Web-hook payload Ensure a “status” field matches one of several allowed strings Custom action parameter Block users from entering Handlebar syntax in a plain-text field. This part of the guide covers 3 fields, listed below. Immediately after, the guide continues: Option Type is applicable only for Select, Multi Select and Radio field types.
- What this covers: Scenario Example Lead-capture form Require a properly-formatted US phone number Web-hook payload Ensure a “status” field matches one of several allowed strings Custom action parameter Block users from entering Handlebar syntax in a plain-text field
- Fields: Constants, Internal Reference, External API
- Next: Option Type is applicable only for Select, Multi Select and Radio field types.

Full procedure:

1. Constants
2. Internal Reference
3. External API

Option Type is applicable only for Select, Multi Select and Radio field types.

Select one of the following option types:

-   Constants
-   Internal Reference
-   External API

#### **Constants**

Load options by adding custom Label-Value constants

![Constants (image 8 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155005617938/original/xkySDB0XDrua62JzPisbo1TNQH59sEZSaw.png)

**Constants (image 8 of 45)**

This screenshot appears in the "Constants" section of "Marketplace Workflow Actions". The text alongside this image reads: Load options by adding custom Label-Value constants. Immediately after, the guide continues: Load options from GHL Customer Care Internal Modules. Select one of the GHL Customer Care Modules to load options list.
- What this covers: Load options by adding custom Label-Value constants
- Next: Load options from GHL Customer Care Internal Modules. Select one of the GHL Customer Care Modules to load options list.

#### **Internal Reference**

Load options from GHL Customer Care Internal Modules. Select one of the GHL Customer Care Modules to load options list.

![Internal Reference (image 9 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155005617998/original/du8lZRMai5wENrSducJPjhqgFASlOZ_P6Q.png)

**Internal Reference (image 9 of 45)**

This screenshot appears in the "Internal Reference" section of "Marketplace Workflow Actions". The text alongside this image reads: Load options from GHL Customer Care Internal Modules. Select one of the GHL Customer Care Modules to load options list. Immediately after, the guide continues: Supported GHL Customer Care Modules.
- What to choose: Load options from GHL Customer Care Internal Modules. Select one of the GHL Customer Care Modules to load options list.
- Next: Supported GHL Customer Care Modules

**Supported GHL Customer Care Modules**

![Internal Reference (image 10 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155005670538/original/8uQtBkMLWLhm6jcDxdX-gzjR07BQ_GPtXw.png)

**Internal Reference (image 10 of 45)**

This screenshot appears in the "Internal Reference" section of "Marketplace Workflow Actions". The text alongside this image reads: Supported GHL Customer Care Modules. For context, this section explains: Load options from GHL Customer Care Internal Modules. Select one of the GHL Customer Care Modules to load options list. Immediately after, the guide continues: Load option from external API endpoint.
- What this covers: Supported GHL Customer Care Modules
- Next: Load option from external API endpoint

#### **External API**

Load option from external API endpoint

![External API (image 11 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155005618042/original/2om_uuB9g_V8MhG1MOLUrPPMIiq2kLggTA.png)

**External API (image 11 of 45)**

This screenshot appears in the "External API" section of "Marketplace Workflow Actions". The text alongside this image reads: Load option from external API endpoint. For context, this section explains: Provide a URL to support GET method and send a valid response as per the sample response structure shared below. Immediately after, the guide continues: Provide a URL to support GET method and send a valid response as per the sample response structure shared below.
- What this covers: Load option from external API endpoint
- Controls: URL (GET), Headers, Sample Response Data
- Next: Provide a URL to support GET method and send a valid response as per the sample response structure shared below.

**URL (GET)**

Provide a URL to support GET method and send a valid response as per the sample response structure shared below.

**Headers**

Add headers as per your requirement

**Sample Response Data**

{
   "options": \[
      {
         "label": "Afghanistan",
         "value": "AF"
      },
      {
         "label": "Åland Islands",
         "value": "AX"
      },
      {
         "label": "Albania",
         "value": "AL"
      },
      {
         "label": "Algeria",
         "value": "DZ"
      },
      {
         "label": "American Samoa",
         "value": "AS"
      }
   \]
}

### **Type: Hidden**

It will be hidden in the action configuration and the mapped data will be sent in the payload. Used to collect essential information such as company\_id, customerid, etc,. from system data or from your custom triggers

### 

![Type: Hidden (image 12 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155014523897/original/XyGotHxLGe2wMKBEiZA-SPiJUKlT7jy-Kw.png)

**Type: Hidden (image 12 of 45)**

This screenshot appears in the "Type: Hidden" section of "Marketplace Workflow Actions". The text alongside this image reads: It will be hidden in the action configuration and the mapped data will be sent in the payload. Used to collect essential information such as company_id, customerid, etc,. from system data or from your custom triggers. Immediately after, the guide continues: Dynamic fields are used to build custom fields from an API call. The API call should return the below response structure to construct the fields in the Workflow action configuration form UI. Only one Dynamic type can be created per action.
- What this covers: It will be hidden in the action configuration and the mapped data will be sent in the payload. Used to collect essential information such as company_id, customerid, etc,. from system data or from your custom triggers
- Next: Dynamic fields are used to build custom fields from an API call. The API call should return the below response structure to construct the fields in the Workflow action configuration form UI. Only one Dynamic type can be created per action.

### **Type: Dynamic**

Dynamic fields are used to build custom fields from an API call. The API call should return the below response structure to construct the fields in the Workflow action configuration form UI. Only one Dynamic type can be created per action.

![Type: Dynamic (image 13 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155005619479/original/4iG7FjTRJheIDHXNKGKDV3TZKaEtM-xMCg.png)

**Type: Dynamic (image 13 of 45)**

This screenshot appears in the "Type: Dynamic" section of "Marketplace Workflow Actions". The text alongside this image reads: Dynamic fields are used to build custom fields from an API call. The API call should return the below response structure to construct the fields in the Workflow action configuration form UI. Only one Dynamic type can be created per action. Immediately after, the guide continues: Enter your API endpoint URL. When executed data is sent to this API endpoint via POST method in the below mentioned payload format and a valid response is expected as per the sample response structure shared below.
- What to fill in: Dynamic fields are used to build custom fields from an API call. The API call should return the below response structure to construct the fields in the Workflow action configuration form UI. Only one Dynamic type can be created per action.
- Controls: URL (POST), Headers, Sample structure for each Field Types
- Next: Enter your API endpoint URL. When executed data is sent to this API endpoint via POST method in the below mentioned payload format and a valid response is expected as per the sample response structure shared below.

**URL (POST)**

Enter your API endpoint URL. When executed data is sent to this API endpoint via POST method in the below mentioned payload format and a valid response is expected as per the sample response structure shared below.

**Headers**

Add headers as per your requirement

**Sample Payload:**The form data is sent as payload to the dynamic field API

{
   "data": {
        "name": "John Doe",
        "age": "29",
        "gender": "male",
        "hobbies": \["sports", "music"\],
        "address": "My Address",
        "country": "US",
        "profileType": "public",
        "dataShare": true,
        "tems": true,
   },
   "extras": {
        "locationId": "xyz",
        "contactId": "abc",
        "workflowId": "def"
   },
   "meta": {
        "key": "custom\_action\_key",
        "version": "1.0",
   }
}

**Sample Response Structure:** Sections are used to group the fields in UI  

{
   "inputs": \[
      {
         "section": "Personal Info",
         "fields": \[
            {
               "field": "name",
               "title": "Name",
               "fieldType": "string",
               "required": true
            },
            {
               "field": "age",
               "title": "Age",
               "fieldType": "numerical",
               "required": true
            },
            {
               "field": "gender",
               "title": "Gender",
               "fieldType": "select",
               "required": true,
               "options": \[
                  {
                     "label": "Male",
                     "value": "male"
                  },
                  {
                     "label": "Female",
                     "value": "female"
                  }
               \]
            }
         \]
      },
      {
         "section": "Location Info",
         "fields": \[
            {
               "field": "village",
               "title": "Village",
               "fieldType": "string",
               "required": true
            },
            {
               "field": "city",
               "title": "City",
               "fieldType": "string",
               "required": true
            },
            {
               "field": "fullAddress",
               "title": "Your Full Address",
               "fieldType": "textarea",
               "required": true
            }
         \]
      }
   \]
}

**Sample structure for each Field Types**

String

{
   "field": "name",
   "title": "Name",
   "fieldType": "string",
   "required": true
}

Numeric

{
   "field": "name",
   "title": "Name",
   "fieldType": "numeric",
   "required": true
}

Textarea

{
  "field": "description",
  "title": "Description",
  "fieldType": "textarea",
  "required": true
}

Select

{
   "field": "gender",
   "title": "Gender",
   "fieldType": "select",
   "required": true,
   "options": \[
      {
         "label": "Male",
         "value": "male"
      },
      {
         "label": "Female",
         "value": "female"
      }
   \]
}

Multiple Select

{
   "field": "hobbies",
   "title": "Hobbies",
   "fieldType": "multiselect",
   "required": true,
   "options": \[
      {
         "label": "Sport",
         "value": "sport"
      },
      {
         "label": "Music",
         "value": "music"
      }
   \]
}

Radio

{
  "field": "profileType",
  "title": "Profile Type",
  "fieldType": "radio",
  "required": true,
  "options": \[
      {
          "label": "Public",
          "value": "public"
      },
      {
          "label": "Private",
          "value": "private"
      }
  \]
}

Toggle

{
  "field": "dataShare",
  "title": "Allow my data to be stored",
  "fieldType": "toggle",
  "required": true
}

Checkbox

{
  "field": "terms",
  "title": "Terms & conditions",
  "fieldType": "checkbox",
  "required": true
}

### **Validation Rules**

![Validation Rules (image 14 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155046654729/original/-BqA09IMW6XXljUIMVpOefqpJJ_JkQ2TWg.png)

**Validation Rules (image 14 of 45)**

This screenshot appears in the "Validation Rules" section of "Marketplace Workflow Actions". The text alongside this image reads: { "data": { "name": "John Doe", "age": "29", "gender": "male", "hobbies": ["sports", "music"], "address": "My Address", "country": "US", "profileType": "public", "dataShare": true, "tems": true, }, "extras": { "locationId": "xyz", "contactId": "abc", "workflowId": "def" }, "meta": { "key"…. This part of the guide covers 3 fields, listed below. Immediately after, the guide continues: The Validation Rules feature helps app developers ensure data integrity by enforcing input checks on form fields. Developers can choose from three flexible validation methods.
- What to fill in: { "data": { "name": "John Doe", "age": "29", "gender": "male", "hobbies": ["sports", "music"], "address": "My Address", "country": "US", "profileType": "public", "dataShare": true, "tems": true, }, "extras": { "locationId": "xyz", "contactId": "abc", "workflowId": "def" }, "meta": { "key": "custom_action_key", "version": "1.0", } } Sample Response Structure: Sections are used to group the fields in UI { "inputs": [ { "section": "Personal Info", "fields": [ { "field": "name", "title": "Name", "fieldType": "string", "required": true }, { "field": "age", "title": "Age", "fieldType": "numerical", "required": true }, { "field": "gender", "title": "Gender", "fieldType": "select", "required": true, "options": [ { "label": "Male", "value": "male" }, { "label": "Female", "value": "female" } ] } ] }, { "section": "Location Info", "fields": [ { "field": "village", "title": "Village", "fieldType": "string", "required": true }, { "field": "city", "title": "City", "fieldType": "string", "required": true }, { "field": "fullAddress", "title": "Your Full Address", "fieldType": "textarea", "required": true } ] } ] } Sample structure for each Field Types String { "field": "name", "title": "Name", "fieldType": "string", "required": true } Numeric { "field": "name", "title": "Name", "fieldType": "numeric", "required": true } Textarea { "field": "description", "title": "Description", "fieldType": "textarea", "required": true } Select { "field": "gender", "title": "Gender", "fieldType": "select", "required": true, "options": [ { "label": "Male", "value": "male" }, { "label": "Female", "value": "female" } ] } Multiple Select { "field": "hobbies", "title": "Hobbies", "fieldType": "multiselect", "required": true, "options": [ { "label": "Sport", "value": "sport" }, { "label": "Music", "value": "music" } ] } Radio { "field": "profileType", "title": "Profile Type", "fieldType": "radio", "required": true, "options": [ { "label": "Public", "value": "public" }, { "label": "Private", "value": "private" } ] } Toggle { "field": "dataShare", "title": "Allow my data to be stored", "fieldType": "toggle", "required": true } Checkbox { "field": "terms", "title": "Terms & conditions", "fieldType": "checkbox", "required": true }
- Fields: Pre-defined Rules, Regex Support, Arrow Function
- Controls: Pre-defined Rules, Regex Support, Arrow Function, custom error message
- Next: The Validation Rules feature helps app developers ensure data integrity by enforcing input checks on form fields. Developers can choose from three flexible validation methods:

Full procedure:

1. Pre-defined Rules
2. Regex Support
3. Arrow Function

The Validation Rules feature helps app developers ensure data integrity by enforcing input checks on form fields. Developers can choose from three flexible validation methods:

1.  **Pre-defined Rules**
    -   Easily apply common validations such as email, phone number, URL, numerical values, and handlebar syntax checks.
    -   
![Validation Rules (image 15 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155046654763/original/XDtbol7Qdfx4-ahKv5gkVKT415lhZivHPw.png)

**Validation Rules (image 15 of 45)**

This screenshot accompanies step 2 of 2 in the "Validation Rules" section of "Marketplace Workflow Actions". For context, this section explains: The Validation Rules feature helps app developers ensure data integrity by enforcing input checks on form fields. Developers can choose from three flexible validation methods. This part of the guide covers 3 fields, listed below.
- Fields: Pre-defined Rules, Regex Support, Arrow Function
- Controls: Pre-defined Rules, Regex Support, Arrow Function, custom error message

        
2.  **Regex Support**
    -   Use custom regular expressions to validate inputs against specific patterns.
    -   
![Validation Rules (image 16 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155046654765/original/mLG5Rv1JMo5y6MlQZVQfNmcY0Wucw3jr5w.png)

**Validation Rules (image 16 of 45)**

This screenshot accompanies step 2 of 2 in the "Validation Rules" section of "Marketplace Workflow Actions". For context, this section explains: The Validation Rules feature helps app developers ensure data integrity by enforcing input checks on form fields. Developers can choose from three flexible validation methods. This part of the guide covers 3 fields, listed below.
- Fields: Pre-defined Rules, Regex Support, Arrow Function
- Controls: Pre-defined Rules, Regex Support, Arrow Function, custom error message

        
3.  **Arrow Function**
    -   Write custom arrow functions that receive the input value and return true or false based on whether the validation passes or fails.
    -   
![Validation Rules (image 17 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155046654766/original/wEHzLmsCVVTfrMXMrTKEHB9Wii3yvBXn_Q.png)

**Validation Rules (image 17 of 45)**

This screenshot accompanies step 2 of 2 in the "Validation Rules" section of "Marketplace Workflow Actions". For context, this section explains: The Validation Rules feature helps app developers ensure data integrity by enforcing input checks on form fields. Developers can choose from three flexible validation methods. This part of the guide covers 3 fields, listed below.
- Fields: Pre-defined Rules, Regex Support, Arrow Function
- Controls: Pre-defined Rules, Regex Support, Arrow Function, custom error message

        

For every validation rule, a **custom error message** must be provided to display meaningful feedback when validation fails.

# Multi-branch  

The Multi-Branch Feature enables the creation of branches that can dynamically adjust based on various predefined conditions. By allowing multiple branches within a workflow each contact can directed down the appropriate path based on their interactions or status.

![Multi-branch (image 18 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155033332890/original/Z0b9pEdrE-DG_za1m0tD-ZmEWFfJnSY3sg.png)

**Multi-branch (image 18 of 45)**

This screenshot appears in the "Multi-branch" section of "Marketplace Workflow Actions". The text alongside this image reads: The Multi-Branch Feature enables the creation of branches that can dynamically adjust based on various predefined conditions. By allowing multiple branches within a workflow each contact can directed down the appropriate path based on their interactions or status. Immediately after, the guide continues: Branch Section: Defines the name or identifier for the specific branch section. Branch Section Description: Provides a brief description or details about the branch section. Branch Name Label: Specifies the label that will be displayed….
- What this covers: The Multi-Branch Feature enables the creation of branches that can dynamically adjust based on various predefined conditions. By allowing multiple branches within a workflow each contact can directed down the appropriate path based on their interactions or status.
- Controls: Is Predefined Branches Editable, Disabled Allow new branch, Pre-defined branch is editable, Hide branch, Sample payload for branches
- Next: Branch Section: Defines the name or identifier for the specific branch section. Branch Section Description: Provides a brief description or details about the branch section. Branch Name Label: Specifies the label that will be displayed for the branch name. Branch Name Helptext: Offers additional information related to the branch name. Delete Branch Title: Sets the title or label used when deleting a branch. Delete Branch Description: Describes when a branch is deleted.

Full procedure:

1. Branch Section: Defines the name or identifier for the specific branch section.
2. Branch Section Description: Provides a brief description or details about the branch section.
3. Branch Name Label: Specifies the label that will be displayed for the branch name.
4. Branch Name Helptext: Offers additional information related to the branch name.
5. Delete Branch Title: Sets the title or label used when deleting a branch.
6. Delete Branch Description: Describes when a branch is deleted.

![Multi-branch (image 19 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155033332901/original/t75w0vc7umALitmmtlZaay_6fJTRh8DIwA.png)

**Multi-branch (image 19 of 45)**

This screenshot appears in the "Multi-branch" section of "Marketplace Workflow Actions". The text alongside this image reads: The Multi-Branch Feature enables the creation of branches that can dynamically adjust based on various predefined conditions. By allowing multiple branches within a workflow each contact can directed down the appropriate path based on their interactions or status. Immediately after, the guide continues: Branch Section: Defines the name or identifier for the specific branch section. Branch Section Description: Provides a brief description or details about the branch section. Branch Name Label: Specifies the label that will be displayed….
- What this covers: The Multi-Branch Feature enables the creation of branches that can dynamically adjust based on various predefined conditions. By allowing multiple branches within a workflow each contact can directed down the appropriate path based on their interactions or status.
- Controls: Is Predefined Branches Editable, Disabled Allow new branch, Pre-defined branch is editable, Hide branch, Sample payload for branches
- Next: Branch Section: Defines the name or identifier for the specific branch section. Branch Section Description: Provides a brief description or details about the branch section. Branch Name Label: Specifies the label that will be displayed for the branch name. Branch Name Helptext: Offers additional information related to the branch name. Delete Branch Title: Sets the title or label used when deleting a branch. Delete Branch Description: Describes when a branch is deleted.

Full procedure:

1. Branch Section: Defines the name or identifier for the specific branch section.
2. Branch Section Description: Provides a brief description or details about the branch section.
3. Branch Name Label: Specifies the label that will be displayed for the branch name.
4. Branch Name Helptext: Offers additional information related to the branch name.
5. Delete Branch Title: Sets the title or label used when deleting a branch.
6. Delete Branch Description: Describes when a branch is deleted.

![Multi-branch (image 20 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155033332913/original/tBcj_nSW1LIskT9KT_TedDHBqPl92qgMTA.png)

**Multi-branch (image 20 of 45)**

This screenshot appears in the "Multi-branch" section of "Marketplace Workflow Actions". The text alongside this image reads: The Multi-Branch Feature enables the creation of branches that can dynamically adjust based on various predefined conditions. By allowing multiple branches within a workflow each contact can directed down the appropriate path based on their interactions or status. Immediately after, the guide continues: Branch Section: Defines the name or identifier for the specific branch section. Branch Section Description: Provides a brief description or details about the branch section. Branch Name Label: Specifies the label that will be displayed….
- What this covers: The Multi-Branch Feature enables the creation of branches that can dynamically adjust based on various predefined conditions. By allowing multiple branches within a workflow each contact can directed down the appropriate path based on their interactions or status.
- Controls: Is Predefined Branches Editable, Disabled Allow new branch, Pre-defined branch is editable, Hide branch, Sample payload for branches
- Next: Branch Section: Defines the name or identifier for the specific branch section. Branch Section Description: Provides a brief description or details about the branch section. Branch Name Label: Specifies the label that will be displayed for the branch name. Branch Name Helptext: Offers additional information related to the branch name. Delete Branch Title: Sets the title or label used when deleting a branch. Delete Branch Description: Describes when a branch is deleted.

Full procedure:

1. Branch Section: Defines the name or identifier for the specific branch section.
2. Branch Section Description: Provides a brief description or details about the branch section.
3. Branch Name Label: Specifies the label that will be displayed for the branch name.
4. Branch Name Helptext: Offers additional information related to the branch name.
5. Delete Branch Title: Sets the title or label used when deleting a branch.
6. Delete Branch Description: Describes when a branch is deleted.

-   **Branch Section:** Defines the name or identifier for the specific branch section.
-   **Branch Section Description:** Provides a brief description or details about the branch section.
-   **Branch Name Label:** Specifies the label that will be displayed for the branch name.
-   **Branch Name Helptext:** Offers additional information related to the branch name.
-   **Delete Branch Title:** Sets the title or label used when deleting a branch.
-   **Delete Branch Description:** Describes when a branch is deleted.

![Multi-branch (image 21 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155032480643/original/rq82aq6pm8EaxX8Na_ebjGAmRp129bzkWw.png)

**Multi-branch (image 21 of 45)**

This screenshot appears in the "Multi-branch" section of "Marketplace Workflow Actions". The text alongside this image reads: Branch Section: Defines the name or identifier for the specific branch section. Branch Section Description: Provides a brief description or details about the branch section. Branch Name Label: Specifies the label that will be displayed for the branch name. Branch Name Helptext: Offers additional…. Immediately after, the guide continues: Allow New Branches: Enables users to add new branches within the action. Is Predefined Branches Editable: Allows users to edit predefined branches within the action.
- What this covers: Branch Section: Defines the name or identifier for the specific branch section. Branch Section Description: Provides a brief description or details about the branch section. Branch Name Label: Specifies the label that will be displayed for the branch name. Branch Name Helptext: Offers additional information related to the branch name. Delete Branch Title: Sets the title or label used when deleting a branch. Delete Branch Description: Describes when a branch is deleted.
- Controls: Is Predefined Branches Editable, Disabled Allow new branch, Pre-defined branch is editable, Hide branch, Sample payload for branches
- Next: Allow New Branches: Enables users to add new branches within the action. Is Predefined Branches Editable: Allows users to edit predefined branches within the action.

Full procedure:

1. Branch Section: Defines the name or identifier for the specific branch section.
2. Branch Section Description: Provides a brief description or details about the branch section.
3. Branch Name Label: Specifies the label that will be displayed for the branch name.
4. Branch Name Helptext: Offers additional information related to the branch name.
5. Delete Branch Title: Sets the title or label used when deleting a branch.
6. Delete Branch Description: Describes when a branch is deleted.

-   **Allow New Branches:** Enables users to add new branches within the action.
    
-   **Is Predefined Branches Editable**: Allows users to edit predefined branches within the action.
    

-   **Show Branches Section:** Displays the branch section details to the user.

**Disabled Allow new branch  
**

![Multi-branch (image 22 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155033332933/original/J0rhJoECnALYR39Y3b0WSBxRUOIKFbbc8A.png)

**Multi-branch (image 22 of 45)**

This screenshot appears in the "Multi-branch" section of "Marketplace Workflow Actions". The text alongside this image reads: Show Branches Section: Displays the branch section details to the user.
- What this covers: Show Branches Section: Displays the branch section details to the user.
- Controls: Is Predefined Branches Editable, Disabled Allow new branch, Pre-defined branch is editable, Hide branch, Sample payload for branches

Full procedure:

1. Branch Section: Defines the name or identifier for the specific branch section.
2. Branch Section Description: Provides a brief description or details about the branch section.
3. Branch Name Label: Specifies the label that will be displayed for the branch name.
4. Branch Name Helptext: Offers additional information related to the branch name.
5. Delete Branch Title: Sets the title or label used when deleting a branch.
6. Delete Branch Description: Describes when a branch is deleted.

![Multi-branch (image 23 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155033332974/original/ZLeZZHyChomMGQNgfpqiAz8J3G4UEZqOGg.png)

**Multi-branch (image 23 of 45)**

This screenshot appears in the "Multi-branch" section of "Marketplace Workflow Actions". The text alongside this image reads: Show Branches Section: Displays the branch section details to the user. Immediately after, the guide continues: { "data": { "name": "John Doe", "age": "29", "gender": "male", "hobbies": [ "sports", "music" ], "address": "My Address", "country": "US", "profileType": "public", "dataShare": true, "tems": true, "branches": [ { "id"….
- What this covers: Show Branches Section: Displays the branch section details to the user.
- Controls: Is Predefined Branches Editable, Disabled Allow new branch, Pre-defined branch is editable, Hide branch, Sample payload for branches
- Next: { "data": { "name": "John Doe", "age": "29", "gender": "male", "hobbies": [ "sports", "music" ], "address": "My Address", "country": "US", "profileType": "public", "dataShare": true, "tems": true, "branches": [ { "id": "a8d14b13-d7cc-4241-bd2c-53180f0ec278", "name": "Branch name", "fields": { "branchFieldKey": "branchFieldValue" } } ] }, "extras": { "locationId": "xyz", "contactId": "abc", "workflowId": "def" }, "meta": { "key": "custom_action_key", "version": "1.0" } }

Full procedure:

1. Branch Section: Defines the name or identifier for the specific branch section.
2. Branch Section Description: Provides a brief description or details about the branch section.
3. Branch Name Label: Specifies the label that will be displayed for the branch name.
4. Branch Name Helptext: Offers additional information related to the branch name.
5. Delete Branch Title: Sets the title or label used when deleting a branch.
6. Delete Branch Description: Describes when a branch is deleted.

**Pre-defined branch is editable**

![Multi-branch (image 24 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155033333000/original/YoCdmA4wy15bf8TiPG_wyPMIhLblouPGKQ.png)

**Multi-branch (image 24 of 45)**

This screenshot appears in the "Multi-branch" section of "Marketplace Workflow Actions". The text alongside this image reads: Show Branches Section: Displays the branch section details to the user. Immediately after, the guide continues: { "data": { "name": "John Doe", "age": "29", "gender": "male", "hobbies": [ "sports", "music" ], "address": "My Address", "country": "US", "profileType": "public", "dataShare": true, "tems": true, "branches": [ { "id"….
- What this covers: Show Branches Section: Displays the branch section details to the user.
- Controls: Is Predefined Branches Editable, Disabled Allow new branch, Pre-defined branch is editable, Hide branch, Sample payload for branches
- Next: { "data": { "name": "John Doe", "age": "29", "gender": "male", "hobbies": [ "sports", "music" ], "address": "My Address", "country": "US", "profileType": "public", "dataShare": true, "tems": true, "branches": [ { "id": "a8d14b13-d7cc-4241-bd2c-53180f0ec278", "name": "Branch name", "fields": { "branchFieldKey": "branchFieldValue" } } ] }, "extras": { "locationId": "xyz", "contactId": "abc", "workflowId": "def" }, "meta": { "key": "custom_action_key", "version": "1.0" } }

Full procedure:

1. Branch Section: Defines the name or identifier for the specific branch section.
2. Branch Section Description: Provides a brief description or details about the branch section.
3. Branch Name Label: Specifies the label that will be displayed for the branch name.
4. Branch Name Helptext: Offers additional information related to the branch name.
5. Delete Branch Title: Sets the title or label used when deleting a branch.
6. Delete Branch Description: Describes when a branch is deleted.

![Multi-branch (image 25 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155033333041/original/RNSq7KP-b7whUKZx_weaXqk29UkYY91mDw.png)

**Multi-branch (image 25 of 45)**

This screenshot appears in the "Multi-branch" section of "Marketplace Workflow Actions". The text alongside this image reads: Show Branches Section: Displays the branch section details to the user. Immediately after, the guide continues: { "data": { "name": "John Doe", "age": "29", "gender": "male", "hobbies": [ "sports", "music" ], "address": "My Address", "country": "US", "profileType": "public", "dataShare": true, "tems": true, "branches": [ { "id"….
- What this covers: Show Branches Section: Displays the branch section details to the user.
- Controls: Is Predefined Branches Editable, Disabled Allow new branch, Pre-defined branch is editable, Hide branch, Sample payload for branches
- Next: { "data": { "name": "John Doe", "age": "29", "gender": "male", "hobbies": [ "sports", "music" ], "address": "My Address", "country": "US", "profileType": "public", "dataShare": true, "tems": true, "branches": [ { "id": "a8d14b13-d7cc-4241-bd2c-53180f0ec278", "name": "Branch name", "fields": { "branchFieldKey": "branchFieldValue" } } ] }, "extras": { "locationId": "xyz", "contactId": "abc", "workflowId": "def" }, "meta": { "key": "custom_action_key", "version": "1.0" } }

Full procedure:

1. Branch Section: Defines the name or identifier for the specific branch section.
2. Branch Section Description: Provides a brief description or details about the branch section.
3. Branch Name Label: Specifies the label that will be displayed for the branch name.
4. Branch Name Helptext: Offers additional information related to the branch name.
5. Delete Branch Title: Sets the title or label used when deleting a branch.
6. Delete Branch Description: Describes when a branch is deleted.

**Hide branch**

![Multi-branch (image 26 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155033333116/original/ReCSVS39jy8eUqGbi14v7qicF0nKdyEO6Q.png)

**Multi-branch (image 26 of 45)**

This screenshot appears in the "Multi-branch" section of "Marketplace Workflow Actions". The text alongside this image reads: Show Branches Section: Displays the branch section details to the user. Immediately after, the guide continues: { "data": { "name": "John Doe", "age": "29", "gender": "male", "hobbies": [ "sports", "music" ], "address": "My Address", "country": "US", "profileType": "public", "dataShare": true, "tems": true, "branches": [ { "id"….
- What this covers: Show Branches Section: Displays the branch section details to the user.
- Controls: Is Predefined Branches Editable, Disabled Allow new branch, Pre-defined branch is editable, Hide branch, Sample payload for branches
- Next: { "data": { "name": "John Doe", "age": "29", "gender": "male", "hobbies": [ "sports", "music" ], "address": "My Address", "country": "US", "profileType": "public", "dataShare": true, "tems": true, "branches": [ { "id": "a8d14b13-d7cc-4241-bd2c-53180f0ec278", "name": "Branch name", "fields": { "branchFieldKey": "branchFieldValue" } } ] }, "extras": { "locationId": "xyz", "contactId": "abc", "workflowId": "def" }, "meta": { "key": "custom_action_key", "version": "1.0" } }

Full procedure:

1. Branch Section: Defines the name or identifier for the specific branch section.
2. Branch Section Description: Provides a brief description or details about the branch section.
3. Branch Name Label: Specifies the label that will be displayed for the branch name.
4. Branch Name Helptext: Offers additional information related to the branch name.
5. Delete Branch Title: Sets the title or label used when deleting a branch.
6. Delete Branch Description: Describes when a branch is deleted.

![Multi-branch (image 27 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155033333104/original/SEal4s-9lkEbiyUrkv4PuHAHfYaaBjb2zw.png)

**Multi-branch (image 27 of 45)**

This screenshot appears in the "Multi-branch" section of "Marketplace Workflow Actions". For context, this section explains: The Multi-Branch Feature enables the creation of branches that can dynamically adjust based on various predefined conditions. By allowing multiple branches within a workflow each contact can directed down the appropriate path based on their interactions or status. Immediately after, the guide continues: { "data": { "name": "John Doe", "age": "29", "gender": "male", "hobbies": [ "sports", "music" ], "address": "My Address", "country": "US", "profileType": "public", "dataShare": true, "tems": true, "branches": [ { "id"….
- Controls: Is Predefined Branches Editable, Disabled Allow new branch, Pre-defined branch is editable, Hide branch, Sample payload for branches
- Next: { "data": { "name": "John Doe", "age": "29", "gender": "male", "hobbies": [ "sports", "music" ], "address": "My Address", "country": "US", "profileType": "public", "dataShare": true, "tems": true, "branches": [ { "id": "a8d14b13-d7cc-4241-bd2c-53180f0ec278", "name": "Branch name", "fields": { "branchFieldKey": "branchFieldValue" } } ] }, "extras": { "locationId": "xyz", "contactId": "abc", "workflowId": "def" }, "meta": { "key": "custom_action_key", "version": "1.0" } }

Full procedure:

1. Branch Section: Defines the name or identifier for the specific branch section.
2. Branch Section Description: Provides a brief description or details about the branch section.
3. Branch Name Label: Specifies the label that will be displayed for the branch name.
4. Branch Name Helptext: Offers additional information related to the branch name.
5. Delete Branch Title: Sets the title or label used when deleting a branch.
6. Delete Branch Description: Describes when a branch is deleted.

**Sample payload for branches**

{
  "data": {
    "name": "John Doe",
    "age": "29",
    "gender": "male",
    "hobbies": \[
      "sports",
      "music"
    \],
    "address": "My Address",
    "country": "US",
    "profileType": "public",
    "dataShare": true,
    "tems": true,
    "branches": \[
      {
        "id": "a8d14b13-d7cc-4241-bd2c-53180f0ec278",
        "name": "Branch name",
        "fields": {
          "branchFieldKey": "branchFieldValue"
        }
      }
    \]
  },
  "extras": {
    "locationId": "xyz",
    "contactId": "abc",
    "workflowId": "def"
  },
  "meta": {
    "key": "custom\_action\_key",
    "version": "1.0"
  }
}

## **Action Execution**

Allows you to choose between an API or a custom code.

### API

![API (image 28 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155032480310/original/vH_JLcjEpQJuLJ6A3uQ0b3FUZ-AfgZHipg.png)

**API (image 28 of 45)**

This screenshot appears in the "API" section of "Marketplace Workflow Actions". The text alongside this image reads: Allows you to choose between an API or a custom code. Immediately after, the guide continues: Enter your API endpoint URL. When this action is executed data is sent to this API endpoint via POST method in the below mentioned payload format.
- What to choose: Allows you to choose between an API or a custom code.
- Controls: URL (POST), Headers, Custom code, Code Editor, Test and format your Code, n case of Sync Execution, In case of Async Execution
- Next: Enter your API endpoint URL. When this action is executed data is sent to this API endpoint via POST method in the below mentioned payload format.

Full procedure:

1. Testing the code is a mandatory step, if the test is not done then user will not be able to use the output of the code in the subsequent steps.
2. To test the code click on the "Test Code" button.
3. Post clicking on Run test button, if there are no errors in the code them it will show "Test Result Success" and if there is an error in code then the result will be "Test Result Failed" and you would have to recheck the code to remove the error.
4. You can also format the code using "Format code" button.

**URL (POST)  
**

Enter your API endpoint URL. When this action is executed data is sent to this API endpoint via POST method in the below mentioned payload format.

**Headers**

Add required header data that has to be included while sending data to the API endpoint

**Sample Payload:**The form data is sent as payload to the Send Data URL

{
   "data": {
        "name": "John Doe",
        "age": "29",
        "gender": "male",
        "hobbies": \["sports", "music"\],
        "address": "My Address",
        "country": "US",
        "profileType": "public",
        "dataShare": true,
        "tems": true,
   },
   "extras": {
        "locationId": "xyz",
        "contactId": "abc",
        "workflowId": "def"
   },
   "meta": {
        "key": "custom\_action\_key",
        "version": "1.0",
   }
}

### **Custom code** 

Custom Code allows users to create custom logic they want to achieve. This provides flexibility and control beyond the pre-built APIs, enabling users to automate complex tasks and integrate with various services not supported by API.

![Custom code (image 29 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155033359936/original/wB9t6ma8X3QDc3MPVASJwbbwjpbazkMzHw.png)

**Custom code (image 29 of 45)**

This screenshot appears in the "Custom code" section of "Marketplace Workflow Actions". The text alongside this image reads: Sample Payload: The form data is sent as payload to the Send Data URL. Immediately after, the guide continues: Add sample response data to configure custom variables.
- What this covers: Sample Payload: The form data is sent as payload to the Send Data URL
- Controls: URL (POST), Headers, Custom code, Code Editor, Test and format your Code, n case of Sync Execution, In case of Async Execution
- Next: Add sample response data to configure custom variables.

Full procedure:

1. Testing the code is a mandatory step, if the test is not done then user will not be able to use the output of the code in the subsequent steps.
2. To test the code click on the "Test Code" button.
3. Post clicking on Run test button, if there are no errors in the code them it will show "Test Result Success" and if there is an error in code then the result will be "Test Result Failed" and you would have to recheck the code to remove the error.
4. You can also format the code using "Format code" button.

**Code Editor**

You can write the code in the Code Editor

You can input HTTP requests like Get, Put, Post, Delete etc via the button.

You can also use cutom values using the picker.

Output should be a JavaScript Object or Array of Objects.

## **Test and format your Code**

-   Testing the code is a mandatory step, if the test is not done then user will not be able to use the output of the code in the subsequent steps.
-   To test the code click on the "Test Code" button.
-   Post clicking on Run test button, if there are no errors in the code them it will show "Test Result Success" and if there is an error in code then the result will be "Test Result Failed" and you would have to recheck the code to remove the error.
-   You can also format the code using "Format code" button.

## Pause Execution

-   This toggle is used the contact will be held at this action unless resume webhook is requested.
-   If this toggle is true then provided extras object needs to be pass as body payload for resume workflow endpoint.
-   Show API details button shows a sample response to be passed onto to the webhook for Success Execution and Failed Execution.

![Pause Execution (image 30 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155032481365/original/S2CljnH1PD8X0I5hAnHPIb_xpHXMMLNWPg.png)

**Pause Execution (image 30 of 45)**

This screenshot appears in the "Pause Execution" section of "Marketplace Workflow Actions". The text alongside this image reads: Sample Payload: The form data is sent as payload to the Send Data URL. Immediately after, the guide continues: Add sample response data to configure custom variables.
- What this covers: Sample Payload: The form data is sent as payload to the Send Data URL
- Controls: URL (POST), Headers, Custom code, Code Editor, Test and format your Code, n case of Sync Execution, In case of Async Execution
- Next: Add sample response data to configure custom variables.

Full procedure:

1. Testing the code is a mandatory step, if the test is not done then user will not be able to use the output of the code in the subsequent steps.
2. To test the code click on the "Test Code" button.
3. Post clicking on Run test button, if there are no errors in the code them it will show "Test Result Success" and if there is an error in code then the result will be "Test Result Failed" and you would have to recheck the code to remove the error.
4. You can also format the code using "Format code" button.

![Pause Execution (image 31 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155032481330/original/LYFLB1fldHF3ZL6miWM-dM82K7O_7fLCrA.png)

**Pause Execution (image 31 of 45)**

This screenshot appears in the "Pause Execution" section of "Marketplace Workflow Actions". The text alongside this image reads: Sample Payload: The form data is sent as payload to the Send Data URL. Immediately after, the guide continues: Add sample response data to configure custom variables.
- What this covers: Sample Payload: The form data is sent as payload to the Send Data URL
- Controls: URL (POST), Headers, Custom code, Code Editor, Test and format your Code, n case of Sync Execution, In case of Async Execution
- Next: Add sample response data to configure custom variables.

Full procedure:

1. Testing the code is a mandatory step, if the test is not done then user will not be able to use the output of the code in the subsequent steps.
2. To test the code click on the "Test Code" button.
3. Post clicking on Run test button, if there are no errors in the code them it will show "Test Result Success" and if there is an error in code then the result will be "Test Result Failed" and you would have to recheck the code to remove the error.
4. You can also format the code using "Format code" button.

I**n case of Sync Execution**

When the pause execution is turned off along with branching support, the contact will be moved to provided branch using \`branchId\` property from API response or from Custom Code using return statement. The branchId here will be the branch through with the contact will move forward.

![Pause Execution (image 32 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155032512093/original/HJeogTLz5tgbQvMiQXG4d87nJw1vzH2bAA.png)

**Pause Execution (image 32 of 45)**

This screenshot appears in the "Pause Execution" section of "Marketplace Workflow Actions". The text alongside this image reads: Sample Payload: The form data is sent as payload to the Send Data URL. Immediately after, the guide continues: Add sample response data to configure custom variables.
- What this covers: Sample Payload: The form data is sent as payload to the Send Data URL
- Controls: URL (POST), Headers, Custom code, Code Editor, Test and format your Code, n case of Sync Execution, In case of Async Execution
- Next: Add sample response data to configure custom variables.

Full procedure:

1. Testing the code is a mandatory step, if the test is not done then user will not be able to use the output of the code in the subsequent steps.
2. To test the code click on the "Test Code" button.
3. Post clicking on Run test button, if there are no errors in the code them it will show "Test Result Success" and if there is an error in code then the result will be "Test Result Failed" and you would have to recheck the code to remove the error.
4. You can also format the code using "Format code" button.

**In case of Async Execution**

When the pause execution is turned off, the branch ID needs to be sent to the webhook for resuming which is present in "show API details" button. More info present in [Pause functionality.](#pause-execution)

## **Response Data**

Add sample response data to configure custom variables.

**Add sample response**

Enter a valid sample response JSON structure that will be sent as a response to the Send Data API endpoint.

![Response Data (image 33 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155005620618/original/v5u2ptIftb-EkjoHz08EEx6aEKrwGKOJQA.png)

**Response Data (image 33 of 45)**

This screenshot appears in the "Response Data" section of "Marketplace Workflow Actions". The text alongside this image reads: Enter a valid sample response JSON structure that will be sent as a response to the Send Data API endpoint. Immediately after, the guide continues: Arrays are supported in response data. This data can be utilized in custom variables based on references and is available for use in Array Functions, Custom Code, and Custom Webhooks.
- What to fill in: Enter a valid sample response JSON structure that will be sent as a response to the Send Data API endpoint.
- Controls: Add sample response
- Next: Arrays are supported in response data. This data can be utilized in custom variables based on references and is available for use in Array Functions, Custom Code, and Custom Webhooks.

Arrays are supported in response data. This data can be utilized in custom variables based on references and is available for use in Array Functions, Custom Code, and Custom Webhooks.

## 

![Response Data (image 34 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155032655648/original/Pc1x8-hDu4dy5yCpl1qTJSmVbcz-4zc4GA.png)

**Response Data (image 34 of 45)**

This screenshot appears in the "Response Data" section of "Marketplace Workflow Actions". The text alongside this image reads: Arrays are supported in response data. This data can be utilized in custom variables based on references and is available for use in Array Functions, Custom Code, and Custom Webhooks. Immediately after, the guide continues: A new dropdown option allows users to select between a standard value or a custom value picker.
- What this covers: Arrays are supported in response data. This data can be utilized in custom variables based on references and is available for use in Array Functions, Custom Code, and Custom Webhooks.
- Next: A new dropdown option allows users to select between a standard value or a custom value picker.

## 

![Response Data (image 35 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155032655669/original/5VumbMNRtvIV_UOJ4IpzyyzW3GLher5F4A.png)

**Response Data (image 35 of 45)**

This screenshot appears in the "Response Data" section of "Marketplace Workflow Actions". The text alongside this image reads: Arrays are supported in response data. This data can be utilized in custom variables based on references and is available for use in Array Functions, Custom Code, and Custom Webhooks. Immediately after, the guide continues: A new dropdown option allows users to select between a standard value or a custom value picker.
- What this covers: Arrays are supported in response data. This data can be utilized in custom variables based on references and is available for use in Array Functions, Custom Code, and Custom Webhooks.
- Next: A new dropdown option allows users to select between a standard value or a custom value picker.

Full procedure:

1. Standard Values: Users can input data based on the field type (e.g., date, dropdown, tag).
2. Custom Value Picker: Users can input data from custom fields, such as values from an inbound webhook trigger or other custom fields.

A new dropdown option allows users to select between a standard value or a custom value picker.

-   Standard Values: Users can input data based on the field type (e.g., date, dropdown, tag).
-   Custom Value Picker: Users can input data from custom fields, such as values from an inbound webhook trigger or other custom fields.

![Response Data (image 36 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155033144422/original/hiDL0BOJXspAcojkoZKz9dTngO6FL0lARw.png)

**Response Data (image 36 of 45)**

This screenshot appears in the "Response Data" section of "Marketplace Workflow Actions". The text alongside this image reads: Standard Values: Users can input data based on the field type (e.g., date, dropdown, tag). Custom Value Picker: Users can input data from custom fields, such as values from an inbound webhook trigger or other custom fields. Immediately after, the guide continues: Add Custom variables using sample response data, for users to use in workflows.
- What to fill in: Standard Values: Users can input data based on the field type (e.g., date, dropdown, tag). Custom Value Picker: Users can input data from custom fields, such as values from an inbound webhook trigger or other custom fields.
- Next: Add Custom variables using sample response data, for users to use in workflows

Full procedure:

1. Standard Values: Users can input data based on the field type (e.g., date, dropdown, tag).
2. Custom Value Picker: Users can input data from custom fields, such as values from an inbound webhook trigger or other custom fields.

## **Manage Custom Variables**

Add Custom variables using sample response data, for users to use in workflows

## 

![Manage Custom Variables (image 37 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155005620750/original/Q49PfGpsX05fiHc_6o29AMbOe8rtSuA4Sw.png)

**Manage Custom Variables (image 37 of 45)**

This screenshot appears in the "Manage Custom Variables" section of "Marketplace Workflow Actions". The text alongside this image reads: Add Custom variables using sample response data, for users to use in workflows. Immediately after, the guide continues: Select a reference key from the sample response saved to Response Data.
- What this covers: Add Custom variables using sample response data, for users to use in workflows
- Next: Select a reference key from the sample response saved to Response Data.

## **Add Custom Variable**

![Add Custom Variable (image 38 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155005620775/original/l4xln2C5D1jyZxTEv-jahSqBadZkpCvuzA.png)

**Add Custom Variable (image 38 of 45)**

This screenshot appears in the "Add Custom Variable" section of "Marketplace Workflow Actions". The text alongside this image reads: Add Custom variables using sample response data, for users to use in workflows. Immediately after, the guide continues: Select a reference key from the sample response saved to Response Data.
- What this covers: Add Custom variables using sample response data, for users to use in workflows
- Controls: Name, Reference
- Next: Select a reference key from the sample response saved to Response Data.

**Name**

Enter label name

**Reference**

Select a reference key from the sample response saved to Response Data.

## **Submit for Review**

The action version will be in draft state by default. After updating the action information and configuration the action version should be submitted for review.

![Submit for Review (image 39 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155005621439/original/5UVWUz25eAcVTFtVlVtxEh3Fkg15t4zXDg.png)

**Submit for Review (image 39 of 45)**

This screenshot appears in the "Submit for Review" section of "Marketplace Workflow Actions". The text alongside this image reads: The action version will be in draft state by default. After updating the action information and configuration the action version should be submitted for review. Immediately after, the guide continues: Click on Submit for review and add required changelog information for the submitted version.
- What this covers: The action version will be in draft state by default. After updating the action information and configuration the action version should be submitted for review.
- Controls: Submit for review, changelog
- Next: Click on Submit for review and add required changelog information for the submitted version.

Click on **Submit for review** and add required **changelog** information for the submitted version.

![Submit for Review (image 40 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155005622232/original/Xrf9qOywJo8Vovd-7Cjgm5mtglHrtYUP_Q.png)

**Submit for Review (image 40 of 45)**

This screenshot appears in the "Submit for Review" section of "Marketplace Workflow Actions". The text alongside this image reads: Click on Submit for review and add required changelog information for the submitted version. Immediately after, the guide continues: Once approved the version submitted for review will be published live to all Sub-accounts.
- How to confirm: Click on Submit for review and add required changelog information for the submitted version.
- Controls: Submit for review, changelog
- Next: Once approved the version submitted for review will be published live to all Sub-accounts.

Once approved the version submitted for review will be published live to all Sub-accounts.

![Submit for Review (image 41 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155005621452/original/YeMGRy21eS8S8bI8rexthcKA8R4INYc2zw.png)

**Submit for Review (image 41 of 45)**

This screenshot appears in the "Submit for Review" section of "Marketplace Workflow Actions". The text alongside this image reads: Once approved the version submitted for review will be published live to all Sub-accounts. Immediately after, the guide continues: Click on + New Version to create a new version for the action.
- What this covers: Once approved the version submitted for review will be published live to all Sub-accounts.
- Controls: Submit for review, changelog
- Next: Click on + New Version to create a new version for the action

## **Create New Version**

Click on  **\+ New Version** to create a new version for the action

![Create New Version (image 42 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155005621457/original/bHLDsksmL1K7qgmv7KoFYS6af3iMg8f0vQ.png)

**Create New Version (image 42 of 45)**

This screenshot appears in the "Create New Version" section of "Marketplace Workflow Actions". The text alongside this image reads: Click on + New Version to create a new version for the action. Immediately after, the guide continues: On clicking + New Version It will create a new draft version with all the previously published data prefilled.
- What to click: Click on + New Version to create a new version for the action
- Controls: + New Version
- Next: On clicking + New Version It will create a new draft version with all the previously published data prefilled.

On clicking **\+ New Version** It will create a new draft version with all the previously published data prefilled.

![Create New Version (image 43 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155005622063/original/yLpMG6PiUYcVdUTi1zkBE6udOqOscWghbA.png)

**Create New Version (image 43 of 45)**

This screenshot appears in the "Create New Version" section of "Marketplace Workflow Actions". The text alongside this image reads: On clicking + New Version It will create a new draft version with all the previously published data prefilled. Immediately after, the guide continues: Once an Action is deleted, it will be deleted permanently and cannot be restored. The deleted action will be removed from Marketplace App and Workflow Action list. If a deleted action is part of any workflow the action execution will be….
- What this covers: On clicking + New Version It will create a new draft version with all the previously published data prefilled.
- Controls: + New Version
- Next: Once an Action is deleted, it will be deleted permanently and cannot be restored. The deleted action will be removed from Marketplace App and Workflow Action list. If a deleted action is part of any workflow the action execution will be skipped.

## **Delete Action**

Once an Action is deleted, it will be deleted permanently and cannot be restored. The deleted action will be removed from Marketplace App and Workflow Action list. If a deleted action is part of any workflow the action execution will be skipped.

![Delete Action (image 44 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155014097127/original/mHtzZ8zfmpagivsX-3J84PV73HpFmvvnpw.png)

**Delete Action (image 44 of 45)**

This screenshot appears in the "Delete Action" section of "Marketplace Workflow Actions". The text alongside this image reads: Once an Action is deleted, it will be deleted permanently and cannot be restored. The deleted action will be removed from Marketplace App and Workflow Action list. If a deleted action is part of any workflow the action execution will be skipped. Immediately after, the guide continues: Enter action name to confirm delete.
- What this covers: Once an Action is deleted, it will be deleted permanently and cannot be restored. The deleted action will be removed from Marketplace App and Workflow Action list. If a deleted action is part of any workflow the action execution will be skipped.
- Controls: Enter action name to confirm delete
- Next: Enter action name to confirm delete

**Enter action name to confirm delete**

![Delete Action (image 45 of 45)](https://s3.amazonaws.com/cdn.freshdesk.com/data/helpdesk/attachments/production/155014097165/original/niXVvIBTbQIo0_tYJGqglh99njIMQUOGog.png)

**Delete Action (image 45 of 45)**

This screenshot appears in the "Delete Action" section of "Marketplace Workflow Actions". The text alongside this image reads: Enter action name to confirm delete. For context, this section explains: Once an Action is deleted, it will be deleted permanently and cannot be restored. The deleted action will be removed from Marketplace App and Workflow Action list. If a deleted action is part of any workflow the action execution will be skipped.
- What to fill in: Enter action name to confirm delete
- Controls: Enter action name to confirm delete

---

Documentation for GHL Customer Care. Support: support@ghlcustomercare.com