JustPaid Workflows
Blocks

Blocks

The building components of your billing automation workflows

Blocks are the building components you connect together to create workflows. Each block handles a specific task -- from calling the Stripe API to running AI-powered data extraction or branching logic based on invoice amounts.

JustPaid Workflow Studio includes 29 blocks organized into 7 categories.

Block Categories

Triggers (3 blocks)

Triggers define when a workflow executes. Every workflow needs at least one trigger.

  • Webhook Trigger -- Receive events from external systems (Stripe, Salesforce, custom)
  • Schedule Trigger -- Run on a cron schedule (daily, weekly, custom)
  • Event Trigger -- React to platform events (Salesforce CDC, HubSpot property changes, Slack messages)

Integrations (16 blocks)

Integration blocks connect to external services. Each requires an OAuth or API key connection.

Payments:

  • Stripe -- Invoices, payments, subscriptions, customers

CRM:

  • Salesforce -- Records, queries, platform events
  • HubSpot -- Contacts, deals, companies, tickets
  • Attio -- Records, lists, notes

Accounting:

  • QuickBooks -- Invoices, payments, journal entries
  • NetSuite -- Records, transactions, saved searches
  • Xero -- Invoices, contacts, bank transactions
  • Sage Intacct -- GL, accounts payable, accounts receivable
  • Rillet -- Revenue recognition, deferred revenue

Communication:

  • Slack -- Send messages, post to channels, event triggers
  • Gmail -- Send emails, search inbox, manage drafts
  • Outlook -- Send and read emails
  • Email -- Generic email via SMTP or Resend

Documents:

AI (1 block)

  • Agent -- Connect to LLMs (Claude, GPT-4o) for text processing, data extraction, classification, and tool use

Control Flow (3 blocks)

Control flow blocks manage execution paths within your workflow.

  • Condition -- Branch based on boolean expressions (e.g., amount > 1000)
  • Loop -- Iterate over collections (e.g., process each line item)
  • Parallel -- Execute multiple paths concurrently

Actions (1 block)

  • Stagehand -- Browser automation: navigate portals, download reports, fill forms using AI-driven browser control

Data (2 blocks)

  • Transform -- Map and reshape data between systems
  • Code -- Run custom JavaScript in a sandboxed environment

Utility (3 blocks)

  • Wait -- Pause execution for a specified duration
  • Approval -- Human-in-the-loop: pause for manual approval before continuing
  • Sub-workflow -- Call another workflow as a step

How Blocks Work

Each block has three components:

  1. Inputs -- Data coming from upstream blocks or the trigger payload
  2. Configuration -- Settings that control behavior (API action, conditions, prompts)
  3. Outputs -- Data produced for downstream blocks to consume

Blocks are connected by edges that define data flow. The execution engine builds a directed acyclic graph (DAG) from your connections and runs blocks in dependency order -- independent blocks execute concurrently automatically.

Common Patterns

Sequential Processing

Chain blocks where each processes the output of the previous one:

Webhook Trigger -> Transform (map payload) -> Stripe (create invoice) -> Slack (notify)

Conditional Branching

Use Condition blocks to route based on data:

Webhook -> Condition (amount > 1000?)
              -> Yes: Approval -> Stripe (create invoice)
              -> No: Stripe (create invoice)

Parallel Execution

Run independent tasks concurrently:

Stripe (payment received) -> Parallel
                                -> QuickBooks (record payment)
                                -> Slack (notify finance)
                                -> Gmail (send receipt)

Loop Processing

Iterate over collections:

Salesforce (get line items) -> Loop (for each item)
                                 -> Stripe (create invoice line)

Block Configuration

All blocks share common configuration options:

OptionDescription
NameHuman-readable label displayed on the canvas
Error HandlingStrategy: fail, continue, or retry with backoff
TimeoutMaximum execution time before the step is killed
Retry ConfigMax attempts, initial delay, backoff multiplier

Additionally, each block type has specific configuration. See individual block documentation for details.

Frequently Asked Questions

On this page