Making it Yours

First of all, customising your fulfillment Flows is entirely optional. CRM Bot Community is fully automatic solution, meaning that all you have to do to make it work is to activate all Flows and connect to your CDS.

So if you're not a Power Automate guru, fear not. However, if you enjoy building your own Flows then you will love our extension capabilities.

CRM Bot Connector

Putting it simply, what you see in terms of bot responses is driven entirely through Flows. Meaning you can adjust pretty much anything you see when you first run the chatbot.

Triggers

CRM Bot Community operates on a single trigger - "When Intent is detected".

First of all, ensure that your connection is filled in (use the secret key you received via email during registration).

Then select the intent you would like this Flow to operate from. You cannot create new Intents with the Community product.

Finally, pick the platform - for Community product you can either choose Unspecified or Skype.

Finally, when you select the trigger you will get access to intent specific metadata. Here is a breakdown of the parameters and what they do (bolded - useful parameters):

  • Bot Session ID - this is unique identifier of the conversation session
  • User ID - Azure Active Directory ID of the system user
  • Intent
  • Platform
  • Language
  • Payload - this is the subsection of the body value that contains message payload
  • body - use this parameter to parse the request in order to get all the details about the request (useful for parsing data coming from adaptive cards or file urls)
  • guid - _(dynamic parameter - only appears on Intents that require this value) _the unique identifier of CDS record (for example - Show Specific Entity intent always passes both guid and entity parameters which are then used to fetch the correct record)
  • entity - (dynamic parameter - only appears on Intents that require this value) the name of the entity for a corresponding guid
  • searchquery - _(dynamic parameter - only appears on Intents that require this value) _represents the value of the search query that the user provided (usually the name of the record)

Actions

There are several actions that you can use to send the messages back to the users.

In order to learn what values should be entered in each action, feel free to explore the library of Flows within your solution. Here are some tips & tricks to get you started:

  • Flows cannot be too slow. Any response that takes longer than 10-15 seconds will generally be received quite badly by the user. So take care to not try to do too much. If you need to optimise your Flows, here are some good tips.
  • Learn Adaptive Cards schema and use the powerful editor to craft your card before you copy & paste schema into your Flow
  • Adaptive Cards always appear before any other cards or quick replies. In general, try to only include one type of card in your response (and adaptive card is by far the most adaptable & powerful)
  • Send Response action has to include language - you can either use "en" to always respond in English or experiment with auto-translation and choose language coming from the trigger (by default, all Flows are set to respond in English only).

Flow Structure

In general, all the Flows you build have to follow the similar structure:

  • Trigger - Intent
  • Build a list of responses (either text, media, quick reply, card or adaptive card)
  • Send Response

If you are building a pro-active messaging Flow then the structure is as follows:

  • Trigger - anything you like
  • Build a list of responses (either text, media, quick reply, card or adaptive card)
  • Send Proactive Message (you have to use AAD Object ID from System User entity from CDS in order to route the message to the correct user)

The best way to learn how to build your own Flows is to explore the list of Flows you receive in your solution. Take your time and go through each one, look at the previous runs to analyse what happens at each stage. Practice makes perfect!

Limitations

CRM Bot Community was built with the aim to democratise access to chatbot software. There are some concessions that we had to make in order to provide this service absolutely free of charge:

  • We cannot guarantee SLA or API availability
  • CRM Bot Community does not extend beyond the list of intents provided - that means any other entities than accounts, contacts, opportunities, leads, notes & activities are not supported
  • We reserve the right to disable organisations that extend beyond the free 500 sessions per month limit
  • You cannot resell this product without explicit permission from CRM Bot team
  • You cannot make any modifications to our custom connector or teams app
  • The product cannot be whitelisted
  • We do not guarantee performance, and in general you have to exercise caution when deploying this solution to a large organisation
  • Remember, you are using your own Flows to perform fulfillment - that means you have to abide by Microsoft API limits

If you are interested in building a truly powerful chatbot for your company, please get in touch. Our development team is able to help with any chatbot project - whether it's B2C, B2B or a hybrid model. We support all major platforms and are ready to make your dream a reality. For more information, get in touch!