{
  "samples": [
    {
      "id": "business-days-between-two-dates",
      "title": "Business days between two dates",
      "summary": "Count the business days between two dates, weekends and holidays left out, for France or another country: the public holidays come from an open data API, the days of your company from a file, and one PowerShell action counts.",
      "category": "Dates & time",
      "kind": "component",
      "level": "intermediate",
      "version": "1.0.2",
      "released": "2026-10-19",
      "techniques": [
        "local-function",
        "errors-as-outputs",
        "powershell-script",
        "open-data-api",
        "json-by-regex",
        "test-cases-file"
      ],
      "requires": [],
      "quick_try_minutes": 2,
      "setup_minutes": 15,
      "subflows": 2,
      "inputs": 8,
      "outputs": 9,
      "ui_elements": 0,
      "tested": [
        {
          "pad": "2.72.183",
          "date": "2026-10-07",
          "path": "Full flow (file and API for France)",
          "result": "pass"
        },
        {
          "pad": "2.72.183",
          "date": "2026-10-07",
          "path": "Quick try",
          "result": "pass"
        },
        {
          "pad": "2.72.183",
          "date": "2026-10-07",
          "path": "File only, API only, Germany, Moselle",
          "result": "pass"
        },
        {
          "pad": "2.72.183",
          "date": "2026-10-07",
          "path": "Tests (59 cases)",
          "result": "pass"
        }
      ],
      "page": "samples/business-days-between-two-dates/README.md",
      "image": "samples/business-days-between-two-dates/assets/result.png",
      "cover": "samples/business-days-between-two-dates/assets/cover.png"
    },
    {
      "id": "excel-range-to-html-table",
      "title": "Excel range to an email-ready HTML table",
      "summary": "Turn any Excel range into an HTML table that keeps its look (fills, fonts, borders, number formats), ready for an Outlook email.",
      "category": "Excel",
      "kind": "component",
      "level": "intermediate",
      "version": "1.1.1",
      "released": "2026-10-01",
      "techniques": [
        "local-function",
        "errors-as-outputs",
        "powershell-script",
        "excel-com",
        "email-safe-html",
        "outlook-draft"
      ],
      "requires": [
        "Microsoft Excel (desktop)"
      ],
      "quick_try_minutes": 2,
      "setup_minutes": 15,
      "subflows": 1,
      "inputs": 3,
      "outputs": 8,
      "ui_elements": 0,
      "tested": [
        {
          "pad": "2.72.183",
          "date": "2026-09-26",
          "path": "Full flow",
          "result": "pass"
        },
        {
          "pad": "2.72.183",
          "date": "2026-09-29",
          "path": "Quick try",
          "result": "pass"
        }
      ],
      "page": "samples/excel-range-to-html-table/README.md",
      "image": "samples/excel-range-to-html-table/assets/result.png",
      "cover": "samples/excel-range-to-html-table/assets/cover.png"
    },
    {
      "id": "local-ai-email-triage",
      "title": "Email triage by a local AI model",
      "summary": "Sort the emails of a shared inbox by category and urgency with a model that runs on the PC, each with a one-sentence summary; no email leaves the PC. Trained on your own sorted emails, it goes from 68 % to 92 % right.",
      "category": "Email",
      "kind": "component",
      "level": "intermediate",
      "version": "1.1.3",
      "released": "2026-10-19",
      "techniques": [
        "local-function",
        "errors-as-outputs",
        "local-llm",
        "json-by-regex",
        "trained-classifier"
      ],
      "requires": [
        "Ollama (free, runs on the PC) with the model llama3.2:3b"
      ],
      "quick_try_minutes": 2,
      "setup_minutes": 20,
      "subflows": 1,
      "inputs": 3,
      "outputs": 8,
      "ui_elements": 0,
      "tested": [
        {
          "pad": "2.72.183",
          "date": "2026-10-01",
          "path": "Full flow",
          "result": "pass"
        },
        {
          "pad": "2.72.183",
          "date": "2026-10-01",
          "path": "Quick try",
          "result": "pass"
        },
        {
          "pad": "2.72.183",
          "date": "2026-10-01",
          "path": "Trained classifier (Triage_Trained)",
          "result": "pass"
        }
      ],
      "page": "samples/local-ai-email-triage/README.md",
      "image": "samples/local-ai-email-triage/assets/result.png",
      "cover": "samples/local-ai-email-triage/assets/cover.png"
    },
    {
      "id": "process-framework-template",
      "title": "Process framework template",
      "summary": "A desktop flow template to start every process from: one transaction per work item, business and system exceptions, retries with recovery, log, run report, settings per environment and 24 tests, in local functions with a note on every action.",
      "category": "Templates",
      "kind": "template",
      "level": "intermediate",
      "version": "1.0.3",
      "released": "2026-10-19",
      "techniques": [
        "desktop-flow-template",
        "local-function",
        "coloured-regions",
        "action-notes",
        "transaction-outcomes",
        "errors-as-outputs",
        "settings-per-environment",
        "test-subflow",
        "outlook-draft"
      ],
      "requires": [],
      "quick_try_minutes": null,
      "setup_minutes": 90,
      "subflows": 10,
      "inputs": 35,
      "outputs": 35,
      "ui_elements": 0,
      "tested": [
        {
          "pad": "2.73.155",
          "date": "2026-10-18",
          "path": "Rebuild, Save as Template, Publish, then New › Flow from template",
          "result": "pass"
        },
        {
          "pad": "2.73.155",
          "date": "2026-10-18",
          "path": "A process from the template: the invoice reminders example",
          "result": "pass"
        },
        {
          "pad": "2.73.155",
          "date": "2026-10-19",
          "path": "Full flow: Tests 24 / 24, then Main",
          "result": "pass"
        }
      ],
      "page": "samples/process-framework-template/README.md",
      "image": "samples/process-framework-template/assets/result.png",
      "cover": "samples/process-framework-template/assets/cover.png"
    }
  ]
}
