handleOutput
function in the Endpoint settings or via CLI.
The output transformer works differently for the following Endpoint types:
- REST-based Endpoints
- Webhook- and Socket-based Endpoints
When using output transformers in REST Endpoints, you can’t send multiple Flow outputs to the user. However, you can still have multiple Say Nodes in a Flow that are triggered by each user input.In this case, the
handleOutput
function stores the Say Node outputs in the outputs
array. You can process the stored outputs with the execution finished transformer, which concatenates them into one output when the Flow execution has finished. This approach allows you to manipulate each Flow output in the handleOutput
function and then concatenate them into one output with the execution finished transformer.Transformer Function Arguments
Depending on the Endpoint type you are using, the function arguments vary:- REST-based Endpoints
- Webhook- and Socket-based Endpoints
Argument | Description |
---|---|
endpoint | The configuration object for the Endpoint. |
output | The raw output from the Flow. |
userId | The unique ID of the user. |
sessionId | The unique ID of the session. |
Endpoint Configuration Object
endpoint Object Properties
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 output transformer return value depends on the Endpoint type in which you use the transformer. There is no validation of the output transformer return value. If the output transformer returns a falsy value, the output is discarded and not stored in theoutputs
array.
- REST-based Endpoints
- Webhook- and Socket-based Endpoints
The
handleOutput
function returns a value and stores it in the outputs
array. You can access this array with the handleExecutionFinished
function. You can set the format of the outputs
array items in the handleOutput
function. By default, the outputs
array entries have text
and data
properties. You can change the output format as follows:Modify the Return Value Format
Modify the Return Value Format