Workflow Automation

Throw away complex scripts and simplify your company's work and processes with our feature Workflow Automation.

This feature not only replaces and improves the old Notifications extension, but it also helps to replace your old scripts with a simple and effective solution for which you do not need any programmer but can do on your own.

In the Workflow Automation, you will work with two terms, and that is the "trigger" (the record is changed, deleted, exact date...) which will call a certain "action" (sending notification by email, creating a report, sending webhook action...).

Let's take a look at it together!

Use cases of Workflow Automation

In what specific cases can Workflow Automation help you?

  • Workflow for approval processes (for example: approval of orders, received or issued invoices)
  • Assigning tasks to individual employees
  • Automatic locking of a record after a certain state change (e.g. contract or invoicing closure)
  • Moving a candidate from the selection procedure to the staff,
    moving a business opportunity into a contract
  • Security incident reporting
  • Update your records at the certain time period

And many others...

How to use it?

  • Download the extension "Workflow Automation" into your application
  • Select the option "Add new record"

Add a new record and start using Workflow Automation

  • Now it is necessary to select which event will start the workflow, as we mentioned earlier, we will call it a "trigger".

Workflow Triggers

When the record changed

Do want to receive a notification/run script or anything else, when certain records are created, changed, or deleted? Choose the source table and select any condition mentioned.

How to set up the trigger - When the record changed

Time from table field

You use this trigger when you want to call an action before or after any important date you keep in your table (for example you want to receive the notification a week before an invoice is due)

In order to set up this trigger, you must choose the source table with the date field and timing (x minutes/hours/days/months before or after any selected date)

How to set up the trigger - When it's time 

At the scheduled time

You use this trigger when you want to call the action at the scheduled time period - Immediately, Daily, Weekly, or Monthly (for example you want an invoice to be automatically sent to the customer each month for services rendered)

In order to set up this trigger, you must choose the time period and the exact day and time for the execution.

How to set up the trigger - When it's time

  • Now it is time to set up the action by clicking on the option "Add action" under the trigger settings.

Custom button

The new Custom Button trigger starts your workflow with just a click, directly from any table. You can name the button as you wish and place it above any table in your application.

You can choose Button position (Menu or Popup) and add Icon. In Menu case you can choose Button visualisation (Full button or Just the Icon) and Background color too.

Position and visualisaton in table

Workflow Actions

Send email

Do you want to send a notification on email after a certain trigger?

Follow the simple steps below.

Add recipient e-mails for the notification

  • Enter an email address for the notification to the field "To". By clicking on the "+" button, you can enter:
    • the static email address
    • the email address from a certain field in your application
    • email of the users within the Role you select.

Add recipient e-mails menu

Under the "+" button you can insert an email to the copy/blind copy by clicking on "+Copy (CC)". 

  • Enter any subject to the "Subject" field.
  • Select the email template, which can be:
    • Standard system template
    • Custom email body with the standard template (frame)
    • Custom email body (classic email body without Tabidoo frame)

Standard system template in the notification email

Custom email body with the standard template (frame) in the notification email

  • Customize the email body - enter any text that can be easily edited by our designer which enables you to:
    • Edit the text - change the font type, size, color...
    • Insert link
    • Insert fields from tables by clicking on the "Fields" button

Customize the email body

How to dynamically attach an attachment to an email

Follow these steps:

  • in the Run script step before the Send email step use the function doo.workflow.attachment.addDynamicAttachment (see Intellisense hints)
  • you can add any file(s) converted to base64 or you can add an attachment(s) stored in Tabidoo (you must know the internal table name and fileId of the file and you must have access to this file)
  • then you can attach this file(s) to an email in the Send email step
  • dynamic attachments are stored in the doo.workflow.runningData object
  • you can remove attachments by calling doo.workflow.attachment.removeDynamicAttachment or doo.workflow.attachment.clearAllDynamicAttachments before adding attachments (see Intellisense hints)
  • pay attention to the Foreach loop step - make sure all previous attachments have been removed before sending the next email (dynamic attachments are automatically removed after sending in the Send Email step - if they are marked for sending, but rather call doo.workflow.attachment.clearAllDynamicAttachments before starting to add a dynamic attachment in each iteration of the Foreach loop)

