Cascade Library
  • Introduction
    • Welcome to Cascade
    • Workspaces
  • Getting Started
    • Build Your First Workflow
    • Build Your First Data App
  • Workflows
    • Overview
      • Navigating the Canvas
      • Setting Up
      • Drag and Drop
      • Tools
    • Dynamic Workflows
    • Global Variables
    • Data Locker
    • Scheduling
    • Webhooks
    • Run Logs
    • Workflow Deployment
  • Integrations
    • Connecting Cascade to your database
    • Amazon S3
    • Azure Blob Storage
    • BigQuery
    • Google Sheets
    • MySQL
    • Postgres
    • Redshift
    • SQL Server
    • Snowflake
    • Tableau Server
  • Tools
    • Import
      • Import File
      • Import from Data Locker
      • Import from API
      • Import Sample Data
      • New Table
    • Clean
      • Validate Schema
      • Find/Replace
      • Text to Columns
      • Flatten Json
      • Sample
      • Standardize
      • Validate
    • Transform
      • Edit Columns
      • Select Columns
      • Filter
      • Sort
      • Pivot
      • Unpivot
      • Deduplicate
    • Merge
      • Append
      • Join
      • Multi Join
      • Fuzzy Join
    • Predictive Modeling
      • Build Model
      • Apply Model
      • Correlate
      • ARIMA Forecast
    • Flow
      • Conditional
    • Code
      • Python
      • SQL
    • Visualize
      • Chart
        • Bar
        • Line
        • Combo
        • Scatter
        • Histogram
        • Box
        • Pie
        • Area
        • Funnel
    • Publish
      • Publish to Data Locker
      • Publish via Email
      • Publish to URL
      • Embed
  • Functions & Expressions
    • Functions
      • Aggregate Functions
        • AVERAGE
        • CORR
        • COUNT
        • COUNTD
        • COUNTBY
        • COUNTIF
        • COUNTIFS
        • COVAR
        • COVARP
        • COVARS
        • MAX
        • MEDIAN
        • MIN
        • MAXBY
        • MINBY
        • PERCENTILE
        • STDEV
        • STDEVP
        • STDEVS
        • SUM
        • SUMBY
        • SUMIF
        • VAR
        • VARP
        • VARS
        • RUNNINGTOTALBY
          • SIGN
          • SIN
          • SQRT
          • SQUARE
          • TAN
          • ZN
      • Conversion Functions
        • TIMESTAMPTODATE
        • TODATE
        • TODECIMAL
        • TOINT
      • Date/Time Functions
        • DATEADD
        • DATEDIF
        • DATENAME
        • DATENORMALIZE
        • DATEPART
        • DATETRUNC
        • DAY
        • DAYS
        • HOUR
        • ISDATE
        • ISOWEEKDAY
        • ISOWEEK
        • ISOQUARTER
        • ISOYEAR
        • MAKEDATE
        • MAKEDATETIME
        • MINUTE
        • MONTH
        • NOW
        • QUARTER
        • SECOND
        • TODAY
        • WEEK
        • WEEKDAY
        • YEAR
      • Logical Functions
        • AND
        • BETWEEN
        • CASE
        • CHOOSE
        • CONTAINSWITHIN
        • IF
        • IFS
        • IIF
        • IN
        • IFNULL
        • ISBOOLEAN
        • ISDECIMAL
        • ISDURATION
        • ISINTEGER
        • ISNULL
        • ISNUMBER
        • ISSTRING
        • ISUNIQUE
        • NOT
        • NULL
        • OR
        • SWITCH
        • ALL
          • TOSTRING
        • ANY
      • Math Functions
        • ABS
        • ACOS
        • ASIN
        • ATAN
        • ATAN2
        • CEILING
        • COS
        • COT
        • COSEC
        • DEGREES
        • DIV
        • EVEN
        • EXPONENTIAL
        • FILLINFINITY
        • FLOOR
        • HAVERSINE
        • LOG
        • LN
        • ODD
        • MODULO
        • PERCENTILEOFVALUE
        • PERCENTILEVALUE
        • PI
        • POWER
        • RADIANS
        • RANDOM
        • ROUND
        • SEC
      • Table Functions
        • ENCODE
        • INDEX
        • INDEXBY
        • FILLNULL
        • FIRSTBY
        • GENERATEUNIQUEID
        • LASTBY
        • LOOKUP
        • MATCH
        • NTH
        • OFFSET
        • OFFSETBY
        • PREVIOUSVALUE
        • RANK
        • RANKBY
        • RECORDID
        • ROLLINGAVERAGE
        • ROW
        • RUNNINGAVERAGE
        • RUNNINGMAX
        • RUNNINGMIN
        • RUNNINGSTDEV
        • RUNNINGTOTAL
        • WINDOWAVERAGE
        • WINDOWMAX
        • WINDOWMIN
        • WINDOWCOUNT
        • WINDOWSUM
        • SEQUENCE
        • WINDOWMEDIAN
        • WINDOWSTDEV
        • WINDOWSTDEVP
        • WINDOWSTDEVS
        • WINDOWVAR
        • WINDOWVARP
        • WINDOWVARS
        • WINDOWCORR
        • WINDOWCOVAR
        • WINDOWCOVARP
        • WINDOWCOVARS
        • SMOOTHEDAVERAGE
      • Text Functions
        • ASCII
        • CHAR
        • CONCAT
        • CONTAINS
        • ENDSWITH
        • FIND
        • FINDNTH
        • ISEMPTY
        • JSONPARSE
        • LEFT
        • LENGTH
        • LOWER
        • LTRIM
        • MID
        • PROPER
        • RIGHT
        • RTRIM
        • SPACE
        • SPLIT
        • STARTSWITH
        • TRIM
        • SUBSTITUTE
        • UPPER
    • Building Expressions
      • Expression Operators
      • Guide to Window Functions
  • Cascade FAQs
    • Best Practices
      • 💬How to add a total row to a table
      • 💬How to leave comments on a workflow
      • 💬How to add new columns in the Edit Columns tool
      • 💬Setting up a New Table tool
      • 💬How to rename a tool
    • Knowledge Based
      • 💬How to change Data Types in Cascade
      • 💬How to remove columns from a table in Cascade
      • 💬How to rename columns in Cascade
      • 💬Understanding the Join options in the Cascade Join tool
      • 💬How to connect tools to each other
    • Import
      • 💬How to Import an Excel File into Cascade
      • 💬How to Import a CSV File into Cascade
      • 💬How to import a CSV file into the Data Locker
    • Functions and Expressions
      • 💬How to write an IN() statement with multiple variables
      • 💬How to Remove null Records with a Filter tool
      • 💬How to write an IF Statement in Cascade
      • 💬How to replace null values with 0
    • Troubleshooting
      • ⚠️What does it mean if my workflow won’t load?
      • ⚠️Why can’t I connect my tool to other tools?
      • ⚠️Why are there duplicate records after my Join tool?
  • Change Log
