In this section we will dive into the technical details of creating or modifying workflows, using pre-made or custom blocks.
We recommend that you review the Quick start and Best practices sections first to get an understanding of the process of setting up workflows and the terms involved in developing on Canvas.
About Datasource and order of execution
As you know, workflows are made up of blocks. These blocks will run in sequence, and will generally execute in a linear fashion from top to bottom - with data returned from the first block feeding into the second block, which in turn feeds into the third block, etc.
Data from a previous block is referred to as Datasource in the block script.
Each block will have settings to allow you to select the Datasource to feed into the block.
This means that it is possible to have cases where the actual order of execution is not top to bottom (for example if the third block has the first block set as Datasource).
Canvas builds a dependency graph and executes the blocks in the correct order, depending on how the blocks feed into each other, as specified in the Datasource settings.
Building with blocks
The process of developing workflows on Canvas primarily consists of:
Building with ready-made blocks
Modifying blocks
Creating new blocks
Building with ready-made blocks
Each supported application on Canvas comes with a library of ready-made blocks. These blocks can easily be added and reused in any project.
The blocks will often have configurable parameters, shown in the “Working Area” tab, which make them easy to configure without having to modify code.
(If you need additional blocks you can either create them yourself, as shown in this documentation, or contact ConnectMyApps for assistance.)
Modifying blocks
If you need to alter or extend block functionality, you can do this directly in the workflow editor.
Blocks are written in modern Javascript, and can be inspected, modified, and debugged directly in the browser:
Running blocks in the debugger
Creating new blocks
In Canvas, blocks are meant to be modular and single purpose. Although it is possible to run the whole integration in one monolithic mega-block, we instead recommend creating new, separate blocks as needed in keeping with this philosophy. See also the Best practices section.
If you want to add a new block to your workflow
Customized blocks, generic
Ready-made blocks (templates)
Drag-and-drop onto Canvas
Block settings
Block code under debug
Run in Chrome debug by pressing F12