The Abodit Natural Language Engine works with any text-based communication transport including SMS, Chat, Email, Slack, or web-based chat. You can also connect it to a simple INPUT field on an HTML page.

Synchronous or Asynchronous Communication Style

Depending on the transport you may wish to vary how responses are delivered. Email for example would require all responses to a given command to be collected as sent as a single message. Chat however might benefit from a more asynchronous approach whereby each response is sent as it is received. An asynchronous chat system can also initiate conversations instead of just responding to user input.

Slack interfaced to Abodit NLP

Custom Collectors

Abodit NLP has been designed to be completely independent from the transport chosen: an interface IListener is provided that you can use to create a connector and inject it into your rules but you can also design your own from scratch.

A synchronous connector, like you might use for email, collects the whole response and then emails it back. An SMS collector might also function in a synchronous manner collecting muliple lines and then packaging them up into 160 character chunks to minimize sending costs. In both of these cases the IListener that you inject exists for just the lifetime of the execution of the sentence.

An asynchronous connector on the other hand, like a chat collector, can respond over a much longer period of time. The incoming requests typically fire off a Task which collects and reports back to the user over potentially several minutes or hours. For a very long running task you may wish to remember the task in a a history object so that the user can cancel it later using a 'stop' command.

An asynchronous connector can also initiate conversations with a user without requiring them to start each conversation with an input.

Email - Yes Yes -
SMS Yes Yes - -
XMPP Yes Yes - -
Slack Yes Yes Yes Yes


The Abodit Natural Language Engine works great with Twilio SMS. The provided SMS collector can collect multiple line responses, batch them up and send them 160 characters at a time. Now your Twilio applications can exhibit some real intelligence, understanding SMS messages and responding to them.