DEV Community

Zyk
Zyk

Posted on • Edited on

I Built an AI That Writes Production Workflows From Plain English

I've been working with workflow platforms like Camunda or Appian for years. They're solid. But with AI, I kept thinking: why are we still dragging boxes around?
So I built Zyk. Describe your workflow in plain text. AI generates the YAML spec. The Zyk engine runs it on Temporal, the same battle-tested infrastructure Netflix and Uber use.
What you see in the simulation is exactly what executes in production. No fake demo. Real engine.

Here's what it looks like:


Full backstory

In Future Ready, MIT researchers found that companies who win at digital transformation share one thing: a strong operational backbone. Not flashy apps or AI pilots, the boring stuff. Integrated systems, reliable processes, data that flows where it needs to go. The companies that get this right move fast. The ones that don't spend years duct-taping systems together.

What does that look like in practice? Workflows. The processes that connect your systems and make things actually happen. Not the generic stuff you buy off the shelf but your crown jewels. The operations that make your business yours.

Platforms like Camunda, Pega, Appian and others exist to build exactly this. They have real strengths: reliable execution, proper governance and audit trails, consistent development patterns, and low-code accessibility. There's one gap though: these platforms weren't designed for how AI works today.


AI can do more than assist

Existing platforms have added AI-assisted modeling. You can ask an AI to help configure your BPMN diagram or suggest a form layout. But LLMs struggle with visual modeling languages. They weren't trained on millions of process diagrams with execution semantics. They're pattern-matching, and those patterns often need correction. Meanwhile, Claude Code can write a complete, working application from a natural language description. What if we designed a workflow format specifically for this? A structured, text-based spec that AI can generate reliably and humans can easily review? That's the opportunity I saw with Zyk.

The reality of who builds workflows

There's a vision of "citizen developers" building their own automations. It's appealing, and it works for simple use cases. But any workflow that handles money, customer data, compliance, or system integrations needs proper engineering discipline: testing, version control, code review, deployment pipelines, monitoring. The people building these workflows are developers, or at least very technical folks. They deserve tools that respect that.

Here's the nuance though: you still need visuals. Not for building, but for communicating. Business stakeholders need to see what's happening. Requirements discussions need a shared artifact. Documentation needs diagrams. The visual layer matters, just not as the primary authoring interface.


Introducing Zyk

Zyk is a workflow automation platform built on a simple premise: what if AI could write the workflow spec, and a battle-tested engine could run it? It's lightweight, extensible, and designed for how developers actually work.

1. Structured Natural Language → Executable Spec

Instead of dragging boxes around a canvas, you describe what you want in structured natural language. Think of it as a detailed prompt that captures your workflow requirements:

  Workflow: Incident Response                                                                                                                                     

  Triggers:                                                                                                                                                       
  - Manual trigger with form: title, severity (sev1/sev2/sev3), details                                                                                           
  - Webhook at /webhook/alert for monitoring systems                                                                                                              

  Integrations needed: GitHub, Slack                                                                                                                              

  Config:                                                                                                                                                         
  - github_repo: from environment                                                                                                                                 
  - oncall_user: Slack user ID from environment                                                                                                                   
  - escalation_user: Slack user ID from environment                                                                                                               
  - acknowledge_timeout: 15 minutes                                                                                                                               
  - status_update_interval: 30 minutes                                                                                                                            

  Flow:                                                                                                                                                           
  1. Create GitHub issue with incident label and severity label                                                                                                   
  2. Create Slack channel incident-{issue_number}, invite on-call user                                                                                            
  3. Post incident summary with link to GitHub issue                                                                                                              
  4. Human task: Page on-call with options [Acknowledge, Escalate, False Alarm], timeout 15min → auto-escalate                                                    
  5. If False Alarm → close issue, archive channel, END                                                                                                           
  6. If Acknowledged → post confirmation, update GitHub issue                                                                                                     
  7. Human task: Confirm severity [SEV1, SEV2, SEV3]                                                                                                              
  8. If SEV1 → notify #leadership and #engineering (parallel), mention deploy freeze                                                                              
  9. Loop until resolved:                                                                                                                                         
    - Wait 30 minutes                                                                                                                                             
    - Human task: [Post Update, Mark Resolved]                                                                                                                    
    - If update → add comment to GitHub issue                                                                                                                     
    - If resolved → collect root cause + resolution, exit loop                                                                                                    
  10. Close GitHub issue with resolution details                                                                                                                  
  11. Post resolution summary to channel                                                                                                                          
  12. If SEV1/SEV2 → wait 48h, create post-mortem issue, archive channel                                                                                          
  13. If SEV3 → archive channel immediately                                                                                                                       

  Error handling:                                                                                                                                                 
  - Retry integrations 3x with exponential backoff                                                                                                                
  - Continue if notification channels don't exist
Enter fullscreen mode Exit fullscreen mode

From this description, AI generates a complete YAML specification, the source of truth for your workflow. But you're not limited to staring at raw YAML. The designer can show a visual representation alongside it: the YAML on one side, a clear diagram of the flow on the other. You get the best of both worlds: a text-based format that's version-controllable and AI-friendly, plus a visual layer for understanding and communicating the flow.

2. The YAML Spec: What Gets Executed

From your description, Zyk generates a YAML specification. Without getting too deep into the syntax, here's what it captures: workflow metadata (name, version, ownership), triggers (webhook, schedule, manual start, or external event), steps (each with an ID, type, configuration, dependencies, and conditions), human tasks (assignee, available actions, timeout behavior), and error handling (retries, fallbacks, compensation). The script type lets you run custom code for data transformation, and external workers let you delegate steps to your own async services. The key insight: this YAML is both human-readable AND machine-executable. Business analysts can review the visual diagram. Engineers can version control the YAML. And the engine runs it exactly as defined.

3. Deterministic Execution

The spec isn't just documentation, it actually runs. Under the hood, Zyk uses Temporal, a proven workflow engine trusted by companies like Netflix or Stripe. That means reliable execution with automatic retries and timeouts, durability that survives crashes and restarts, full observability with execution history and replay, and scalability to handle millions of concurrent workflows. Enterprise-grade reliability without enterprise-grade complexity.

4. Human-in-the-Loop

Workflows often need human input: approvals, decisions, acknowledgments. Zyk includes a dedicated Tasklist where users can see and act on pending tasks. But people live in Slack (or Teams, or wherever), so for our MVP we're using Slack as the primary human interface. The assigned person gets a message with action buttons. They click. The workflow continues. No context switching. The workflow spec simply defines what message to show, who should see it, what buttons to display, and what happens for each choice. The engine handles the rest.


Why This Approach?

AI-Native by Design: LLMs are really good at generating structured specifications from natural language. Give them a clear description and they produce consistent, executable output. No proprietary visual language to hallucinate. And when the AI makes a mistake? The spec is readable. You can fix it yourself in seconds, or refine your prompt and regenerate.

Version Control Friendly: Your workflows are text files. That means Git history, pull requests, code review, diff and merge, branching strategies. All the things developers expect. All the things visual diagrams make painful.


Who Is This For?

Zyk is for developers and technical teams who need reliable workflow automation without the enterprise overhead. You might be a startup that needs incident response, onboarding flows, or approval processes. A dev team tired of maintaining brittle scripts. An SMB that can't afford (or doesn't need) a full BPM suite.

That's where we are today. I'll be sharing updates here as I go: what's working, what's breaking, and what I'm learning along the way. If you have questions or feedback, drop a comment.

What workflows would you build with this?

Top comments (0)