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:
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:
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

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¶
- Choose a Trigger - How should the workflow start?
- Add Actions - What should happen when triggered?
- Connect Tasks - Link tasks in the order they should run
- Test - Verify it works as expected
- 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:
1. Flattened Fields (Recommended for Most Cases)¶
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:
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.
-
Receive incoming data from external applications via HTTP POST requests.
Difficulty: Beginner · Setup: 5 min
-
Trigger workflows on a schedule (hourly, daily, weekly, monthly, custom cron).
Difficulty: Beginner · Setup: 2 min
-
Capture data when forms are submitted on your website.
Difficulty: Beginner · Setup: 10 min
-
Start workflows when emails arrive matching specific criteria.
Difficulty: Intermediate · Setup: 15 min
-
Trigger workflows when CRM contacts are created, updated, or tagged.
Difficulty: Intermediate · Setup: 10 min
-
Trigger workflows based on dates in contact records (birthdays, renewals, anniversaries).
Difficulty: Intermediate · Setup: 10 min
-
Start workflows when phone calls connect through your call tracking system.
Difficulty: Intermediate · Setup: 20 min
-
Advanced call lifecycle tracking with multiple states (ringing, answered, completed, missed).
Difficulty: Advanced · Setup: 25 min
-
Parse and process leads from structured emails (Facebook Lead Ads, Google Ads, partners).
Difficulty: Intermediate · Setup: 15 min
-
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
-
Pause workflow execution for specified time or until specific date.
Difficulty: Beginner · Setup: 2 min
-
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
-
Standardize phone numbers to E.164 and display formats.
Difficulty: Beginner · Setup: 5 min
-
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
-
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
-
Parse, format, and manipulate dates with timezone support.
Difficulty: Beginner · Setup: 5 min
-
Send text messages for notifications, reminders, and alerts.
Difficulty: Beginner · Setup: 5 min
-
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
-
Get, add, or edit contact records and link them to clients.
Difficulty: Intermediate · Setup: 10 min
-
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
-
Fetch and search data from custom tables in your CRM.
Difficulty: Intermediate · Setup: 10 min
-
Dynamic lookups - match values against key-value pairs with fallback.
Difficulty: Beginner · Setup: 5 min
-
Randomly select one value from comma-separated list. Perfect for A/B testing.
Difficulty: Beginner · Setup: 3 min
-
Cycle sequentially through list with state persistence. Fair distribution guaranteed.
Difficulty: Intermediate · Setup: 5 min
-
Evaluate mathematical expressions with functions, operators, and conditionals.
Difficulty: Intermediate · Setup: 5 min
-
Generate cryptographic hashes (SHA-256/512, SHA-1, MD5) for integrity and signatures.
Difficulty: Intermediate · Setup: 5 min
-
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
-
Initiate two-legged phone calls connecting two parties with whisper messages.
Difficulty: Intermediate · Setup: 10 min
-
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
-
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
-
Official Meta WhatsApp Business Cloud API with OAuth, multi-WABA support, and template management.
Difficulty: Intermediate · Setup: 30 min
-
Ad performance analytics, GAQL queries, and offline conversion tracking with Google Ads API.
Difficulty: Advanced · Setup: 30 min
-
Campaign management and performance reporting across Facebook and Instagram ads.
Difficulty: Intermediate · Setup: 20 min
-
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.
Integration Tasks¶
Tasks that connect with external services.
-
Send marketing emails via Everlytic.
Difficulty: Intermediate · Setup: 15 min
-
Integrate with Sage accounting software.
Difficulty: Advanced · Setup: 30 min
-
Send WhatsApp messages via WATI.
Difficulty: Intermediate · Setup: 15 min
-
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¶
- Receiving Data: Webhook In, Website Form, Inbound Email, Facebook Lead Ads
- Time-Based Automation: Schedule, Client Date Trigger, Delay
- CRM & Contact Events: CRM Trigger, Client Date Trigger
- Phone & Call Tracking: Call Connect, Call Tracking
- Lead Capture: Form Submission, Facebook Lead Ads, Leads Mail
- Sending Notifications: Email, SMS, WATI
- API Integration: Webhook Out, Webhook Out
- Conditional Logic: If Statement, Switch
- Data Processing: Formatter, Regex, Table
By Difficulty¶
Beginner-Friendly¶
Start with these if you're new to automation:
Intermediate¶
Once you're comfortable with the basics:
- Inbound Email
- CRM Trigger
- Client Date Trigger
- Call Connect
- Leads Mail
- Facebook Lead Ads
- Webhook Out
- Loop
- Switch
- Regex
- Everlytic
- WATI
Advanced¶
For complex integrations:
- Call Tracking Trigger
- Sage
- Accounting
- Custom Code
- Advanced Regex patterns
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.