Introduction to Workflows

Basic concepts for understanding TimeZest's new workflow engine

Jason Langenauer avatar
Written by Jason Langenauer
Updated over a week ago

TimeZest's new workflow engine brings a completely new way of operating to TimeZest, with far more configurability, and improved visibility into what TimeZest is doing. This article introduces the basic concepts of workflows, so you can understand what TimeZest is doing, and how to make it work for your business.

A quick note, however: we've put a lot of work into preserving TimeZest's existing interface so that it operates seamlessly with the workflow engine. If you don't wish to use these new features, then you can continue using TimeZest largely how you always were, and your staff and clients will not see any differences.

Triggers and Actions

The two fundamental units of workflows are triggers, which represent something that has happened, and actions, which are operations TimeZest can perform. For example, here's the default workflow that runs when a technician asks a client to select a time from the TimeZest Pod in ConnectWise Manage:

This workflow is exactly what TimeZest already does when someone asks a client to schedule from the TimeZest Pod. The difference is these actions can be individually configured, added to, or even removed to exactly configure TimeZest.

Classic Appointment Types and Workflows

Workflows like the above are associated with a particular appointment type, so you can have different workflows that do different things for different appointments. Almost everything that happens in the scheduling lifecycle is now controlled by workflows.

Appointment Types in TimeZest now can be edited in one of two modes. The first mode, which we call classic mode, is the existing interface that you're familiar with. In this mode, TimeZest automatically manages the workflow, and translates the existing appointment type configuration into a workflow that operates as TimeZest always has. However, because TimeZest can't apply the configuration to arbitrarily changed workflow, it's not possible to directly edit the workflows in this mode - TimeZest manages it all for you. The workflow is visible, though read-only, in the "Workflow" tab.

In workflow mode, you can edit the workflows directly - adding and deleting actions, changing the configuration options of the actions, and building processes that exactly match your business. In this mode, the old interface is no longer displayed.

An appointment type in classic mode can be switched to workflow mode, but it's not possible to switch an appointment type back.


All TimeZest accounts support 7 fundamental triggers:

  • When a client schedules an appointment.

  • When a client reschedules their appointment.

  • When a client cancels their appointment.

  • When a technician cancels an appointment.

  • When a configurable amount of time has passed without the client scheduling an appointment.

  • A configurable period of time before the scheduled start time of an appointment.

  • A configurable period of time after the scheduled end time of an appointment.

If you use TimeZest with ConnectWise Manage, you'll see two additional triggers:

  • When an appointment is requested from the TimeZest Pod in ConnectWise Manage.

  • When a scheduling URL is generated from the TimeZest Pod in ConnectWise Manage.

If you use TimeZest with Autotask, you'll see these two additional triggers:

  • When an appointment is requested from the TimeZest Insight in Autotask.

  • When a scheduling URL is generated from the TimeZest Insight in Autotask.


The actions available to a particular TimeZest account depend on the integration(s) that have been connected. As the list is rather long, we've put it in a separate article.

TimeZest is able to automatically determine the correct order to execute actions, based on whether one action requires the output of another as a prerequisite. For example, if a "Send Email" action uses an online meeting URL in its email, TimeZest will know to run the "Create Zoom Meeting" action that produces that URL before it.

Did this answer your question?