Testing Flows
Everything you need to know to start testing your flow.

Overview

Buildable makes it easy to test your Flows using the playground. Continue reading to find out what the playground is, and how you can use it to debug a flow!

Understanding the playground

When you're done developing your Flow, you can easily test it in-browser using the Playground. To open the Playground in your canvas, simply press the play button on the upper right-hand corner.
Opening the Playground
From the Playground, you can:
  1. 1.
    Set the flow’s method (GET, POST, PUT, PATCH, or DELETE)
  2. 2.
    Select the environment to test in (Development or Production)
  3. 3.
    Add / separated params to test with (Up to 20 params)
  4. 4.
    Set the headers to test with
  5. 5.
    Set the body to test with
  6. 6.
    View a summary of your flow when executed (response, errors, and statistics)
Once you’ve configured all the settings needed to test your flow, you can press the Run button (located on the support right-hand side of the playground) to execute your flow.

Debugging a flow

Once you’ve executed your flow, you’ll notice that a response object is populated in the Preview section below. Let’s go over this object.
Debugging a Flow
  • $session
    The $session key is a unique identifier string that is generated every time a request is made to your flow. It’s not accessible from anywhere in your flow.
  • $env
    The environment that you’re testing in. This can either be "development" or "production".
  • $trigger
    • method- The request method (GET, POST, PUT, PATCH, or DELETE).
    • headers - The request headers.
    • params
      • env - The environment that you’re testing in.
      • flowPointer - Your flow’s unique slug.
      • p0pN - Params passed in via the URL. Each param will have the property name pN, where N = the param’s position in the URL.
    • query
      • Query data passed via the URL.
    • body - Data passed to the body. That this will not be parsed if the request method is GET.
  • $nodeLogs
    Here you will find the logs made in each of your nodes. Buildable gives you access to console.log, which is used to log text values and console.dir, which is used for logging objects and arrays.
  • $nodeInput
    An object of objects, containing the input data sent to each node.
  • $nodeOutput
    This object contains a child object for each node in your flow. Each child object will have the name of its corresponding node the value returned from that node.
    The value of a node output will be set to NULL if:
    • No value is returned from a node
    • There is an error in that node
    • The node has been paused
  • $nodeErrors
    All errors thrown are caught here. This object will contain a child object for each node that has an error. You will find a message property with an error message, along with any other relevant error information in the data property.
    If your flow has no errors, this should be set to an empty object.
  • $response
    The flow’s response. This is the only object with properties accessible outside of Buildable. To learn more about the response, read about the trigger.
  • $stats
    Here you will find information about the performance of your flow.
    • calledAt - When the flow was called
    • doneAt - When the flow finished executing
    • elapsedTime - Time taken in milliseconds to execute the flow (Difference between calledAt and doneAt)
    The above fields are also available for each individual node.

Pausing a Node

When testing a Flow, you can pause a Node by hovering over it and pressing the pause button. This will tell Buildable to skip over executing that Node when the Flow is triggered.
Pausing a Node