Hello,

I’m currently working on integrating a custom chat provider in Creatio, following the official documentation. I’ve successfully configured the incoming message handling, which is working as expected.

However, I’m facing an issue when trying to send messages from Creatio to the custom provider.

Initially, I encountered an error when attempting to use the chat module for sending messages. I resolved this by explicitly binding the IOutcomeMessageWorker interface to my custom implementation using the "ThirdParty" key, as shown below:

protected void BindInterfaces() {
   ClassFactory.Bind<IAttachmentsLoadWorker, TestAttachmentLoadWorker>("Test");
   ClassFactory.Bind<IProfileDataProvider, TestProfileDataProvider>("Test");
   ClassFactory.Bind<IOutcomeMessageWorker, TestOutcomeMessageWorker>("ThirdParty");
   ClassFactory.Bind<IOperatorRoutingRule, TestOperatorRoutingRule>("TestRule");
}


After this change, the error disappeared and messages are now being saved in Creatio. However, it appears that the messages are not being sent to my custom worker (TestOutcomeMessageWorker), as I don’t see any logs or server-side activity indicating that the worker is being triggered.

Could someone please guide me on how to ensure that outgoing messages are properly routed to the custom worker? Am I missing any configuration or message routing logic?

I am using online instance. 

Could it be issue of mismatch of MsgSettingsId ? I am not sure how to access the SQL tables as I am using Online Instance.

Thanks in advance for your support!

Like 0

Like

2 comments
Best reply

Hello Madhav,

In order to check if you custom worker was triggered you can check the Network tab in the browser Dev Tools and look for the request made when sending the message. The request URL might look like this  
.../0/rest/TestOutcomeMessageWorker/SendMessage
Then you will be able to investigate the response and check the errors if there were any.

Also keep in mind that according to the documentation you have to set up storage of custom channel data so you will need to have the access to the database to create the corresponding table and register the custom channel in the database as described.

Also the following community post might be useful for you
https://community.creatio.com/questions/override-sending-messages-custo…
 

Hello Madhav,

In order to check if you custom worker was triggered you can check the Network tab in the browser Dev Tools and look for the request made when sending the message. The request URL might look like this  
.../0/rest/TestOutcomeMessageWorker/SendMessage
Then you will be able to investigate the response and check the errors if there were any.

Also keep in mind that according to the documentation you have to set up storage of custom channel data so you will need to have the access to the database to create the corresponding table and register the custom channel in the database as described.

Also the following community post might be useful for you
https://community.creatio.com/questions/override-sending-messages-custo…
 

Hello Iryna Oriyenko,

Thanks !!, This issue is resolved !!

Show all comments

Hello,

I am currently trying to add a custom provider in Creatio by following this document. While the base setup is working, I have encountered a few issues as below:

1. Incoming Message Issue

Description:

  • Messages sent to the custom receive endpoint are not displayed in the chat interface if the Sender field is missing or the sender does not exist in the Contact Identity table.

Sample Payload:
{
   "Recipient": "12345678",
   "Message": "Hello How Are you?",
   "Sender": "1414291595",
   "Timestamp": "0"
}

Questions:

  • If the sender is not recognized or is missing the message is not showing on Chat.
    • Are these messages still stored in Creatio?
    • If so, where (e.g., specific database table, logs, etc.) can we find them?
    • Is there a recommended approach for handling unknown senders?
  • Sometimes even if the senderid is correct, the chatID is showing null (Chat is not created)

2. Outgoing Message Error

Description:

Sending a message from the Creatio chat UI results in the following error:
"Error while sending the message."

Findings:

  • The issue appears to be that the internal method OmnichannelOutcomeMessagingService.SendMessage expects a ChannelName in the payload which seems to be missing when trying to send from Default chat module. This was verified by testing in Postman—adding ChannelName manually in payload allows the message to be sent successfully.

Questions:

  • How can we programmatically include ChannelName in the payload used by the chat component as it is part of a locked file?

Can anyone please guide me with this?
 

Like 0

Like

2 comments
Best reply

Hello,

Regarding part 1:

  1. Yes, if no additional logic that you created prevents messages from saving.
  2. The two main tables are: OmnichannelMessages and OmniChat. OmnichannelMessages  stores information on chat nessages, OmniChat stores messages on chats themselves.
  3. There are none, I also reviewed the logic behind WhatsApp converted and the sender seems to be passed as a phone number there and then identification is performed using the phone number with the replacement of the original value as

message.Sender.Replace("whatsapp:", "")

 

Regarding part 2:

  1. We get ChannelName from the Source. You need to bind worker to one of the values from the list below:

Also this community post may be handy https://community.creatio.com/questions/override-sending-messages-custom-channel-provider-logic

Hello,

Regarding part 1:

  1. Yes, if no additional logic that you created prevents messages from saving.
  2. The two main tables are: OmnichannelMessages and OmniChat. OmnichannelMessages  stores information on chat nessages, OmniChat stores messages on chats themselves.
  3. There are none, I also reviewed the logic behind WhatsApp converted and the sender seems to be passed as a phone number there and then identification is performed using the phone number with the replacement of the original value as

