# Ubitec Bot-Framework ![Ubitec logo](ubitec-logo.png) The Ubitec Bot-Framework covers all phases of editorial work and technical facets of a chatbot - from building, to monitoring, to evaluating and improving. It consists of an editorial interface to create static and dynamic content, to monitore conversations, test content automatically and analyze the most important key figures. ## Project Setup in Ubitec To connect a Bot built with the `Ubitec Bot-Framework` to `CVG` perform the following steps: 1. Enable `CVG` in your Bot. 2. Define a `Quickstory` as an entrypoint 3. Add the Bot's endpoint url to the `CVG` project ### 1. Enable CVG in your Bot. The `CVG` plugin has to be enabled in the Bot via an entry in the config yaml: ```yaml features: vier_cvg: true ``` After that, all `Events`, `Actions` and `CVG` endpoints are available to use in the Bot. ### 2. Define a `Quickstory` as an Entrypoint To let the Bot know what to respond to the user when he/she starts a conversation add the `VIER CVG Session` event to a `Quickstory`. Make sure at least one `Action` is assigned to the channel that is used for voice calls (default: `Telefon`). ### 3. Add the Bot's Endpoint URL to the CVG Project The endpoint url for the voice channel consists of the Bot's public url and the path to the voice channel (default: `/chat/vier-cvg/`). Add this endpoint url to the CVG project (eg. `www.my-chatbot.com/chat/vier-cvg/`). ## Project Setup in CVG ### 1. Create an Account If you do need an account in CVG please contact [support@vier.ai](mailto:support@vier.ai). ### 2. Set up a project To set up a Ubitec bot in *CVG*, create a project in CVG by filling the fields in each "SETTINGS" section. Select a "Platform Phone Number". In the bot configuration section, you link with the the Ubitec project by selecting *Ubitec* as Template and by providing the *Bot URL* (as described above) and the *Bot Token*. ## Communication ### Identification The `dialogId` from `CVG` is used to identify a `Conversation`. The user's phone number (if provided) is saved as a user label. This label is later shown in the editorial section to identify the `Conversation`. It is possible to mask (parts of the) user's phone number. The number of digits to mask can be set via the env variable `UT_EXTRA_VIER_CVG_MASK_PHONE_NUMBER_COUNT` (default: `0`). The symbol to replace the mask digits can be set via `UT_EXTRA_VIER_CVG_MASK_PHONE_NUMBER_SYMBOL` (default: `*`). ### Bot Answers All Bot answers are concatenated and wrapped inside `` tags right before requesting the `/call/say` endpoint. Only `Action`s of type `StaticText` and `SSML` are considered. If the Bot responded with a `DropCall` action, the `/call/drop` endpoint is requested. ### Inactivity To respond to `inactivity` requests by `CVG` one has to add the event `VIER CVG Inactivity` to a `Quickstory`.