I just a wanted to share an update here as I’ve been continuing to develop my strategy on how to best integrate all these tools.
As I’ve gotten more into built.io, I found myself writing more and more custom NodeJS code to do API calls, parsing and other things. This was all fine, their tools are good, but the truth is that the cost of the platform it pretty high considering other options. I’m on their $99/month plan, which is probably ok for this short-term, but for lots of automations and especially lots of people using you bots you’ll quickly move toward their enterprise-level $1500/month plan.
So, while I’m still using their tools flow setting up minimally-programatic integrations, I’ve moved a lot of my “hard-core” processing to AWS lambda. Lambda is great, fast, and (comparatively) really-really cheap. However, it’s not a trivial thing to understand especially if you’re not already a developer.
Also, to reduce built.io costs, and to get faster bot responses, I plugged FlowXO directly into Api.ai and am using Api.ai’s “fulfillment webhook” option to process more advanced responses. AWS Lambda catches all these custom requests and call APIs and such, then routes messages back to FlowXO (I’m using Amazon SNS to do this part).
For simple NLP, conversational responses (how are are you doing to today? What’s up?)
FlowXO -> Api.ai -> FlowXO
For complex processing
FlowXO -> Api.ai -> Api Fulfillment Webhook -> AWS Lambda -> FlowXO
FlowXO -> Api.ai -> Api Fulfillment Webhook -> AWS Lambda -> Built.io -> FlowXO
In summary, my updated thoughts on this whole thing are:
- FlowXo is still your best bet as a front-end bot service
- Api.ai integrated with a FlowXO catch-all works great
- Use Api.ai’s Fulfillment webhook for complex intent handling
- Use AWS Lambda to hand the Api.ai webhooks (there are good tutorials on this)
- Route the responses back to FlowXo for user interaction.
This being a FlowXO forum, I want to emphasize, you CAN use FlowXO to handle the Api.ai responses or even handle the Api.ai webhooks as well. It’s just that as your needs get more complex, in my opinion it will become unmanageable that way quickly.
For this kind of work let FlowXO be your “front-end” for users and for some basic procedural requests, and offload the rest to more specialized NLP and development tools.