Skip to content

BaseCloud Tasks

Tasks are the building blocks of your automation workflows. Each task performs a specific function, and by connecting tasks together, you create powerful automated processes.

Task Types: Triggers vs Actions

Trigger Tasks

Trigger tasks START your workflows. They listen for events and initiate workflow execution.

Every workflow must begin with exactly one trigger task.

Common Trigger Tasks: - Webhook In - Starts when external service sends data - Timer Trigger - Starts at specific times/intervals - Website Form - Starts when website form is submitted - Inbound Email - Starts when email arrives - CRM Trigger - Starts when contact data changes - Call Connect Trigger - Starts when phone call occurs

How They Work:

Event Occurs → Trigger Task Activates → Rest of Workflow Runs

Example: A customer submits a contact form → Website Form trigger starts → Send welcome email → Create CRM record → Notify sales team

Action Tasks

Action tasks DO things in your workflow. They execute operations, send data, make decisions, and transform information.

You can have multiple action tasks in a workflow, running in sequence or parallel.

Common Action Tasks: - Email - Send emails - Webhook Out - Call external APIs - If Statement - Make decisions - Delay - Wait before continuing - Match to Client - Find existing CRM records - Loop - Repeat actions for multiple items - Code - Run custom JavaScript - Variable - Store and manipulate data - Text Formatter - Transform data

How They Work:

Trigger → Action 1 → Action 2 → Action 3 → ...

Example Workflow: 1. Webhook In (Trigger) - Receives order data 2. Match to Client (Action) - Find existing customer record 3. If Statement (Action) - Check if VIP customer 4. Email (Action) - Send confirmation 5. Webhook Out (Action) - Update inventory system

Complete workflow showing trigger and action tasks

Key Differences

Aspect Trigger Tasks Action Tasks
Purpose Start workflows Perform operations
Quantity per Workflow Exactly 1 Multiple (unlimited)
Position Always first After trigger
Examples Webhook In, Schedule, CRM Trigger Email, Webhook Out, If Statement
Icon Color Green (typically) Blue/Purple (typically)
When They Run When event occurs After trigger activates

Building Your First Workflow

  1. Choose a Trigger - How should the workflow start?
  2. Add Actions - What should happen when triggered?
  3. Connect Tasks - Link tasks in the order they should run
  4. Test - Verify it works as expected
  5. Enable - Turn on the workflow for production

[SCREENSHOT NEEDED: Task picker dialog showing Trigger Tasks and Action Tasks categories]


Understanding Task Data: JSON vs Flattened

Every task in BaseCloud receives input data and produces output data. Understanding how to access this data is crucial for building effective workflows.

How Task Data Works

When a task runs, it receives data from previous tasks and produces output for subsequent tasks. BaseCloud provides two ways to access this data:

BaseCloud automatically flattens nested JSON structures for easy access using simple variable names.

Example Input JSON:

{
  "customer": {
    "name": "Jane Doe",
    "email": "jane@example.com"
  },
  "order": {
    "id": "ORD-5560",
    "total": 109.97
  },
  "items": [
    {"name": "Product A", "quantity": 2, "price": 29.99},
    {"name": "Product B", "quantity": 1, "price": 49.99}
  ]
}

Access as Flattened Fields:

{{task_46171_customer_name}}      → "Jane Doe"
{{task_46171_customer_email}}     → "jane@example.com"
{{task_46171_order_id}}           → "ORD-5560"
{{task_46171_order_total}}        → 109.97
{{task_46171_items_0_name}}       → "Product A"
{{task_46171_items_0_quantity}}   → 2
{{task_46171_items_1_name}}       → "Product B"

Why Use Flattened Fields?

  • Simple: Just use underscores instead of dots and brackets
  • Compatible: Works in all tasks and text fields
  • Clear: Easy to read and understand
  • Reliable: No syntax errors from brackets or quotes

2. JSON Notation (For Advanced Scenarios)

Access the original JSON structure directly when you need more control.

Same data, JSON notation:

