Rules to Better Bots

Bots promote an effective and productive work place. Many companies are already using them more than regular 'search' functionality.

Want to build a Bot? 

Check SSW's Bots Consulting page​.

Hold on a second! How would you like to view this content?
Just the title! A brief blurb! Gimme everything!



  1. Do you add a Bot signature to make it clear when an email is automated?

    ​With the advent of Microsoft Flow and Logic Apps, automated emails are becoming more common. And in fact any reminder or notification email you find yourself sending regularly should probably be automated. 

    However, the end user should be able to tell that this was sent by a bot, and not a real person, both for transparency, and also to potentially trigger them to automate some of their own workflow.​

    Hi All,

    The maximum temperature for today is 32.
    Feel free to wear shorts if you like 🌞 (hope you haven't skipped leg day 😜)​
    If you decide against it, then don't forget the SSW dress code applies as usual (e.g. dress up on Monday and Tuesday - no jeans).
    Today's forecast:
    Patchy fog early this morning, mostly in the south, then sunny. Light winds becoming northwesterly 15 to 25 km/h in the afternoon.

    Uly
    --Powered by SSW.Shorts

    <This email was sent as per: http://rules.ssw.com.au/do-you-have-a-dress-code >

    ​​Figure: Good Example – you can clearly see this was sent by a bot
  2. Do you keep your serverless application warm (to avoid cold starts)?

    ​​When you design your own Bot, you will very likely leverage some Bot framework/service to conduct the natural language processing part for you so that you can focus on implementing your business logic. When you build your business logic, it is common to use serverless applications such as Azure function or Google Firebase functions. As a "side effect" of serverless infrastructure, a cold start happens when a cloud function is invoked for the first time or after a long time of no invocations.

    Basically, it takes the server (yes – there are servers!) a little bit longer to get the function ready the first time, so it’s ready to accept and process the request. If a function is invoked a second time, it will execute faster. There is usually a time period during which a function stays warm. If a function is invoked again during that time period – it will be executed fast, otherwise we have to wait for the server to spin up. 

    Here are our recommended solutions to the problem for Microsoft Azure and Google Cloud Platform (GCP) respectively. 

    Microsoft Azure:

    1. ​​​Add warm up request
    ​    Use a time triggered function to keep the function app constantly warm. If you know that at a certain time of a day the Function App is likely to be cold and so you wake it up just before you expect users to send out requests. ​​

        2Move to App Service Plan

        With Azure functions, you don't have to host using the serverless​ "consumption" plan. Instead, you can just use a regular Azure App Service Plan, which comes with a fixed monthly​ fee per server instance. In this case, you no longer need to worry about cold starts since the compute is always available. 

    3. Upgrade to Premium Plan

        If you want dedicated instances that are always on to eliminate cold starts as well as the ability to scale out in the same way, you can try Azure Functions Premium Plan (preview) out. 



    Google Cloud Platform 

    1. Add warm up request



  3. Do you vary your responses?

    People don’t act like robots and answer the same way all the time. Neither should bots!  All you need is a few different welcome messages and use a rand() function.
    ​​​bots-responses.jpg
    Figure: Good examples - Different welcome messages​​
    Read more about Do you vary your responses?