Introduction

Routines

Chatbots aim to solve customer requests. These requests can generally be divided into three different categories:

  1. Static information: The solution is a description that either answers the user’s question or includes the steps to solve a problem. Thus, the customer does not need any further support from an agent.
    • step by step instructions
    • generic answers (FAQ)
    • troubleshooting
  2. Hand Over: Sometimes, the request requires manual processing by an agent. In this case, the solution includes a handover to the relevant specialist department via form, live chat and / or a phone number.
    • fill in form with the required information so agent can solve on first response about subject
    • connect to a live chat
  3. Routines: Routines are solutions that either load personalized information from a third-party system or directly perform the desired action there.
    • delivery status
    • resend invoice
Key to automation
Routines increase the level of automation and can provide the same results as an agent manually cross-checking several systems or pressing a button to trigger an action.

Routines are a simple but powerful tool. They allow you to inject personalised information into the chat or to automate repetitive flows by triggering a custom actions. Therefore, they connect Solvemate with one or multiple external systems like backends, databases or third-party software.

Getting started

Do not hesitate and review Introduction and Integration and Security pages to get an overview of routines and what can be achieved.

Refer to How to Guide for in detail guidance on how to request routine, what to consider and how to implement it in the chatbot.

Examples

Routines in action

Retrieving information about current order status from a third-party system.

Routine API
Trigger resending email with invoice of the entered order to the email address associated with the order.

Routine Action trigger
Static Routine constructing custom link.

Static Routine

Use cases

There are a lot of possibilities of what a routine can do including but not limited to:

  • current status of a delivery upon entering OrderID
  • current payment status of an order
  • see items in the order
  • cancel booking, order, payment
  • update arrival date
  • resend order invoice to email address associated with the order
  • refund status
  • block credit card
  • update payment method
  • anything specific to your business that you can think of.

Not sure about your use case?

If you have an idea of something that can be automated, but you are not sure if your use case is possible feel free to approach your Customer Success Manager at Solvemate. We can review your requirements, system setup and find a suitable technical solution.

Note: The options can be limited by the system design, setup, available endpoints and other factors. See our How to Guide for more detailed information.

Static routines

Routines typically connect to a third-party system to retrieve information to display to the user.

However routines can be used to create a personalised bot reply without connecting to another system, for example by constructing a custom link.

Example: User picks a value from a pre-defined drop-down list in the bot and the bot returns a custom generated link with input value in the path.

Code example

Routines are written as scripts in Python or Node.js.

Simplified example in Python:

# Define texts out of routine logic so that they can easily 
# be edited by chatbot manager
texts = {
    'intro': {
        'one_delivery': "Custom **formatted** text...",
        'multiple_deliveries': "Custom *text...*"
    },
    'errors': {
        'order_not_found': "We could not find order with this ID.",
        'generic_error': "Something went wrong. Please try again."
    }
}
import logging
logger = logging.getLogger()
logger.setLevel(logging.INFO)

# Define variables
api_endpoint = 'https://api.example.com/v2/checkpoints/?orderNo={}'


def handler(event, context):
    logger.info('event: %s', event)
    # All logic for authentication, calling endpoints, managing 
    # errors and constructing reply goes here.
    order_id = event['order_id']
    url = api_endpoint.format(order_id)
    try:
        # authenticate
        # load data from API
        ...
        return "**Formatted result** in chatbot [This is a link]({})".format(response_data['tracking_url'])
    except Exception:
        return texts['errors']['generic_error']
    

Performance monitoring

Dashboard

Execution statistics (e.g. frequency and duration) can be found on the Solvemate Dashboard.

Routine performance

Errors

Routine execution is monitored by Solvemate and in case of errors or unexpected behaviour it will notify your Success Manager automatically.