{{task_46171.JSON.customer.name}}       → "Jane Doe"
{{task_46171.JSON.order.id}}            → "ORD-5560"
{{task_46171.JSON.items[0].name}}       → "Product A"
{{task_46171.JSON.items[1].price}}      → 49.99

When to Use JSON Notation?

  • Looping through arrays with unknown length
  • Accessing deeply nested structures dynamically
  • Working with complex data transformations
  • Building advanced conditional logic

Viewing Task Output

Every task shows both formats in the OUTPUT panel:

Flattened View:

task_46171_customer_name     Jane Doe
task_46171_customer_email    jane@example.com
task_46171_items_0_name      Product A
task_46171_items_1_name      Product B

JSON View:

{
  "customer": {
    "name": "Jane Doe",
    "email": "jane@example.com"
  },
  "items": [
    {"name": "Product A"},
    {"name": "Product B"}
  ]
}

Quick Reference

Access Pattern Flattened JSON Notation
Top-level field {{task_ID_fieldname}} {{task_ID.JSON.fieldname}}
Nested object {{task_ID_parent_child}} {{task_ID.JSON.parent.child}}
Array item (first) {{task_ID_items_0_name}} {{task_ID.JSON.items[0].name}}
Array item (second) {{task_ID_items_1_name}} {{task_ID.JSON.items[1].name}}

Common Status Fields

Every task also outputs these status fields:

  • {{task_ID_run}} - Whether the task succeeded (true/false)
  • {{task_ID_run_text}} - Status message describing what happened
  • {{task_ID_task_id}} - The task's unique identifier

Example: Building an Email

Using flattened fields in an Email task:

Subject:

Order {{task_46171_order_id}} Confirmation

Body:

Hi {{task_46171_customer_name}},

Thanks for your order! 

Order Details:
- Order #: {{task_46171_order_id}}
- Total: ${{task_46171_order_total}}

Items:
- {{task_46171_items_0_name}} (Qty: {{task_46171_items_0_quantity}})
- {{task_46171_items_1_name}} (Qty: {{task_46171_items_1_quantity}})

Thanks!

Pro Tip: Use the Variable Task

If you need to work with complex JSON, use a Variable task to extract and simplify the data first, then reference the cleaner output in subsequent tasks.


Trigger Tasks

Tasks that start your workflows based on events. Every workflow must begin with exactly one trigger task.

  • Webhook In

    Receive incoming data from external applications via HTTP POST requests.

    Difficulty: Beginner · Setup: 5 min

  • Schedule

    Trigger workflows on a schedule (hourly, daily, weekly, monthly, custom cron).

    Difficulty: Beginner · Setup: 2 min

  • Form Submission

    Capture data when forms are submitted on your website.

    Difficulty: Beginner · Setup: 10 min

  • Inbound Email

    Start workflows when emails arrive matching specific criteria.

    Difficulty: Intermediate · Setup: 15 min

  • CRM Trigger

    Trigger workflows when CRM contacts are created, updated, or tagged.

    Difficulty: Intermediate · Setup: 10 min

  • Client Date Trigger

    Trigger workflows based on dates in contact records (birthdays, renewals, anniversaries).

    Difficulty: Intermediate · Setup: 10 min

  • Call Connect Trigger

    Start workflows when phone calls connect through your call tracking system.

    Difficulty: Intermediate · Setup: 20 min

  • Call Tracking Trigger

    Advanced call lifecycle tracking with multiple states (ringing, answered, completed, missed).

    Difficulty: Advanced · Setup: 25 min

  • Leads Mail Trigger

    Parse and process leads from structured emails (Facebook Lead Ads, Google Ads, partners).

    Difficulty: Intermediate · Setup: 15 min

  • Facebook Lead Ads

    Capture leads directly from Facebook and Instagram Lead Ads campaigns.

    Difficulty: Intermediate · Setup: 20 min

Action Tasks

