Learn how to create use the functions editor to create reusable logic across a workspace.
As of r338, Functions is in Production Early Access. To request access, contact your Customer Success manager.
Learn more in the Community thread here.
The Functions editor is a visual editor where you can build a function’s sequential logic.
If you're new to using functions, read the feature overview here.
Create a function
To enter the Functions Editor, click + Create on the Functions Page.
To edit an existing function, click on one from the list and then select Edit.
Editor overview
The diagram below highlights each area of the functions editor.

Inputs and Outputs panel
The Inputs and Outputs panel lets you create and view inputs and outputs related to the function. Inputs and outputs pass data in a function.
To add an input or output, click + in the top right of each section and select the date type.

To edit, duplicate, or delete an input or output, click the three-dot menu.

In the above image, the input is italicized because it is not in use.
Once an input is used in the function logic, you can select Where used to see the logic blocks that use it. Click the block name to open the configuration in the details pane.

You cannot delete an input that is used in the function.
Assets panel
The Assets panel lets you create and view variables related to the function.
To create a new variable, click + next to Variables.
A new variable will appear under Unused variables until it is used in a logic block.

Canvas
The canvas is a visual editor where you add logic to the function. The arrows between logic blocks show the consecutive steps in the function.
To build a function, hover over the line between two blocks and click +. Then, select an action or control flow from the menu.

To rearrange the flow, click and drag a block to a different arrow.

Use the navigation controls or your mouse/trackpad to zoom in and out of the canvas.
Logic blocks
Call
Functions begin with a Call, the event that references the function.
Inputs must be configured in the function call logic.
Return
Functions end with a Return, the termination of the function execution.
Outputs must be configured in the return logic.
Action
An action block can retrieve an existing table record, manipulate data, or run a connector function.
Decision
Decision blocks are conditional logic that always have two paths–”yes” and “no”.

Loop
Loops repeatedly execute for a configured list of items. The logic of a loop runs for each item in the list until all items have completed.
Details pane
The details pane is a reactive configuration panel for viewing and editing function logic blocks. Select a block in the canvas to open its details.

Test
Click Test in the top right corner to test a function.

If the function has inputs, you must enter a value for each input before testing.
A function test executes in real time and will affect production data.
For functions that run connectors, you can select the environment in the Test modal. The default environment is Development.
Edit
To edit a function, navigate to the Functions page. Hover over a function and click the Edit on the right.
Functions are not individually published. Any changes to a function are applied in the development version of an app that uses the function. The function publishes with each app version.
Learn more about function versions here.
Did you find what you were looking for?
You can also head to community.tulip.co to post your question or see if others have solved a similar topic!
