Resources »

Packages »

Reminder Bot

Introduction

This package adds Reminder Bot, which provides conversational interactions for setting reminders from any record’s card or profile page.

Importing the package

Navigate to Setup » Configure » Import Package.

Paste the following package into the large text box:



{
  "package": {
    "name": "Reminder Bot Package",
    "revision": 1,
    "requires": {
      "cerb_version": "8.2.2",
      "plugins": [

      ]
    },
    "configure": {
      "prompts": [

      ],
      "placeholders": [

      ]
    }
  },
  "bots": [
    {
      "uid": "bot_reminder",
      "name": "Reminder Bot",
      "owner": {
        "context": "cerberusweb.contexts.app",
        "id": 0
      },
      "is_disabled": false,
      "params": {
        "config": null,
        "events": {
          "mode": "all",
          "items": [

          ]
        },
        "actions": {
          "mode": "all",
          "items": [

          ]
        }
      },
      "image": "data:image/png;base64,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",
      "behaviors": [
        {
          "uid": "behavior_299",
          "title": "Create a record reminder from profile/card",
          "is_disabled": false,
          "is_private": true,
          "priority": 50,
          "event": {
            "key": "event.message.chat.worker",
            "label": "Conversation with worker"
          },
          "variables": {
            "var_record_context": {
              "key": "var_record_context",
              "label": "Record context",
              "type": "S",
              "is_private": "0",
              "params": {
                "widget": "single"
              }
            },
            "var_record_id": {
              "key": "var_record_id",
              "label": "Record ID",
              "type": "N",
              "is_private": "0",
              "params": [

              ]
            },
            "var_remind_method": {
              "key": "var_remind_method",
              "label": "Remind Method",
              "type": "S",
              "is_private": "0",
              "params": {
                "widget": "single"
              }
            },
            "var_records": {
              "key": "var_records",
              "label": "Records",
              "type": "contexts",
              "is_private": "1",
              "params": [

              ]
            }
          },
          "nodes": [
            {
              "type": "action",
              "title": "Find referenced record",
              "status": "live",
              "params": {
                "actions": [
                  {
                    "action": "var_records",
                    "context": "var_record_context",
                    "search_mode": "quick_search",
                    "quick_search": "id:{{var_record_id}}",
                    "limit": "first",
                    "limit_count": "1",
                    "mode": "replace"
                  }
                ]
              }
            },
            {
              "type": "action",
              "title": "Hi!",
              "status": "live",
              "params": {
                "actions": [
                  {
                    "action": "send_message",
                    "message": "Hi, {{worker_first_name}}!",
                    "format": "",
                    "delay_ms": "1000"
                  },
                  {
                    "action": "send_message",
                    "message": "{% set record = var_records|first %}\r\nSure, I can remind you about {{record._context|context_name(\"singular\")}} **{{record._label}}**.",
                    "format": "markdown",
                    "delay_ms": "1000"
                  }
                ]
              }
            },
            {
              "type": "action",
              "title": "When?",
              "status": "live",
              "params": {
                "actions": [
                  {
                    "action": "send_message",
                    "message": "When would you like to be reminded?",
                    "format": "",
                    "delay_ms": "1000"
                  },
                  {
                    "action": "prompt_date",
                    "placeholder": "e.g. \"tomorrow 5pm\" or \"2 hours\""
                  }
                ]
              }
            },
            {
              "type": "action",
              "title": "Remember reminder date",
              "status": "live",
              "params": {
                "actions": [
                  {
                    "action": "_set_custom_var",
                    "value": "{{message}}",
                    "format": "",
                    "is_simulator_only": "0",
                    "var": "reminder_at"
                  }
                ]
              }
            },
            {
              "type": "action",
              "title": "Memo?",
              "status": "live",
              "params": {
                "actions": [
                  {
                    "action": "send_message",
                    "message": "And what should I tell you?",
                    "format": "",
                    "delay_ms": "1000"
                  },
                  {
                    "action": "prompt_text",
                    "placeholder": "(leave blank for default)"
                  }
                ]
              }
            },
            {
              "type": "action",
              "title": "Remember reminder message",
              "status": "live",
              "params": {
                "actions": [
                  {
                    "action": "_set_custom_var",
                    "value": "{{message}}",
                    "format": "",
                    "is_simulator_only": "0",
                    "var": "reminder_message"
                  }
                ]
              }
            },
            {
              "type": "action",
              "title": "Confirm",
              "status": "live",
              "params": {
                "actions": [
                  {
                    "action": "send_message",
                    "message": "I'll remind you **{{reminder_message}}** by **{{var_remind_method}}** on **{{reminder_at}} ({{date(reminder_at)|date('U')|date_pretty}})**.",
                    "format": "markdown",
                    "delay_ms": "1000"
                  },
                  {
                    "action": "send_message",
                    "message": "Sound good?",
                    "format": "",
                    "delay_ms": "1000"
                  },
                  {
                    "action": "prompt_buttons",
                    "options": "yes\r\nno",
                    "color_from": "#57970a",
                    "color_mid": "#4795f7",
                    "color_to": "#cf2c1d",
                    "style": ""
                  }
                ]
              }
            },
            {
              "type": "switch",
              "title": "Confirm?",
              "status": "live",
              "nodes": [
                {
                  "type": "outcome",
                  "title": "Yes",
                  "status": "live",
                  "params": {
                    "groups": [
                      {
                        "any": 0,
                        "conditions": [
                          {
                            "condition": "message",
                            "oper": "is",
                            "value": "yes"
                          }
                        ]
                      }
                    ]
                  },
                  "nodes": [
                    {
                      "type": "switch",
                      "title": "Method:",
                      "status": "live",
                      "nodes": [
                        {
                          "type": "outcome",
                          "title": "Email",
                          "status": "live",
                          "params": {
                            "groups": [
                              {
                                "any": 0,
                                "conditions": [
                                  {
                                    "condition": "_custom_script",
                                    "tpl": "{{var_remind_method}}",
                                    "oper": "is",
                                    "value": "email"
                                  }
                                ]
                              }
                            ]
                          },
                          "nodes": [
                            {
                              "type": "action",
                              "title": "Schedule reminder on this record",
                              "status": "live",
                              "params": {
                                "actions": [
                                  {
                                    "action": "core.bot.action.create_reminder",
                                    "name": "{{reminder_message}}",
                                    "remind_at": "{{reminder_at}}",
                                    "worker_id": "worker_id",
                                    "behavior_ids": [
                                      "{{{uid.behavior_307}}}"
                                    ],
                                    "link_to": [
                                      "var_records"
                                    ],
                                    "run_in_simulator": "1",
                                    "object_placeholder": "_reminder"
                                  }
                                ]
                              }
                            }
                          ]
                        },
                        {
                          "type": "outcome",
                          "title": "Notification",
                          "status": "live",
                          "params": {
                            "groups": [
                              {
                                "any": 0,
                                "conditions": [
                                  {
                                    "condition": "_custom_script",
                                    "tpl": "{{var_remind_method}}",
                                    "oper": "is",
                                    "value": "notification"
                                  }
                                ]
                              }
                            ]
                          },
                          "nodes": [
                            {
                              "type": "action",
                              "title": "Schedule reminder on this record",
                              "status": "live",
                              "params": {
                                "actions": [
                                  {
                                    "action": "core.bot.action.create_reminder",
                                    "name": "{{reminder_message}}",
                                    "remind_at": "{{reminder_at}}",
                                    "worker_id": "worker_id",
                                    "behavior_ids": [
                                      "{{{uid.behavior_308}}}"
                                    ],
                                    "link_to": [
                                      "var_records"
                                    ],
                                    "run_in_simulator": "1",
                                    "object_placeholder": "_reminder"
                                  }
                                ]
                              }
                            }
                          ]
                        },
                        {
                          "type": "outcome",
                          "title": "SMS",
                          "status": "live",
                          "params": {
                            "groups": [
                              {
                                "any": 0,
                                "conditions": [
                                  {
                                    "condition": "_custom_script",
                                    "tpl": "{{var_remind_method}}",
                                    "oper": "is",
                                    "value": "text message"
                                  }
                                ]
                              }
                            ]
                          },
                          "nodes": [
                            {
                              "type": "action",
                              "title": "Schedule reminder on this record",
                              "status": "live",
                              "params": {
                                "actions": [
                                  {
                                    "action": "core.bot.action.create_reminder",
                                    "name": "{{reminder_message}}",
                                    "remind_at": "{{reminder_at}}",
                                    "worker_id": "worker_id",
                                    "behavior_ids": [
                                      "{{{uid.behavior_306}}}"
                                    ],
                                    "link_to": [
                                      "var_records"
                                    ],
                                    "run_in_simulator": "1",
                                    "object_placeholder": "_reminder"
                                  }
                                ]
                              }
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "type": "switch",
                      "title": "Success?",
                      "status": "live",
                      "nodes": [
                        {
                          "type": "outcome",
                          "title": "Yes",
                          "status": "live",
                          "params": {
                            "groups": [
                              {
                                "any": 0,
                                "conditions": [
                                  {
                                    "condition": "_custom_script",
                                    "tpl": "{{_reminder.id}}",
                                    "oper": "!is",
                                    "value": ""
                                  }
                                ]
                              }
                            ]
                          },
                          "nodes": [
                            {
                              "type": "action",
                              "title": "Show new reminder",
                              "status": "live",
                              "params": {
                                "actions": [
                                  {
                                    "action": "send_message",
                                    "message": "I created the reminder for you:",
                                    "format": "",
                                    "delay_ms": "1000"
                                  },
                                  {
                                    "action": "send_message",
                                    "message": "<ul class=\"bubbles\" style=\"padding:0;margin:0;\">\r\n\t<li><a href=\"javascript:;\" class=\"cerb-peek-trigger\" data-context=\"cerberusweb.contexts.reminder\" data-context-id=\"{{_reminder.id}}\">{{_reminder.name}}</a></li>\r\n</ul>",
                                    "format": "html",
                                    "delay_ms": "1000"
                                  }
                                ]
                              }
                            }
                          ]
                        }
                      ]
                    }
                  ]
                },
                {
                  "type": "outcome",
                  "title": "No",
                  "status": "live",
                  "params": {
                    "groups": [
                      {
                        "any": 0,
                        "conditions": [
                          {
                            "condition": "message",
                            "oper": "is",
                            "value": "no"
                          }
                        ]
                      }
                    ]
                  }
                }
              ]
            },
            {
              "type": "action",
              "title": "Bye!",
              "status": "live",
              "params": {
                "actions": [
                  {
                    "action": "prompt_buttons",
                    "options": "bye!",
                    "color_from": "#4795f7",
                    "color_mid": "#4795f7",
                    "color_to": "#4795f7",
                    "style": ""
                  }
                ]
              }
            },
            {
              "type": "action",
              "title": "Close chat",
              "status": "live",
              "params": {
                "actions": [
                  {
                    "action": "window_close"
                  }
                ]
              }
            }
          ]
        },
        {
          "uid": "behavior_297",
          "title": "Get interactions for worker",
          "is_disabled": false,
          "is_private": false,
          "priority": 50,
          "event": {
            "key": "event.interactions.get.worker",
            "label": "Conversation get interactions for worker",
            "params": {
              "listen_points": "record:*\r\n"
            }
          },
          "nodes": [
            {
              "type": "action",
              "title": "Return interaction by email",
              "status": "live",
              "params": {
                "actions": [
                  {
                    "action": "return_interaction",
                    "behavior_id": "{{{uid.behavior_298}}}",
                    "name": "Remind me about this by email",
                    "interaction": "reminder.add",
                    "interaction_params_json": "{% set json = {} %}\r\n{% set json = dict_set(json, 'record-context', point_params._context) %}\r\n{% set json = dict_set(json, 'record-id', point_params.id) %}\r\n{% set json = dict_set(json, 'remind-method', 'email') %}\r\n{{json|json_encode|json_pretty}}"
                  }
                ]
              }
            },
            {
              "type": "action",
              "title": "Return interactions by notification",
              "status": "live",
              "params": {
                "actions": [
                  {
                    "action": "return_interaction",
                    "behavior_id": "{{{uid.behavior_298}}}",
                    "name": "Remind me about this by notification",
                    "interaction": "reminder.add",
                    "interaction_params_json": "{% set json = {} %}\r\n{% set json = dict_set(json, 'record-context', point_params._context) %}\r\n{% set json = dict_set(json, 'record-id', point_params.id) %}\r\n{% set json = dict_set(json, 'remind-method', 'notification') %}\r\n{{json|json_encode|json_pretty}}"
                  }
                ]
              }
            },
            {
              "type": "switch",
              "title": "Have a mobile number for this worker?",
              "status": "disabled",
              "nodes": [
                {
                  "type": "outcome",
                  "title": "Yes",
                  "status": "live",
                  "params": {
                    "groups": [
                      {
                        "any": 0,
                        "conditions": [
                          {
                            "condition": "_custom_script",
                            "tpl": "{{worker_mobile}}",
                            "oper": "!is",
                            "value": ""
                          }
                        ]
                      }
                    ]
                  },
                  "nodes": [
                    {
                      "type": "action",
                      "title": "Return interaction by SMS",
                      "status": "disabled",
                      "params": {
                        "actions": [
                          {
                            "action": "return_interaction",
                            "behavior_id": "{{{uid.behavior_298}}}",
                            "name": "Remind me about this by text message",
                            "interaction": "reminder.add",
                            "interaction_params_json": "{% set json = {} %}\r\n{% set json = dict_set(json, 'record-context', point_params._context) %}\r\n{% set json = dict_set(json, 'record-id', point_params.id) %}\r\n{% set json = dict_set(json, 'remind-method', 'text message') %}\r\n{{json|json_encode|json_pretty}}"
                          }
                        ]
                      }
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "uid": "behavior_298",
          "title": "Handle interaction with worker",
          "is_disabled": false,
          "is_private": false,
          "priority": 50,
          "event": {
            "key": "event.interaction.chat.worker",
            "label": "Conversation handle interaction with worker"
          },
          "nodes": [
            {
              "type": "switch",
              "title": "Interaction:",
              "status": "live",
              "nodes": [
                {
                  "type": "outcome",
                  "title": "reminder.add",
                  "status": "live",
                  "params": {
                    "groups": [
                      {
                        "any": 0,
                        "conditions": [
                          {
                            "condition": "interaction",
                            "oper": "is",
                            "value": "reminder.add"
                          }
                        ]
                      }
                    ]
                  },
                  "nodes": [
                    {
                      "type": "action",
                      "title": "Start conversational behavior",
                      "status": "live",
                      "params": {
                        "actions": [
                          {
                            "action": "switch_behavior",
                            "return": "0",
                            "behavior_id": "{{{uid.behavior_299}}}",
                            "var_record_context": "{{interaction_params['record-context']}}",
                            "var_record_id": "{{interaction_params['record-id']}}",
                            "var_remind_method": "{{interaction_params['remind-method']}}",
                            "var": "_behavior"
                          }
                        ]
                      }
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "uid": "behavior_311",
          "title": "List reminders",
          "is_disabled": false,
          "is_private": true,
          "priority": 50,
          "event": {
            "key": "event.macro.bot",
            "label": "Custom behavior on bot"
          },
          "variables": {
            "var_reminders": {
              "key": "var_reminders",
              "label": "Reminders",
              "type": "ctx_cerberusweb.contexts.reminder",
              "is_private": "1",
              "params": [

              ]
            }
          },
          "nodes": [
            {
              "type": "action",
              "title": "Find reminders",
              "status": "live",
              "params": {
                "actions": [
                  {
                    "action": "var_reminders",
                    "quick_search": "",
                    "limit": "",
                    "limit_count": "10",
                    "mode": "add",
                    "worklist_model": null
                  }
                ]
              }
            }
          ]
        },
        {
          "uid": "behavior_307",
          "title": "Remind by email",
          "is_disabled": false,
          "is_private": false,
          "priority": 50,
          "event": {
            "key": "event.macro.reminder",
            "label": "Custom behavior on reminder"
          },
          "nodes": [
            {
              "type": "action",
              "title": "Send email",
              "status": "live",
              "params": {
                "actions": [
                  {
                    "action": "send_email",
                    "from_address_id": "162",
                    "to": "{{reminder_worker_address_address}}",
                    "cc": "",
                    "bcc": "",
                    "subject": "[Cerb] Reminder: {{reminder_name}}",
                    "html_template_id": "",
                    "format": "",
                    "content": "{{reminder_record_url}}",
                    "headers": "X-Precedence: Bulk",
                    "run_in_simulator": "0"
                  }
                ]
              }
            }
          ]
        },
        {
          "uid": "behavior_308",
          "title": "Remind by notification",
          "is_disabled": false,
          "is_private": false,
          "priority": 50,
          "event": {
            "key": "event.macro.reminder",
            "label": "Custom behavior on reminder"
          },
          "nodes": [
            {
              "type": "action",
              "title": "Create notification",
              "status": "live",
              "params": {
                "actions": [
                  {
                    "action": "create_notification",
                    "on": "reminder_id",
                    "url": "",
                    "content": "Reminder: {{reminder_name}}",
                    "notify_worker_id": [
                      "reminder_worker_id"
                    ]
                  }
                ]
              }
            }
          ]
        },
        {
          "uid": "behavior_309",
          "title": "Remind by proactive bot interaction",
          "is_disabled": false,
          "is_private": false,
          "priority": 50,
          "event": {
            "key": "event.macro.reminder",
            "label": "Custom behavior on reminder"
          },
          "nodes": [
            {
              "type": "action",
              "title": "Create bot interaction",
              "status": "live",
              "params": {
                "actions": [
                  {
                    "action": "core.bot.action.interaction_proactive.schedule",
                    "on": "reminder_worker_id",
                    "behavior_id": "{{{uid.behavior_298}}}",
                    "interaction": "reminder",
                    "interaction_params_json": "",
                    "expires": "",
                    "run_in_simulator": "0"
                  }
                ]
              }
            }
          ]
        },
        {
          "uid": "behavior_306",
          "title": "Remind by SMS",
          "is_disabled": false,
          "is_private": false,
          "priority": 50,
          "event": {
            "key": "event.macro.reminder",
            "label": "Custom behavior on reminder"
          },
          "nodes": [
            {
              "type": "switch",
              "title": "Do we have a mobile #?",
              "status": "live",
              "nodes": [
                {
                  "type": "outcome",
                  "title": "Yes",
                  "status": "live",
                  "params": {
                    "groups": [
                      {
                        "any": 0,
                        "conditions": [
                          {
                            "condition": "reminder_worker_mobile",
                            "oper": "!is",
                            "value": ""
                          }
                        ]
                      }
                    ]
                  },
                  "nodes": [
                    {
                      "type": "action",
                      "title": "Send SMS via Twilio",
                      "status": "live",
                      "params": {
                        "actions": [
                          {
                            "action": "wgmtwilio.event.action.send_sms",
                            "connected_account_id": "17",
                            "from": "",
                            "phone": "{{reminder_worker_mobile}}",
                            "content": "[Cerb] {{reminder_name}} - {{reminder_record_url}}"
                          }
                        ]
                      }
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "uid": "behavior_310",
          "title": "Remind by webhook URL",
          "is_disabled": false,
          "is_private": false,
          "priority": 50,
          "event": {
            "key": "event.macro.reminder",
            "label": "Custom behavior on reminder"
          },
          "variables": {
            "var_url": {
              "key": "var_url",
              "label": "URL",
              "type": "S",
              "is_private": "0",
              "params": {
                "widget": "single"
              }
            }
          },
          "nodes": [
            {
              "type": "action",
              "title": "Send webhook to URL",
              "status": "live",
              "params": {
                "actions": [
                  {
                    "action": "core.va.action.http_request",
                    "http_verb": "post",
                    "http_url": "{{var_url}}",
                    "http_headers": "",
                    "http_body": "{% set json = {} %}\r\n{% set json = dict_set(json, 'reminder.id', reminder_id) %}\r\n{% set json = dict_set(json, 'reminder.name', reminder_name) %}\r\n{% set json = dict_set(json, 'reminder.at', reminder_remind_at) %}\r\n{% set json = dict_set(json, 'reminder.for.id', reminder_worker_id) %}\r\n{% set json = dict_set(json, 'reminder.for.label', reminder_worker__label) %}\r\n{% set json = dict_set(json, 'reminder.url', reminder_record_url) %}\r\n{{json|json_encode|json_pretty}}",
                    "auth": "",
                    "run_in_simulator": "0",
                    "response_placeholder": "_http_response"
                  }
                ]
              }
            }
          ]
        }
      ]
    }
  ]
}


You should see the following:

Using the bot

Open the interaction menu on a card or profile

Open up the card or profile page of any record.

Click on the Cerb icon in the toolbar to open the bot interaction menu.

Hover over Reminder Bot in the interaction menu to expand the submenu:

Click on Remind me about this by notification.

Have a quick chat with the bot

The bot asks when it should remind you:

You can enter either an absolute time (Jan 9 2019 08:00) or a relative time (5 minutes, 5pm, tomorrow 8am, next Friday noon).

Either way, the bot will convert your input into a properly formatted date:

Click the blue Send button.

The bot then asks what it should tell you when the reminder is due:

The bot confirms your reminder details:

When you click Yes to confirm, the bot creates the reminder for you.

The confirmation includes a link the new reminder’s card popup:

Verify the reminder on the record

The bot created a reminder record and linked it to the ticket we were looking it. It also configured the Remind by notification behavior to run on the reminder date.

On the ticket profile, we also see a link to the reminder:

Receive the reminder

In our example, we would receive the following notification in 5 minutes:

Clicking on the notification displays the card for the completed reminder:

If necessary, reschedule the reminder

Occasionally you’ll receive a reminder message that you can’t act on yet. You can easily edit the reminder from its card to reschedule it to run again in the future.

Listing reminders

You can list your future and past reminders from Search » Reminders:

Receiving other kinds of reminders

Reminders by email

Reminder Bot can also remind you through email. It uses the personal email address configured for your account.

Reminders by text message

If you enable the Twilio plugin, the bot can also remind you with text messages using the mobile number configured on your account.

Reminders by webhook

Reminder Bot also includes a behavior for sending a reminder to an arbitrary webhook URL as a JSON payload. You can use this when creating your own reminders, or when editing reminders the bot created for you.

Reminders by almost anything

You can create a new Custom behavior on reminder behavior to do almost anything you can think of with a reminder.