Basalt Shield
    STATUS.ONLINEBASALTCRM
    FEATURESAI AGENTSPRICING
    BASALT ECHOLOGIN
    GET STARTED
    Back to Developers

    Workflows & Automation

    BasaltCRM's automation layer spans visual workflows, AI-driven sequences, autonomous agents, and scheduled cron jobs. Build once, run continuously.

    FlowState

    Visual Node-Based Builder

    Drag-and-drop workflow editor powered by React Flow. Connect triggers, actions, and logic nodes to create complex automations without code.

    If/Else branching
    Delays & scheduling
    Multi-step sequences
    Execution logs & debugging

    Outreach Sequences

    Multi-Channel Campaigns

    Automated email, SMS, and task sequences with AI personalization. Build once, run at scale across your entire pipeline.

    AI-generated icebreakers
    Conditional branching
    Multi-step with delays
    Opens / clicks / replies tracking

    LeadGen Wizard

    Autonomous Prospecting

    AI agents autonomously discover, qualify, and stage prospects for human approval. Runs Basic (SERP) or Advanced (LLM Deep Research) modes.

    ICP-based targeting
    Global dedup & compliance
    Credit-based usage
    Human-in-the-loop staging

    BasaltECHO Agents

    AI Voice Automation

    Deploy AI voice agents for inbound support and outbound prospecting. Agents can book meetings, update CRM records, and route calls — all via webhooks.

    Real-time WebRTC streaming
    Calendar integration
    CRM context injection
    Webhook event pipeline

    FlowState Node Reference

    Every FlowState workflow is composed of three node types: Triggers (what starts the flow), Actions (what the system does), and Logic (conditional routing).

    Triggers

    New Lead Created
    Deal Stage Changed
    Form Submitted
    Task Overdue
    Email Opened
    Call Ended
    Meeting Booked

    Actions

    Send Email
    Send SMS
    Create Task
    Update Record Field
    Assign to Rep
    Push Notification
    Create Project
    Generate Invoice
    Call Webhook

    Logic

    If / Else Condition
    Delay (minutes / hours / days)
    Split Path
    Merge
    Loop
    Break

    Sequence Architecture

    Outreach sequences are multi-step, multi-channel campaigns that execute automatically on a schedule. Each step can be an email, SMS, manual task, or a configurable delay.

    // Sequence Step Schema { "sequence_id": "seq_abc", "steps": [ { "type": "email", "delay_days": 0, "template": "intro_email", "ai_personalization": true // AI writes unique icebreaker per lead }, { "type": "delay", "delay_days": 3 // Wait 3 days before next step }, { "type": "email", "delay_days": 0, "template": "follow_up_1", "condition": "!opened" // Only send if previous was not opened }, { "type": "task", "delay_days": 2, "description": "Call prospect — high intent signal detected" }, { "type": "sms", "delay_days": 1, "message": "Hi {{firstName}}, quick follow up on our conversation..." } ] }

    Outreach Status Pipeline

    IDLE→PENDING→SENT→OPENED→MEETING_LINK_CLICKED→MEETING_BOOKED→CLOSED→CONVERTED

    Scheduled Jobs (Cron)

    Background jobs run on a schedule to process queued operations. These are implemented as serverless API routes triggered by external schedulers (EventBridge, Vercel Cron, or Jenkins).

    Every 1 min
    /api/cron/outreach

    Processes pending outreach steps — sends scheduled emails, SMS, and creates tasks.

    Daily
    /api/cron/credits

    Resets monthly credit quotas and checks for expired trial accounts.

    Hourly
    /api/cron/enrichment

    Re-crawls stale lead candidate data older than 90 days.

    Every 5 min
    /api/cron/sync

    Syncs email delivery events from Resend/SES and updates outreach statuses.

    Building Custom Automations

    Extend BasaltCRM's automation layer by combining API endpoints, webhooks, and FlowState nodes. Here's a common pattern for a post-call follow-up automation:

    // Example: Post-Call Follow-Up Automation // // Webhook: BasaltECHO call_ended event // → FlowState Trigger: "Call Ended" // → Logic: If durationSec > 120 (meaningful call) // → Action: Create follow-up Task (2 day delay) // → Action: Send personalized email recap // → Action: Move lead to "Engage_Human" stage // → Else (short call / no answer) // → Action: Schedule retry call (next day) // → Action: Send SMS with meeting link POST /api/crm/workflows { "name": "Post-Call Follow-Up", "trigger": "webhook:call_ended", "nodes": [ { "type": "condition", "field": "durationSec", "op": ">", "value": 120 }, { "type": "action", "action": "create_task", "delay": "2d" }, { "type": "action", "action": "send_email", "template": "call_recap" }, { "type": "action", "action": "update_field", "field": "pipeline_stage", "value": "Engage_Human" } ] }

    Ready to automate?

    Start building workflows in the FlowState visual editor or integrate programmatically via the API.

    Open FlowState API Reference
    Basalt Shield
    BASALTCRM

    AI-POWERED RELATIONSHIPS

    Your Business. Supercharged. Empowering companies with autonomous AI agents that drive revenue and customer satisfaction.

    [email protected]

    NAVIGATE

    • Home
    • Features
    • AI Agents
    • Pricing
    • Developers

    ECOSYSTEM

    • BasaltHQ
    • BasaltSURGE
    • BasaltERP
    • BasaltCMS
    • BasaltECHO

    CONNECT

    • Twitter
    • LinkedIn
    • GitHub
    • Discord

    © 2026 BasaltHQ Inc. All rights reserved.

    ElevenLabs Startup Grant
    Privacy PolicyTerms of ServiceTraining DataVerify AI