skip to Main Content

I want to make a unified “inbox” for messages from across multiple platforms, some of them are widely supported by all mejor chatbot services, like Facebook Messenger, others are more obscure like WhatsApp, but others are plain unsupported (like Steam Web Chat).

I’ve encountered several solutions that have some sort of “one-click” integration for the most popular messengers, but I can’t find one that will let you integrate third-party messengers (which ideally have an API to read/send messages at the very least) into a chatbot-like service. Is there such a thing out there?

PS: I don’t really care about fancy AI conversational support, I’d just like to receive all messages into, say, one webhook I can then act on, and also be able to reply to them.

3

Answers


  1. What I would do is have a Node.js backend.
    Direct every messaging integration to it and then direct that to API.AI.

    So the flow would be like this:

    enter image description here

    Login or Signup to reply.
  2. API.ai doesn’t have an ‘integration pooling’ architecture, it treats each platform as a separate integration or conversation. Given that, you’ll have to build your own server side message pooling solution which plugs into all your 3rd party APIs, and then pools/queues messages across all streams before passing to API.ai, and with some messageID/tracking system on your server side solution to remember which 3rd party API to respond to with API.ai response. Something like this as an aggregate/pooling function should work:

    var queue = [];
    var queueProcessing = false;
    
    function queueRequest(request) {
        queue.push(request);
        if (queueProcessing) {
            return;
        }
        queueProcessing = true;
        processQueue();
    }
    
    function processQueue() {
        if (queue.length == 0) {
            queueProcessing = false;
            return;
        }
        var currentRequest = queue.shift();
        //Send to API.ai
        request(currentRequest, function(error, response, body) {
            if (error || response.body.error) {
                console.log("Error sending messages!");
            }
            processQueue();
        });
    }
    Login or Signup to reply.
  3. There is a service called Message.io which does I believe what you want. They support the widest range of platforms.

    Message.io sits between your bot and the messaging platforms, you receive messages in a standardized way from Message.io, and when sending messages out to users, it converts it to the appropriate format for the platform you’re responding to.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search