Best Chat System for Client Portal?

Cometchat appears to be from the same team as AtomChat. Better features, much higher price point.

1 Like

Thank you for reviewing all this! Unfortunately, I have yet to find a solution here. If you find anything, we’re all ears!

Currently reviewing Cometchat, which has a meh support team so far.
Amity.co is another option

I had a sales call with amity last week, it was pretty short since the guy told me it usually takes a full week for a full-time developer to get the system up and running.

I spent so much time over the past couple of weeks finding an upgrade to our current atomchat one. It seems like it’s gonna be cometchat. (Also, I still don’t understand the relationship between these two companies.)

They told me it’s a “sister company” but also a completely separate entity with a completely different team. I wonder what the real story behind is.

Thanks for info. I’m with you Amity, I asked about the Softr integration to which they told me “their app integrates with any user API” so that means the setup would require a developer to read through all the documentation(s) and figure it out essentially.

Unfortunately, it sounds like this is also the case with Cometchat, where nothing is built out of the box.

@StevenS - what’s wrong with your Atomchat setup that your trying to migrate away from it?

Thanks!

I am looking to add sms notifications and potentially some other webhooks on message send which doesn’t seem like an easy thing to do in atomchat (if possible at all). Second, the design of the chat is not the best, and finally, we had some (minor) problems with message synchronization as you mentionned.

Interested in a solution here as well.

We’re currently using a modified version of the comments block for 1 to 1 chats, with Zap to notify users via email. Trying to update to the newer comment block released last week to allow replies via email to update the comment block and keep it frictionless for users (since it’s B2B and they’re already in their inboxes all day). Unfortunately we’re still trouble shooting the new comment block.

We’re in talks with Commetchat about implementing their software for a group-to-group chat solution. We will follow up this week once we find out how difficult it is.

Hi all!

We chatted with the Cometchat team, who is very helpful, and everything seemed fairly simple on their end. Use their code, plug in the API endpoints for user and group IDs, and you’re good to go - in theory.

Great! So we checked the Softr API only to find out that it only supports user creation and deletion - nothing more. But we need it to grab user IDs… I suppose we could use Airtable API to grab a field containing a group/user ID, but I’m unsure how this would play with Softr. Does anyone with Airtable API experience have thoughts on this?

Cometchat API References:

Softr confirming API limitations:

Thanks!

I’m not sure what “grab user ids” means. If what you need to do is access the user id from custom code running in the page, you can find it in the window.logged_in_user object.

It means as implied - getting the ID of the logged-in user. Is that logged_in_user ID static / what we need to identify the user for the chat history and settings?

Yes, I think the user id in the logged_in_user object will do nicely.

Hi, as David wrote, the logged_in_user object will do it!

In order to make it more visual, maybe, here is an example for Intercom and Crisp

Also, here is a script I use for getting the user info while using Sendinblue Chat (check the last part of the code)

<script>
    (function(d, w, c) {
        w.SibConversationsID = '60d0428bb9cxxxxxxxxxx';
        w[c] = w[c] || function() {
            (w[c].q = w[c].q || []).push(arguments);
        };
        var s = d.createElement('script');
        s.async = true;
        s.src = 'https://conversations-widget.sendinblue.com/sib-conversations.js';
        if (d.head) d.head.appendChild(s);
    })(document, window, 'SibConversations');
</script>
<!-- /Sendinblue Conversations {/literal} -->
<script>
SibConversations('updateIntegrationData', {
    email: window['logged_in_user']['softr_user_email'], 
    firstName: window['logged_in_user']['softr_user_full_name'], 
});
</script>

I am exactly in the same process as you with cometchat, their salesperson was great, however, the support is very slow to answer my emails, and usually doesn’t even give me the correct fix to my problems. Maybe even worst than atomchat, however, their docs are so much better. I often end up working with chatgpt to debug.

Here is the code I have to create a user on the fly (you can take out the create user portion if you don’t want it):

in the header (i had to take out the “defer” to make it work):

<script src="https://widget-js.cometchat.io/v3/cometchatwidget.js"></script>

in a custom block:

<script>
CometChatWidget.init({
  appID: 'YOUR_APP_ID',
  appRegion: 'YOUR_REGION',
  authKey: 'YOUR_AUTH_KEY',
}).then((response) => {

  /**
   * Create user once initialization is successful
   */
  const user = new CometChatWidget.CometChat.User(window['logged_in_user']['airtable_record_id']);
  user.setName(window['logged_in_user']['User Name']);
  user.setAvatar(window['logged_in_user']['Avatar'][0]['thumbnails']['full']['url']);
  user.setMetadata({
    "email": window['logged_in_user']['Email']
  });
  user.setLink(window['logged_in_user']['User profil url']);
  CometChatWidget.createOrUpdateUser(user).then((user) => {

    // Proceed with user login
    CometChatWidget.login({
      uid: window['logged_in_user']['airtable_record_id'],
    }).then((loggedInUser) => {

      // Proceed with launching your Chat Widget
      CometChatWidget.launch({
                    "widgetID": "YOUR_WIDGET_ID",
                    "docked": "true",
                    "alignment": "right", //left or right
                    "roundedCorners": "true",
                    "height": "450px",
                    "width": "400px",
                    "defaultID": 'superhero1', //default UID (user) or GUID (group) to show,
                    "defaultType": 'user' //user or group
                });
      });
    });
  });
    </script>

I used the “window[‘logged_in_user’]” to get whatever airtable info i need, as others have mentioned above.

You can see that i added an email to my users thanks to “setMetadata”, you can add whatever info you would like here. Will probably need to pass phone number and email for notifications if needed.

I am still trying to get everything to work before switching everything from atomchat. Its a slow process for someone that doesn’t code.

1 Like

Wow! This is great information; thank you for sharing!

Do you think this will work with groups? So everyone with the same group ID in Airtable can see all the messages sent to the company and respond individually? (Slack Connect-like)

1 Like

The code I shared initializes cometchat, creates/updates a user, logs in the user, and launches cometchat. However, it does not start/create a conversation.

It seems like all you have to do is create a group with all the users you want in it.

Hi @StevenS - I am considering a CometChat solution for my group. How has this been working out for you? How vulnerable has your custom code been to things like updates from CometChat? Are you happy overall?

No issue so far with things like updates. It’s a bit pricey but overall happy. I had a minor problem with Cometchat losing connection to the websocket, but we finally figured it out (if you end up using Cometchat make sure your users ID is all lowercase).

Thanks for the reply. I think I am going to give this solution a shot myself. I’ll be back to hold you personally accountable when your code snippet does not work for me, lol!

1 Like

@FEStudios Have you tried Minnit.chat (https://minnit.chat/). It is free and they offer paid tiers. You can easily embed it to your website so in Softr, you would use an embed block and paste the code in. It is also customizable.

Hope this helps!