On this page
  • Why work in Draft mode?
  • How To
  • Collaboration and Deployment

Was this helpful?

  1. Workflows

Workflow Deployment

Edit your operationalized workflows by switching from Live to Draft mode

PreviousRun LogsNextConnecting Cascade to your database

Last updated 2 years ago

Was this helpful?

Cascade workflows are often used in operational, productionized ways. For example, your workflow may be scheduled to import and transform records from a live database, every night. This kind of automation makes it risky to edit or change a workflow, for fear of a pending schedule. To alleviate this anxiety, Cascade workflows can be placed into Draft mode or Live mode to suit the need.

In short, workflow deployment is version control for your operational workflows. It will allow you to tinker in Draft Mode. Then, when your workflow is perfect, you can deploy an updated version as you see fit.

Live Mode

The default setting for a new workflow, Live mode, will deploy changes as you make them.

If your workflow does not have triggers (Schedules, Webhooks) or dependent elements (Data Apps, Dynamic Workflows), we recommend working in Live mode.

Draft Mode

Put your workflow into Draft mode, by flipping the switch in your top-nav from Live to Draft. You are now working on a draft version of your workflow that is detached from your triggers and dependent elements.

When in Draft mode, deploy any updates or changes by clicking the "Deploy" button in the top-nav. Likewise, you can switch back to Live mode to deploy your workflow. This will point any triggers or dependent elements at the new, recently deployed version of the workflow.

