Skip to Content
We are live but in Staging 🎉
WorkflowsWorkflow 1: Bootstrap, Author, and Publish

Workflow 1: Bootstrap, Author, and Publish

Last validated: 2026-05-14

Goal

Create a new script, iterate on draft content, validate behavior, and publish a stable version.

When To Use

  • New automation onboarding
  • Migrating one-off scripts into managed Scriptum lifecycle
  • First release of a workflow

A) CLI Path (Unified Plugin)

# 1) Create script shell dodil scriptum script create invoice-parser \ --description "Invoice extraction workflow" \ --tags "invoice,etl" # 2) Save draft source dodil scriptum draft save invoice-parser --file ./invoice_parser.scriptum # 3) Compile draft dodil scriptum draft compile invoice-parser # 4) Draft test with sample input dodil scriptum draft test invoice-parser --input @./samples/invoice_42.json --env # 5) Publish after successful test dodil scriptum draft publish invoice-parser # 6) Verify released versions dodil scriptum version list invoice-parser

Argument guidance:

  • --file: .scriptum for DSL or .yaml for compiled IR input.
  • --input: inline JSON or @file shortcut.
  • --env: include merged tenant+script environment during test execution.

B) gRPC Path (Direct API)

# Create script grpcurl \ -H "authorization: Bearer $DODIL_TOKEN" \ -H "x-organization-id: $SCRIPTUM_ORG_ID" \ -d '{"name":"invoice-parser","description":"Invoice extraction workflow"}' \ rpc.dev.dodil.io:443 dodil.scriptum.v1.ScriptumService/CreateScript # Save draft grpcurl \ -H "authorization: Bearer $DODIL_TOKEN" \ -H "x-organization-id: $SCRIPTUM_ORG_ID" \ -d '{"name":"invoice-parser","dsl_content":"script invoice-parser { ... }"}' \ rpc.dev.dodil.io:443 dodil.scriptum.v1.ScriptumService/SaveScriptDraft # Compile grpcurl \ -H "authorization: Bearer $DODIL_TOKEN" \ -H "x-organization-id: $SCRIPTUM_ORG_ID" \ -d '{"name":"invoice-parser"}' \ rpc.dev.dodil.io:443 dodil.scriptum.v1.ScriptumService/CompileScriptDraft # Publish grpcurl \ -H "authorization: Bearer $DODIL_TOKEN" \ -H "x-organization-id: $SCRIPTUM_ORG_ID" \ -d '{"name":"invoice-parser"}' \ rpc.dev.dodil.io:443 dodil.scriptum.v1.ScriptumService/PublishScriptDraft

C) HTTP Path

Management endpoints (always available)

curl -sS https://api.dev.dodil.io:443/health curl -sS https://api.dev.dodil.io:443/ready

Business API via gateway (if deployed)

curl -sS -X POST "https://api.dev.dodil.io:443/v1/scriptum/scripts/invoice-parser/draft/compile" \ -H "Authorization: Bearer $DODIL_TOKEN" \ -H "x-organization-id: $SCRIPTUM_ORG_ID" \ -H "Content-Type: application/json" \ -d '{}'

Validation Checklist

  1. Compile returns success=true and no diagnostics.
  2. Draft test thread reaches terminal success.
  3. Published version appears in version list.
  4. Required tools reported by compile are available in tenant tool list.