Tasks that perform operations in your workflow after the trigger starts execution.

  • Email ⭐ Most Used

    Send emails with dynamic content, attachments, and HTML formatting.

    Difficulty: Beginner · Setup: 5 min

  • Match to Client ⭐ Essential

    Find existing contacts or create new ones. Prevent duplicates automatically.

    Difficulty: Intermediate · Setup: 10 min

  • If Statement ⭐ Essential

    Make decisions and route workflows based on conditions.

    Difficulty: Beginner · Setup: 5 min

  • Edit Client ⭐ High Usage

    Update contact fields, manage tags, and append notes.

    Difficulty: Intermediate · Setup: 10 min

  • Delay

    Pause workflow execution for specified time or until specific date.

    Difficulty: Beginner · Setup: 2 min

  • Webhook Out

    Send Webhook Out requests to external APIs and webhooks.

    Difficulty: Intermediate · Setup: 10 min

  • MySQL Query ⭐ Power User

    Execute database queries for advanced data operations.

    Difficulty: Advanced · Setup: 15 min

  • Code ⭐ Power User

    Execute custom JavaScript for complex logic and calculations.

    Difficulty: Advanced · Setup: 5 min

  • Loop ⭐ High Value

    Iterate through arrays and process multiple items.

    Difficulty: Intermediate · Setup: 10 min

  • Google Sheets ⭐ Popular

    Read and write data to Google Sheets spreadsheets.

    Difficulty: Intermediate · Setup: 15 min

  • Phone Formatter

    Standardize phone numbers to E.164 and display formats.

    Difficulty: Beginner · Setup: 5 min

  • Variable

    Store temporary data for use later in the workflow.

    Difficulty: Beginner · Setup: 2 min

  • AI Prompt ⭐ Advanced

    Use AI to analyze, generate, classify, or extract information.

    Difficulty: Advanced · Setup: 10 min

  • Formatter

    Transform data formats: dates, numbers, strings, case conversion.

    Difficulty: Beginner · Setup: 5 min

  • Pattern Regex ⭐ Power User

    Extract, validate, or replace patterns using regular expressions.

    Difficulty: Advanced · Setup: 15 min

  • PDF ⭐ Popular

    Generate PDF documents from templates with dynamic data.

    Difficulty: Intermediate · Setup: 20 min

  • Date Formatter

    Parse, format, and manipulate dates with timezone support.

    Difficulty: Beginner · Setup: 5 min

  • SMS

    Send text messages for notifications, reminders, and alerts.

    Difficulty: Beginner · Setup: 5 min

  • Coalesce

    Return first non-empty value from a prioritized list with fallbacks.

    Difficulty: Beginner · Setup: 3 min

  • New Client ⭐ Core CRM

    Create new client (company) records with optional primary contact.

    Difficulty: Intermediate · Setup: 10 min

  • Contact

    Get, add, or edit contact records and link them to clients.

    Difficulty: Intermediate · Setup: 10 min

  • Merge Data

    Consolidate parent task outputs into clean, named variables.

    Difficulty: Intermediate · Setup: 5 min

  • Workflow Note ⭐ Core CRM

    Create or fetch CRM tasks, activities, and communications.

    Difficulty: Advanced · Setup: 15 min

  • Table

    Fetch and search data from custom tables in your CRM.

    Difficulty: Intermediate · Setup: 10 min

  • Key Match

    Dynamic lookups - match values against key-value pairs with fallback.

    Difficulty: Beginner · Setup: 5 min

  • Random

    Randomly select one value from comma-separated list. Perfect for A/B testing.

    Difficulty: Beginner · Setup: 3 min

  • Round Robin

    Cycle sequentially through list with state persistence. Fair distribution guaranteed.

    Difficulty: Intermediate · Setup: 5 min

  • Math Formula

    Evaluate mathematical expressions with functions, operators, and conditionals.

    Difficulty: Intermediate · Setup: 5 min

  • Hash

    Generate cryptographic hashes (SHA-256/512, SHA-1, MD5) for integrity and signatures.

    Difficulty: Intermediate · Setup: 5 min

  • Find Replace

    Multiple find-and-replace operations for text cleaning and normalization.

    Difficulty: Beginner · Setup: 5 min

  • Files ⭐ Power User

    Download files, organize into folders, and create directory structures.

    Difficulty: Advanced · Setup: 15 min

  • Call Connect

    Initiate two-legged phone calls connecting two parties with whisper messages.

    Difficulty: Intermediate · Setup: 10 min

  • Email Forwarder

    Forward incoming emails to recipients while preserving attachments and content.

    Difficulty: Intermediate · Setup: 5 min

  • Paystack 💳

    Process payments for African markets (Nigeria, Ghana, SA, Kenya) with stored payment methods or payment links.

    Difficulty: Intermediate · Setup: 15 min

  • Stripe 💳

    Global payment processing with 135+ currencies, stored payment methods, and hosted payment pages.

    Difficulty: Intermediate · Setup: 15 min

  • BaseCloud Accounting 🧾

    Internal accounting with quotes, invoices, PDF generation, payment links, and tracking categories.

    Difficulty: Advanced · Setup: 30 min

  • Sage 🧾

    Integrate with Sage One accounting for South African businesses - quotes, invoices, and customer management.

    Difficulty: Intermediate · Setup: 20 min

  • Xero 🧾

    OAuth-authenticated Xero integration with multi-organization support, contacts, and invoicing.

    Difficulty: Advanced · Setup: 30 min

  • WATI 💬

    WhatsApp messaging via WATI platform with templates, session messages, media handling, and contact sync.

    Difficulty: Intermediate · Setup: 15 min

  • WhatsApp Business 💬

    Official Meta WhatsApp Business Cloud API with OAuth, multi-WABA support, and template management.

    Difficulty: Intermediate · Setup: 30 min

  • Google Ads 📊

    Ad performance analytics, GAQL queries, and offline conversion tracking with Google Ads API.

    Difficulty: Advanced · Setup: 30 min

  • Facebook Marketing 📊

    Campaign management and performance reporting across Facebook and Instagram ads.

    Difficulty: Intermediate · Setup: 20 min

  • Google Docs 📊

    Automated document creation, content extraction, and template management with Google Docs API.

    Difficulty: Intermediate · Setup: 15 min