If your workflow has Daily/Hourly Schedules or a connected Data App, you may want to work in Draft mode when you are editing or making updates.

Why work in Draft mode?

When initially building an operational workflow, you will most likely want to work in Live mode. In fact, we recommended working in Live mode right up until the moment you create a dependency on that workflow. Dependencies include Schedules, Webhooks, Data Apps, and Dynamic Workflows.

In short, if triggers or dependent elements rely on your workflow, you may be best off working in Draft mode. Here's a few examples of workflows that would call for Draft mode:

How To

Let's assume you've built a three step workflow: 1) it imports from an integration, then 2) transforms it, and finally 3) it publishes the results back to a database. Let's also assume you have added a schedule, triggering this workflow to run every day.

We'd like to make some edits to our transformation logic. However, we have partners looking at the published data and don't want to disrupt the previously scheduled workflow run.

Here's what you can do:

  • From the top nav, flip the switch from "Live" to "Draft". The canvas will load in Draft mode and a new "Deploy" button will appear in the top-nav.

    • Does it look like graph-paper? Good. You're in Draft mode.

    • Your schedule is now interacting with the previous version of the workflow

  • In Draft mode you are free to edit, update, revise. Let's imagine you add new transformation to the same workflow while you are in Draft mode.

    • When editing in Draft mode, your workflow should behave as it normally would. Add tools, run it, build a Data App... should be familiar.

  • Once you have made your updates, you are ready to deploy. Clicking the "Deploy" button will update your deployed version, which will connect to any triggers or dependent elements.

    • Triggers (Schedules, Webhooks) will now respond to the newly deployed version

    • Dependent elements (Data Apps, Dynamic Workflows) will now respond to the newly deployed version.

  • From here, you may choose to remain in Draft mode, deploying only when you are satisfied with changes and updates made.

  • Alternately, you may return to Live mode by flipping the switch in the top-nav to "Live".

Hint: When working in Draft mode you are responsible for your own deployment. If changes aren't taking affect, ask yourself... have I deployed recently?

Collaboration and Deployment

Teams working in Cascade can collaborate on the same workflow, adding tools side-by-side, in the same canvas. All collaborating team members must work within the same mode, either Draft or Live. When one team member switches deployment mode, other members will be notified and asked to switch modes accordingly.

Any configured triggers, like or , will interact with your most recent revision to the workflow.

Any dependent elements, like or , will interact with your most recent revision to the workflow

Configured triggers, or , will interact with a previously deployed version of the workflow.

Dependent elements, or , will interact with a previously deployed version of the workflow.

I have a , that runs in 15 minutes... but I need to update/edit it

This workflow runs when pinged by a , I don't know when it might be pinged... but I need to update/edit it

My workflow powers a that partner-users are expecting to see... but I need to update/edit it

This workflow is linked to another workflow, it is a , and other workflows depend on it... but I still need to update/edit it

This is an ideal way to treat an operational workflow.

in Live mode your changes are continuously deployed, which may have an unintended impact on triggers and dependent elements.

👍
⚠️
Schedules
Webhooks
Data Apps
Dynamic Workflows
Schedules
Webhooks
Data Apps
Dynamic Workflows
scheduled workflow
Webhook
Data App
Dynamic Workflow
Switch to Draft mode, edit your workflow without affecting schedules and data apps.
A hypothetical situation, user has a workflow that is triggered by a schedule.
In Draft mode, user makes edits, deploys their new version, then returns to Draft mode.