I'm considering building a feature in a customer service application that allows users to build their own chatbots and use them to respond to customer input. I've worked with Dialogflow in the past, and I know how to build and leverage a single agent, but I want to know if it's possible to use Dialogflow in a feature that allows the users of the customer service app to build their own bots and to train their own intents and entities. The idea is to have a streamlined interface that has 2 main functions:
A GUI that allows the user to create the nodes of the conversation and to set the conditions for going to a different node like this:
node 1:
if condition == SHOPPING_INTENT + LAWNMOWER_ENTITY
go_to = node 3
else: go_to = node 6
Another GUI that allows the users to train their own entities and intents:
ADD INTENT
NAME = SHOPPING_INTENT
PHRASE = "I want to buy stuff"
The idea is that the backend would call Dialogflow's API and create these intents and entities, but the conversation structure, flow, and responses would be managed by the backend. Having researched a bit it seems I'm trying to reinvent Dialogflow CX, but since it's still in (very) beta mode I would rather create my own backend and save money by using the cheaper Dialogflow ES.
My concern is with managing Dialogflow accounts and agents. Would each user of the customer service app need to have their own account proxied by the framework, or can the framework have one account with a bunch of projects? Has anyone attempted this before? Does it make sense from a billing standpoint? Any advice would be much appreciated.