message.Sender.Replace("whatsapp:", "")

 

Regarding part 2:

  1. We get ChannelName from the Source. You need to bind worker to one of the values from the list below:

Also this community post may be handy https://community.creatio.com/questions/override-sending-messages-custom-channel-provider-logic

Hello @Oleg Drobina,

Thanks, I bind the worker with "ThirdParty" and it seems to work now,

I do have another question (perhaps a basic one): I'm working with an online instance, and I'm wondering if it's possible to add a custom channel name to the existing enum list. If so, could you guide me on how to do that?

Thanks again for your help!

Show all comments

Dear community!

 

Does someone thinks about such a feature?

To let operator user work with chat channel from mobile application?

Maybe, Creatio team have it in the backlog?

Like 0

Like

1 comments

Hello,

 

Currently, there is no possibility to work with chats in the mobile application. However, we have already registered a task for our R&D team to explore the possibility of implementing this functionality in future.

 

Thank you for your question!

Show all comments

I'm trying to modify the chat panel to add a new button that will contain another type of template, but I can't find which module file refers to this panel.

What files are related to this panel that allow me to make changes within it?

 

Like 1

Like

3 comments

Damien Collot,

Thanks for sharing, but unfortunately I don't have access to see the content of the link

Also don't have access to the link:)

This module is named OmniChatModule and it is pretty unique. As you may noticed it doesn't have a structure where elements are contained in a diff panel, instead, it creates them in code (check the method render() in it).

Currently, if you want to add something to it, you need to analyze the logic of the OmniChatModule schema and OmniChatUtilities to write your own version. For example, when you click on the context name, it triggers the method openContactCard in OmniChatUtilities.

To be honest, I can't guarantee that it is even possible to modify this panel in the current version.

Show all comments

If you merge your Facebook and Instagram accounts in Facebook Messenger, and connect your Facebook account to Creatio, will you receive messages from both accounts in Creatio?

Like 1

Like

1 comments

Hello Anton, 

 

As of today we have a task to integrate instagram in order to let you receive the messages from Intagram either, so it possibly will be implemented in our future releases, but currently it is not possible.

 

Have a nice day! 

Show all comments

If you merge your Facebook and Instagram accounts in Facebook Messenger, and connect your Facebook account to Creatio, will you receive messages from both accounts in Creatio?

Like 0

Like

1 comments

Hello Anton, 

 

As of today we have a task to integrate instagram in order to let you receive the messages from Intagram either, so it possibly will be implemented in our future releases, but currently it is not possible.

 

Have a nice day! 

Show all comments

Can I enable chat option in Creatio with MS team? 

Like 0

Like

2 comments

Hello,

 

You can synchronize Microsoft Teams meetings with Creatio if they are synchronized into your Outlook calendar. More detailed instructions can be found in the Synchronize calendar with MS Exchange and Microsoft 365 Academy article. 

The created meetings in Teams are being synchronized into Outlook, and as a result, they are displayed in Creatio system.





As for the chat option,  we have already registered the idea for our R&D team to implement this functionality in further releases. I will assign your case to this project in order to increase its priority



Best regards,

Bogdan

Bogdan,

Thank you for your reply 

Show all comments

Hi everyone,

 

Is it possible to integrate Instagram Direct chat as it is Facebook Messenger.

 

As far I could understand Creatio Social is added as am handover protocol for Messenger. https://prnt.sc/1InMay-1gYPK

For Instagram receiver is not possible to select it. https://prnt.sc/ug-GK_henGqK

 

Can anyone confirm if there is any way to add Instagram Direct to Creatio chat?

 

Thanks,

Luis

Like 0

Like

0 comments
Show all comments

When trying to initiate a new WhatsApp chat with a customer, more than 24 hours after the last message on the past chat, we get the alert: "Unable to send the message, the conversation ended more than 24 hours ago"

How can we bypass this to send an verified and approved HSM message to the customer?

Like 0

Like

3 comments

Hello Julian, 

 

The error message indicates that more than 24 hours passed after the last incoming message and prevents you from initiating the chat once again from your side, such limitation is done in order to prevent Spam messages (so your messages sent after 24 hours from last incoming message won't be delivered to a client).

However, you will be able to continue the same chat with no error message once there is a new incoming message from a client.

 

Best regards, 

Anastasiia

Anastasiia Zhuravel,

WhatsApp allows sending of pre-approved HSM messages after 24 hrs. We have seen that if we (manually) reopen the chat and send a correctly pre-approved HSM message, this is successfully sent even after 24 hrs. Is this the correct/supported method of sending approved HSM messages in Creatio, or should we send some method?

julian hatteea,

 

Hello, 

 

We have double-checked this information and so far, this functionality is not implemented in our system. We have already registered the corresponding query for our R&D team and will be waiting for implementation of pre-approved HSM messages functionality in the upcoming versions. 

 

Thank you for helping us to make our Application better. 

 

Best regards, 

Anastasiia

Show all comments

HI Team, 

There is a way to remove the chat from the communication panel?

 

Like 0

Like

2 comments

Solved with this code.

Federico Buffa,

how did you change it ? in my case it is closed and i can't change it !

Show all comments