Skip to content

Examples

Each example is a real case, built and run on Madoo: a template designed for its purpose, a workflow that fills it — AI where writing or imagery helps, verified data where facts matter — and the documents it produced. Every example explains its design and its nodes, shows its results, and installs into your workspace with its template, workflow and sample files.

Example What it shows Credits per run
F01 — B2B one-page proposal AI copy validated against the page, an AI cover, approved claims printed verbatim, a formatted price, an optional logo ≈5
F02 — Hotel campaign brochure in two languages AI copy in two languages, the verified offer as a second data object, a season-adapted photo, master pages, PDF/X-4 ≈5
F03 — Variable product flyer An AI header, a grid of cards that follow their content, stock badges from numeric conditions, an empty state ≈5
F04 — Visual summary of a book AI structure validated with JSON Schema, facts that win over the AI, a flowing page with a variable list ≈5
F04B — Illustrated summary One illustration per idea generated in parallel with a style reference, collected back into one document ≈25–35
F05 — Wine price list from a spreadsheet One AI description per row, numbers formatted per language, a catalogue that continues on new pages ≈0.2
F06 — Proposal with the customer’s photo The customer’s photo edited by AI and declared as a simulation, prices from a second data object, a flowing table ≈5
F07 — Property listing from a photo bundle An AI judgement per photo, a gallery of the publishable ones, an A4 sheet and a social post from one template ≈0.2
F08 — Course poster in a brand font A private brand font with exact font references, shared across workspaces ≈0.03
F09 — Poster built by an agent through MCP A template and workflow designed, previewed, published and corrected by an AI agent ≈5
F10 — Course certificates in one PDF A cover plus one certificate per participant in one PDF, typed field ports, no AI 0
F11 — Restaurant menu Sections with their dishes as a list inside a list, optional dietary tags, a chef’s note written by the AI ≈0.02
F12 — Quote from the quoting system Line items and totals from the system, conditional discount and deposit, a letterhead master page, AI introduction on a separate data object ≈0.02
F13 — Event badges One badge per participant in one PDF, event colour and SVG logo as fields, a check-in QR code per person, role bands from conditions, a VIP group shown by a yes/no field 0
F14 — Square social carousel One slide per tip from a list that continues on new pages, a numbering sequence, all words by the AI, slides as page images ≈0.04

The examples are multi-sector on purpose — B2B services, hospitality, restaurants, events, crafts, retail, publishing, wine, gardening, real estate, education, social media — and the techniques carry over to any of them.

An example installs through the public API with a workspace API key — the same way an integration or a coding agent works. Installing costs no credits; running does.

  1. Create an API key for the workspace (Settings → API Keys) with the scopes catalog:read, workflows:read, workflows:write, workflows:execute, executions:read, assets:read, assets:write, design-templates:read and design-templates:write, and save it as a file outside any repository: { "clientId": "…", "clientSecret": "…" }.
  2. Download the installer, madoo-install-example.mjs — one file, Node 18 or later, no dependencies.
  3. Run it with the example’s id:
Terminal window
node madoo-install-example.mjs f05 --api <your Madoo API URL> --key key.json
Option Meaning
--api the Madoo API of your environment
--key the API key file
--from where the examples are read: this site (default) or a local folder
--prefix "…" prepended to the names, to install a second copy
--run run the workflow once with the example’s inputs (consumes credits)

The installer reads the example’s manifest (/examples/<id>/manifest.json), uploads its files — photos, data, fonts — composes its photo bundles, creates and publishes its templates, fills every placeholder of the workflow with the values of your workspace, validates it and publishes it. Installing again revises the same template and workflow instead of duplicating them.

Two things depend on your workspace:

  • Print profiles. An example that prints PDF/X-4 (F02) uses your workspace’s ICC profile for the output condition it names; without one, it installs with standard PDF and says so. See Print-ready PDF.
  • Fonts. An example with a private font (F08) uploads it to your workspace, acknowledging its licence on your behalf: the font is published under the SIL Open Font License, which allows it.

An agent connected to the Madoo MCP server can install an example by following its manifest. Give it the manifest URL and these steps:

  1. Read https://docs.madoo.ai/examples/<id>/manifest.json; every file it names is next to it.
  2. For each entry of files, import_asset_from_url with the file’s URL; the returned path is the value of its placeholder.
  3. For each entry of datasets, read the file, replace the placeholders it contains with the paths of step 2, and upload_asset the result; its path answers the dataset’s placeholder.
  4. For each entry of bundles, import every file of the bundle spec, compose_bundle_manifest with their paths and the spec’s ids, relative paths and metadata, and validate_bundle_manifest; the manifest, as JSON text, answers the placeholder.
  5. For each template, replace the placeholders in its document, create_design_template_draft with the document as content, and publish_design_template_draft; note its id and revision.
  6. In the workflow, set template_id and template_revision of each template node, replace every other placeholder, then create_workflow_draft, validate_workflow and publish_workflow.
  7. To run it, execute_workflow with the example’s run_inputs (placeholders replaced), after estimate_execution.

Two steps are not available through MCP today: uploading a font (F08 — use the installer or the REST API, POST /api/v1/fonts) and finding a print profile (F02 — set pdf_export_mode to standard, or ask for the profile id).

  • Separate what the AI writes from what is verified. Prices, approved claims, catalogue data and measurements reach the template straight from the inputs, never through a model.
  • The contract between AI and layout is a schema. A model returns JSON; a JSON Schema node checks the fields and lengths compatible with the space on the page.
  • The template decides the layout, the workflow the content. The template declares its fields and rules; the workflow fills them. The same template works from the editor, REST, MCP and the agent.
  • Fixed revisions. Workflows use a published revision of their template; editing the draft changes nothing until the pin is moved.
  • Workflows read left to right: inputs, AI, checks, composition, outputs.

See Templates in workflows for the patterns in detail.