Notify Transformer - Cognigy Documentation

Documentation Index

Fetch the complete documentation index at: /llms.txt

Use this file to discover all available pages before exploring further.

In Cognigy.AI 2025.25.0, transformers will start using the axios library for handling HTTP requests internally instead of request-promise. This change occurs to improve security and maintainability. The following HTTP request options will still be supported:

If you use other HTTP request options, review your transformer code to ensure it is compatible with the axios library before the release of Cognigy.AI 2025.25.0.

The Notify Transformer converts the webhook payload from an external service before you call a Notify API request, which sends the data directly to the user. With the notify transformer, you don’t need a service that translates the webhook payload of the external service into the correct format for the Notify API request. You can handle this conversion in the notify transformer by parsing the payload to return only the necessary values. You can configure the notify transformer in the handleNotify function in the Endpoint settings or via CLI.

Restrictions

Transformer Function Arguments

The following table shows an overview of the function arguments:

Argument Description
endpoint The configuration object for the Endpoint.
request The Express request object with a JSON-parsed body.
response The Express response object.

Endpoint Configuration Object

endpoint Object Properties

Property Type Description
_id string The Endpoint’s Reference ID.
channel string The Endpoint’s channel.
URLToken string The URL Token, found in the Input object.
name string The Endpoint’s name.
flowId string The Reference ID of the specified Flow to which the Endpoint points to.
entrypoint string The Entrypoint of the Endpoint.
active boolean The flag to activate or deactivate the Endpoint.
nluConnectorId string ID of the selected NLU connector for the Endpoint.
useAnalytics boolean The flag to collect analytics data for the Endpoint.
storeDataPayload boolean The flag to store data payloads into analytics for the Endpoint.
useConversations boolean The flag to collect conversations history for the Endpoint.
maskIPAddress boolean The flag to mask sensitive IP addresses in input object and analytics data.
maskAnalytics boolean The flag to mask sensitive data in analytics for the Endpoint.
maskLogging boolean The flag to mask sensitive data in logs for the Endpoint.
useContactProfiles boolean The flag to use Contact Profiles for the Endpoint.
useDashbotAnalytics boolean The flag to use Dashbot for collecting analytics data.
dashbotApikey string The API key of the Dashbot bot for analytics collection.
dashbotPlatform string The selected platform of the Dashbot bot for analytics collection.
settings object Optional Endpoint-specific settings. For example, Facebook Page token.
handoverSettings object Settings to configure a handover provider.
createdAt number Unix timestamp when the Endpoint was created.
lastChanged number Unix timestamp when the Endpoint was last modified.
createdBy string Email of the user who created the Endpoint.
lastChangedBy string Email of the user who last modified the Endpoint.

Return Values

The notify transformer returns a valid user ID, session ID, text, and data. These return values need to match the format of the payload of the Endpoint you are using. The payload format is specific to the Endpoint type you use, for example, Alexa or Facebook (Meta) Messenger. Read the documentation of the specific Endpoint to know how to format the payload. If the notify transformer returns a falsy value, the output is discarded and not sent to the Notify API request. Here is an example of the correct return format for a webhook-based Endpoint:

handleNotify: async ({ endpoint, request, response }) => {
    const webhookPayload = request.body;

// Parse the webhook payload and extract necessary data
    const userId = webhookPayload.user.id;
    const sessionId = webhookPayload.session.id;
    const text = webhookPayload.message.text;
    const data = {
        source: webhookPayload.source,
        timestamp: webhookPayload.timestamp,
        priority: webhookPayload.priority || 'normal'
    };

return {
        userId,
        sessionId,
        text,
        data
    };
}

Last modified on April 21, 2026.