Get started

Publish and share a playbook

Use versions, ACLs, aliases, and share tokens safely.


Creation atomically produces the first immutable version. Publication requires the current latest version as its base.

epismo playbook create --input @playbook.json
epismo playbook get <playbook-id>
epismo playbook version publish <playbook-id> \
  --base-version-id <latest-version-id> --input @next-version.json

After a conflict, re-read latest and merge your intent into a new definition.

Iterate first with a draft

Publishing directly is fine for a small, confident change. For anything that needs a few passes, save it as a draft instead — it never mints a version, so there is nothing to clean up if you change your mind:

epismo playbook draft get <playbook-id>
epismo playbook draft save <playbook-id> --base-revision 0 --input @draft.json
epismo playbook draft publish <playbook-id>
epismo playbook draft discard <playbook-id>

--base-revision is the revision you last read (0 for a new draft); a stale value means someone else saved since — re-read and retry. A playbook has one draft, visible to anyone who can already read the playbook. draft publish mints a version from the draft's current content and discards it in the same step; draft discard throws it away without publishing anything.

  • ACL: durable access through user IDs, team IDs, or public. For cases and playbooks, public grants published content only.
  • Alias: memorable reference; never grants access.
  • Share token: revocable, optionally expiring read access without changing the ACL.
  • Draft: unpublished, mutable content visible to the current ACL; a share token does not reach it.

Before public access, review instructions, resource hints, internal URLs, and personal data. A case never inherits playbook visibility; making a case public is a separate step and publishes the title, input, records, and readable handoff neighborhood, never tasks or collaborator identities.