Add configuration to custom actions for integrations


Note: This article applies to the AWS Lambda, Microsoft Dynamics 365, PureCloud, Salesforce, web services, and Zendesk data actions integrations.

When creating a custom action, first add contracts and then add configuration. The configuration defines how the action implements the contracts. For more information, see Create a custom action and Add contracts to custom actions.

Note: You can modify the configuration after you publish the action. For more information, see Modify configuration in custom actions.
  1. Click the Configuration tab. 
  2. Select the HTTP method.
  3. Under Request, configure the request that the action sends to the AWS Lambda function or the web service. Genesys recommends configuring the request by using the fields under Simple.
    Tip: Click the properties under Available Inputs to copy and quickly paste them in the request. These properties come from in your input contract. For more information, see Add contracts to custom actions. You can use macros with the templates. For information, see Velocity macros for data actions.

    Enter information for the fields that appear. The fields that appear vary depending on the HTTP method selected and the contracts added.

    Information for AWS Lambda data actions integration and web services data actions integration users

    • Request URL Template

      Set Request URL Template to the ARN of your AWS Lambda function. For more information, see Create IAM resources to invoke AWS Lambda functions.

    • Request Type

      Set Request Type to POST. This HTTP method ensures that the action sends any request body with the request configuration.

    • Headers

      The AWS Lambda data actions integration does not use headers.

    • Request Template

      Any values that you specify under Request Template will be available in the event parameter of the invoked AWS Lambda function.

    For a detailed explanation of the parts of the request, see Request configuration for data actions.


    People knowledgeable about JSON can use the JSON input option. Use requests in other actions or the following example as a guide for creating the JSON.

    {
      "requestUrlTemplate": "https://www.example.com/health/check/services/${input.service}",
      "requestType": "GET",
      "headers": {},
      "requestTemplate": "${input.rawRequest}"
    }


  4. Under Response, add the JSON configuration.

    The JSON configuration defines how the response from the web service or AWS Lambda function is processed.

    You can use the response in other actions or the following example as a guide for creating the JSON. For more information about using macros with the success template, see Velocity macros for data actions.

    Tip: Click the properties under Available Outputs to copy and quickly paste them in the response. These properties come from in your output contract. For more information, see Add contracts to custom actions.
    {
          "translationMap": {
              "buildNumber": "$.Build-Version",
              "serviceName": "$.name",
              "status": "$.Status"
          },
          "successTemplate": "{\r\n      \t\"build\": ${buildNumber},\r\n      \t\"name\": ${serviceName},\r\n\"status\": ${status}\r\n      }"
     }

    For a detailed explanation of the parts of the response, see Response configuration for data actions.

Next, test the action for validation and execution errors.

For more information, see About custom actions for integrations.

For more information about the integrations, see About the AWS Lambda data actions integration, About the Microsoft Dynamics 365 data actions integration, About the PureCloud data actions integration, About the Salesforce data actions integration, About the web services data actions integration, and About the Zendesk data actions integration.