You may know of workflows, or automations in agileBase. These are automatic tasks that run in the background, to do things like send emails from the system, generate PDF documents or create/update records.
Due for release tomorrow is a new feature that leverages the workflow engine to massively increase the power of the user interface.
In short, you can now create workflow actions that can be run ‘manually’, from buttons in the user interface, rather than automatically in the background. Furthermore, you can chain actions together, to make multi-step workflows that run at the click of a button.
An example is the ‘print labels’ button here.
Each step in the workflow can do one of these tasks:
- create new records with specified values
- edit values in existing records
- remove records (if there are no dependencies)
- lock records to prevent further editing
- generate PDF files from data in the system, based on a template
- send emails, merging in data from the system
- send data to a third party calendar, e.g. Google calendar or Office 365
- push data to a custom third party system using the API
So for example, if your system receives customer orders that need to be produced on the factory floor, you can create an automation that takes a snapshot of all the orders so far and generates production sheets for the quantities required. It can then be run multiple times a day on demand to pick up new orders.
Developers commonly wish to have ways of manually interacting with third party applications, e.g. to send data to a custom app for processing, this should be very useful for them too.
To set up a button, first create a workflow as normal, using the ‘workflow’ button in a view’s ‘manage’ tab.
For the frequency, rather than say ‘run workflows every 10 minutes’, select ‘manually’.
Note: to chain workflows together, select a workflow name under ‘chain workflow’. That workflow will run as soon as the first completes. You can chain as many as you like together. Remember to set frequency to ‘manual’ for all of them.
Finally, create a button. This is simply a matter of selecting a view where you want the button to appear. When the user clicks that view in a tile, the button will appear above.
In the manage tab for that view, under ‘chain workflow’, choose the workflow view that should be run (the start of the chain if there’s more than one in the chain)