Advanced TIP. In the static email it is possible to use a JavaScript variable calculated before. It should contains an array of strings (emails), one string or string with emails separated by semicolon. The variable must be in doo.workflow.runningData object. e, g, doo.workflow.runningData.customers. Just set that in the previous step and put it into static email field.

Send to Slack

Similar to Send email action, this action can send a message after record changed, or any other trigger.

Please, make sure you have a correct token and valid access for reading channels before you use the action.

Slack documentation

After you type a token to the field, you can select the channel from the list.

The message to Slack supports simple formatting. You can include fields from the record to the message - the same way as Email action.

Send to Slack action form

Send webhook action

The step enables you to call a webhook.

Send webhook action using Workflow Automation

  • Simply enter the webhook URL or API token

Run script

This action enables you to define a custom JavaScript code to be run. Do you want to make sure your script is valid? Click on the option "Validate script during typing".

Run script in Workflow Automation

Create a report

This step enables you to create and process a report from Tabidoo.

Create and process reports in Workflow Automation

  • Select source report (For more information about reporting, click HERE)
  • Enter the output file name
  • Select the report format from the following:
    • Portable Document Format (.pdf)
    • HyperText Markup Language (.html)
    • Microsoft Word (2007)
    • Microsoft Excel (2007)
    • Open Document Text (.odt)
    • Open Document Spreadsheet (.ods)
    • Comma Separated Values (.csv)

How to attach the report to the notification email

Follow these steps:

  • Firstly, add the "Create report" action and select the source report
  • Add the second action "Send email" by clicking on the "+" button and selecting the report from the "attachments".

How to attach the report to the notification email

Load external data 

This step allows load data from Tabidoo table or external data storage into a variable. That can be used for data import step or in JavaScript later.

The first thing to do is to select the Data source type. Depending on the type, different functionality follows:

Data source type

Data Source Types

Tabidoo Table

  • selection of application and table
  • with the possibility of entering a filter
  • renaming the data source

Controls for Tabidoo table


  • naming the data source
  • server name, database and credentials to create a sql connection string
  • choosing to load data from a stored procedure or table

Controls for SQL

Excel, CVS, JSON

  • naming the data source
  • choice of loading data from HTTP, FTP, SMB1 or SMB2
  • the Path of the selected server must be filled in, including the file name
  • credentials must be filled in for FTP, SMB1 and SMB2
  • Headers can be added for HTTP

Controls for FTP, SMB1 or SMB2

Add header for HTTP

Under Data source internal name text shows where the loaded data is stored in case of working with the data in JavaScript. A properties item is an array of objects with properties that correspond to the columns from the loaded file.

Property with loaded data

Map fields and save table

This step allows map columns and save data to Tabidoo table. You have to pick data source from one of previous Load external data step and destination table. You can choose import strategy, just add new record, just update record or simply append all data. You can switch off saving audit. Do not forget to load the structure to se the mapping part.

Map fields and save data.

After filling these items, you need to map the columns from the source to the destination table.

Column mapping

Workflow Interruption

If you want to enter any condition under which the workflow should be finished or the other way round, select this action.

Workflow interruption action

  • Choose whether the condition will stop or start the workflow, select:
    • The workflow is finished, when the condition is true
    • The workflow continues, when the condition is true
  • Add a field for the condition by clicking on "+Add field for filter"

An example:

I want to receive a notification email when the record of a certain table includes the dropdown value “Done”.

In the workflow interruption select the following - “The workflow continues, when the condition is true” and add a field for filter with the value “Done”.

Confirmation message box

This action is especially useful with the trigger Custom button. It can trigger any message after the button is pressed.

You are free to enter any text message and define the message box behaviour.

Afterwards, the following message box will appear after triggering the workflow automation:

Foreach loop

This is a pretty special action. It is about workflow flow. It enables you to run nested workflow for records from a table.

Use with filters. Otherwise the workflow iterates the whole table and you run out of API calls limit very quickly.

If the action is used together with the Custom button, the workflow is performed for all selected table records at once. 

Foreach action screen

How to disable the workflow?

If you want to just pause the workflow, select the option "Disabled" which is situated in the workflow settings next to the workflow name.  

Disable your Workflow easily

In case you want to stop the workflow permanently, simply delete it as you are used with any other record in Tabidoo.