Data Actions Integration for Non-conversational or One-way conversation
The Data Action Integration enables you to add multiple Kaleyra sender numbers, either for a non-conversational flow or a one-way conversation from agent to customer.
The Genesys Cloud data actions integration supports two types of actions:
- Static Actions - Static actions are preconfigured by Genesys Cloud. It provides out-of-the-box functionality for common use cases. For example, retrieving user details, queue info, or conversations. Static actions cannot be modified but can be directly consumed in workflows.
- Custom Actions - Custom actions are defined by administrators or developers. It allows full flexibility to call any Genesys Cloud Platform API endpoint. They can be useful when business needs go beyond the static actions provided. Also, it can be created using the Custom Actions Integration framework.
For more information on data actions integration, see Create a custom action for integrations.
Import Data Action for Kaleyra
The following is the import data action format for Kaleyra:
{
"name": "Kalyera SMS Connect Genesys",
"integrationType": "purecloud-data-actions",
"actionType": "custom",
"config": {
"request": {
"requestUrlTemplate": "/api/v2/conversations/messages/agentless",
"requestType": "POST",
"headers": {},
"requestTemplate": "{\n \"fromAddress\": \"{give your integration id }\", \n \"toAddress\": \"${input.To}\", \n \"toAddressMessengerType\": \"open\", \n \"textBody\": \"${input.Message}\" \n}"
},
"response": {
"translationMap": {},
"translationMapDefaults": {},
"successTemplate": "${rawResult}"
}
},
"contract": {
"input": {
"inputSchema": {
"title": "SMS",
"type": "object",
"required": [
"To",
"Message"
],
"properties": {
"To": {
"type": "string"
},
"Message": {
"type": "string"
}
}
}
},
"output": {
"successSchema": {
"type": "object",
"properties": {}
}
}
},
"secure": false
}
You can provide "to number
and from number"
separated by :
colon.
For example, "123xxxxx901:189xxxxx55"
→ “to:from”
.
Now, the processing layer will accept the “from” number coming in the body and if it is not present, it will fall back to the query params, then to the headers.
The following is the payload sample received in the processing layer:
{
"id": "f30705xxxxxxxx6de25cb25cbf1575",
"channel": {
"id": "32xxxx7e-9xx6-4xx4-bxx0-60xxxxxx9646",
"platform": "Open",
"type": "Private",
"to": {
"id": "+123xxxxx901:+189xxxxx55",
"idType": "Opaque"
},
"from": {
"nickname": "OpenMessagingEngg - delete me 2",
"id": "32xxxx7e-9xx6-4xx4-bxx0-60xxxxxx9646",
"idType": "Opaque"
},
"time": "2025-08-22T16:49:00.257Z",
"messageId": "f307xxxxxxxxxxa6de25cb25cbf1575"
},
"type": "Text",
"text": "Hi.. Both From and TO in Tofield",
"originatingEntity": "Bot",
"direction": "Outbound",
"conversationId": "185xxxx4-9xx4-4xx9-8xx4-10xxxxxxf970"
}
Updated about 16 hours ago