Data Tasks

Tasks that transform and manipulate data.

  • Coalesce

    Return the first non-empty value from multiple fields.

    Difficulty: Beginner · Setup: 2 min

  • Table

    Work with tabular data and perform operations.

    Difficulty: Intermediate · Setup: 10 min

Integration Tasks

Tasks that connect with external services.

  • Everlytic

    Send marketing emails via Everlytic.

    Difficulty: Intermediate · Setup: 15 min

  • Sage

    Integrate with Sage accounting software.

    Difficulty: Advanced · Setup: 30 min

  • WATI

    Send WhatsApp messages via WATI.

    Difficulty: Intermediate · Setup: 15 min

  • Accounting

    Connect with accounting systems.

    Difficulty: Advanced · Setup: 20 min


Example: Complete Workflow

Here's how trigger and action tasks work together:

Scenario: Process new customer orders from website

graph LR
    A[Form Submission<br/>TRIGGER] --> B[Match to Client<br/>ACTION]
    B --> C[If Condition<br/>ACTION]
    C -->|New Customer| D[Email Welcome<br/>ACTION]
    C -->|Existing Customer| E[Email Thank You<br/>ACTION]
    D --> F[Webhook Out<br/>ACTION]
    E --> F
    F[Update Inventory]

Flow: 1. Form Submission (Trigger) - Customer submits order form 2. Match to Client (Action) - Find existing customer record 3. If Condition (Action) - Check if new or existing customer 4. Email (Action) - Send appropriate welcome or thank you email 5. Webhook Out (Action) - Update inventory system

[SCREENSHOT NEEDED: Actual workflow in BaseCloud showing this complete example with connected tasks]


Finding the Right Task

By Use Case

By Difficulty

Beginner-Friendly

Start with these if you're new to automation:

Intermediate

Once you're comfortable with the basics:

Advanced

For complex integrations:


Task Documentation Format

Each task documentation includes:

  • Overview - What the task does
  • Parameters - All configuration options
  • Examples - Real-world usage
  • Best Practices - Tips and recommendations
  • Troubleshooting - Common issues and solutions
  • Related Tasks - Similar or complementary tasks

Can't find what you need?

Check our Examples section for real-world workflow patterns, or contact support for help.