Bezel Workflow flow-schema
internal prototype · canonical JSON + Dreamborn Forge HTML
internal generated
flow-schema · supabase_json

Bezel Workflow flow-schema

flow-schema artifact · for Bezel Workflow · status draft

Planning Surface

Use this to decide what happens next.

Status

draft

Agent Handoff
Start Here

flow-schema artifact · for Bezel Workflow · status draft

Completion Evidence

No explicit evidence field yet. Require tests, screenshots, linked PRs, or reviewed outputs before marking complete.

Artifact Shape
  • kind: flow-schema
  • repo: /Users/justinking/Vaults/Projects/bezel-api
  • project: Bezel Workflow
  • purpose: FLOW.json is the human-product source of truth compiled into agent-readable runtime plans. It is above today’s low-level PlanIntake task graph.
  • created by: atlas-codex
  • updated at: 2026-05-09T13:17:30.522Z
  • draft schema: id: string, name: string, steps: object, status: string, trigger: object, version: number, terminal: object, variables: object, observability: object, workspace_ref: string
  • schema version: flow-schema.v1
  • source memory id: 99edd8d2-5780-43a2-bbd0-03982353768a
  • architecture decision ref: 3a1bb081-67f9-41ae-9600-a91fbb14ecda
  • required compiler behavior: 5 items
  • unresolved schema questions: 3 items
Structured Payload

Machine-readable source fields

kind

flow-schema

repo

/Users/justinking/Vaults/Projects/bezel-api

project

Bezel Workflow

purpose

FLOW.json is the human-product source of truth compiled into agent-readable runtime plans. It is above today’s low-level PlanIntake task graph.

created by

atlas-codex

updated at

2026-05-09T13:17:30.522Z

draft schema
id

flow_customer_invoice_processing_v1

name

Invoice Processing Fan-Out

steps
idroletypeinputretryaction
extract_invoiceroles.invoice.extractoragent_task- source: {{trigger.body}}- backoff: exponential - max attempts: 2extract.invoice_fields
fanout_update_hubspotroles.hubspotconnector_action- invoice: {{steps.extract_invoice.output}}company.update_or_create_note
fanout_write_sheetroles.google_sheetsconnector_action- row: {{steps.extract_invoice.output}}row.append
fanout_send_emailroles.gmailconnector_action- invoice: {{steps.extract_invoice.output}} - template: invoice_processedemail.send
status

draft|active|archived

trigger
id

invoice_received

type

webhook|schedule|poll|manual|local_event

config

No structured fields captured.

connector

gmail|google_drive|http|local_file|custom

credential ref

cred_gmail_ops

output schema ref

schema.invoice_event.v1

version

1

terminal
notify
actionchannelconnector
message.send#opsslack
success when
  • fanout_update_hubspot.completed
  • fanout_write_sheet.completed
  • fanout_send_email.completed
failure policy

fail_run|continue_with_warnings|route_to_human

variables
nametypesourcerequired
invoice_idstringtrigger.body.invoice_idtrue
observability
custom data

No structured fields captured.

redact inputs

true

save step outputs

metadata_only|full|none

workspace ref

workspace id or local workspace alias

schema version

flow-schema.v1

source memory id

99edd8d2-5780-43a2-bbd0-03982353768a

architecture decision ref

3a1bb081-67f9-41ae-9600-a91fbb14ecda

required compiler behavior
  • Validate IDs are unique and dependencies exist.
  • Resolve step roles to workspace roles/queues.
  • Compile parallel fan-out as multiple tasks sharing the same dependency.
  • Preserve human labels and connector/action refs in safe metadata for timeline rendering.
  • Store sensitive input by reference or redacted metadata where possible.
unresolved schema questions
  • Whether trigger definitions live inside FLOW.json or as separately versioned Trigger manifests.
  • Whether Router Agent decisions are represented as explicit router steps or runtime behavior.
  • How loops/map-over-items should be represented without becoming too complex for V1.