Skip to main content
This tutorial guides you through building a complete contact form workflow, starting from a simple greeting and progressively adding features until you have a production-ready solution.

What You’ll Build

By the end of this tutorial, you’ll have a contact form workflow that:
  • Collects information: Name, email, and preferred contact time
  • Validates input: Checks email format and allows retries
  • Routes intelligently: Different follow-ups based on user preference
  • Integrates externally: Validates email domains and notifies a CRM system
  • Feels polished: Progress indicators and friendly messages throughout

Prerequisites

Before starting this tutorial, you should have:
  • Basic understanding of Syllable Agents, Tools, and Prompts
  • Access to the Syllable Console
  • Familiarity with JSON syntax

Learning Path

The tutorial is structured as 7 progressive examples. Each example builds on the previous one, introducing new concepts:
ExampleWhat You’ll BuildKey Concepts
1. Hello WorldSimple greeting workflowBasic step structure, terminal steps, workflow initialization
2. Collect InputName collection with validationInput parameters, validation, current step inputs
3. Multi-Step FlowFull contact form (name → email → time)Step transitions, data persistence, workflow variables
4. Lifecycle ActionsPolished experience with progress indicatorson.enter, on.submit, say action, counters
5. Conditional BranchingSmart routing based on preferencesJMESPath expressions, conditional next routing
6. Retry LoopEmail validation with retry attemptsValidation patterns, inc action, loop-back transitions
7. Tool IntegrationExternal API calls and CRM notificationcall action, tools.allow, progressive tool disclosure

The User Journey

Each example addresses a real need that arises when building production workflows:
"I need a simple greeting workflow"
  → Example 1: Hello World
    Create your first step workflow with just a greeting

"I need to collect user information"
  → Example 2: Collect Input
    Add input collection with automatic validation

"I need to collect multiple pieces of information"
  → Example 3: Multi-Step Flow
    Build a 3-step form: name → email → contact time
    Learn to persist data across steps

"I need the workflow to feel polished"
  → Example 4: Lifecycle Actions
    Add welcome messages and progress tracking
    "Step 1 of 3", "Step 2 of 3", etc.

"I need different follow-ups based on user preference"
  → Example 5: Conditional Branching
    Route morning/afternoon → schedule phone call
    Route evening/night → schedule email follow-up

"I need to validate email format and allow corrections"
  → Example 6: Retry Loop
    Check email format before proceeding
    Allow up to 3 retry attempts
    Show helpful error messages

"I need to integrate with external systems"
  → Example 7: Tool Integration
    Validate email domain via API
    Send notification to CRM system
    Control which tools are available per step
Result: By Example 7, you’ll have built a complete, production-ready contact request workflow with validation, smart routing, retry logic, and external integrations.

Tutorial Structure

Each example follows the same format:
  1. Objective: What you’ll learn and why it matters
  2. The Scenario: User story context for the feature
  3. Implementation: Complete JSON tool definition you can copy
  4. Key Concepts: Detailed explanation of new features
  5. How It Works: Step-by-step breakdown of workflow execution
  6. Try It: Instructions to test in the Syllable Console
  7. What’s Next: Preview of the next example

Estimated Time

  • Quick read-through: ~15 minutes
  • Following along with testing: ~45 minutes
  • Building your own variant: ~1-2 hours

Next Steps

Ready to start? Continue to Example 1: Hello World to create your first Step Workflow.

Reference

While working through the tutorial, you may want to reference: