<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel>
  <title>composerID blog</title>
  <link>https://composer.id/blog/index.html</link>
  <description>Workforce systems, in plain English.</description>
  <language>en-gb</language>
  <item>
    <title>Triage decides. Composer publishes. Your systems execute.</title>
    <link>https://composer.id/blog/decide-publish-execute.html</link>
    <guid>https://composer.id/blog/decide-publish-execute.html</guid>
    <pubDate>Fri, 04 Sep 2026 09:00:00 GMT</pubDate>
    <description>Three jobs in a workforce stack: Triage decides how work is done, composerID publishes the decision reference, your systems carry out the work.</description>
  </item>
  <item>
    <title>Why one workforce decision needs one reference</title>
    <link>https://composer.id/blog/one-id-every-system.html</link>
    <guid>https://composer.id/blog/one-id-every-system.html</guid>
    <pubDate>Fri, 04 Sep 2026 09:00:00 GMT</pubDate>
    <description>One workforce request can appear in several systems, each with its own number. composerID gives the decision one reference they can all share.</description>
  </item>
  <item>
    <title>Your workforce stack is bigger than the VMS</title>
    <link>https://composer.id/blog/the-vms-is-the-wrong-word.html</link>
    <guid>https://composer.id/blog/the-vms-is-the-wrong-word.html</guid>
    <pubDate>Fri, 04 Sep 2026 09:00:00 GMT</pubDate>
    <description>The VMS is only one part of the workforce story. Different kinds of work land in different systems, and that is why the decision has to come first.</description>
  </item>
  <item>
    <title>What composerID actually sends to other systems</title>
    <link>https://composer.id/blog/what-crosses-the-boundary.html</link>
    <guid>https://composer.id/blog/what-crosses-the-boundary.html</guid>
    <pubDate>Fri, 04 Sep 2026 09:00:00 GMT</pubDate>
    <description>composerID does not copy the whole Triage decision into every system. Its current role is simpler: publish the reference that identifies the decision.</description>
  </item>
  <item>
    <title>What an integration actually does</title>
    <link>https://composer.id/blog/integrations-in-plain-english.html</link>
    <guid>https://composer.id/blog/integrations-in-plain-english.html</guid>
    <pubDate>Tue, 09 Sep 2026 09:00:00 GMT</pubDate>
    <description>An integration is a way for two systems to exchange something they both understand. The hard part is that every system has different rules.</description>
  </item>
  <item>
    <title>How composerID fits with Triage today</title>
    <link>https://composer.id/blog/who-pays.html</link>
    <guid>https://composer.id/blog/who-pays.html</guid>
    <pubDate>Tue, 09 Sep 2026 09:00:00 GMT</pubDate>
    <description>composerID ships as part of Triage today. Triage makes the decision; composerID publishes the decision reference into configured downstream systems.</description>
  </item>
  <item>
    <title>Where a workforce request really starts</title>
    <link>https://composer.id/blog/where-intent-is-born.html</link>
    <guid>https://composer.id/blog/where-intent-is-born.html</guid>
    <pubDate>Fri, 04 Sep 2026 09:00:00 GMT</pubDate>
    <description>Workforce requests start before anyone opens a workforce system. Triage asks its questions there, so the decision comes before the form.</description>
  </item>
  <item>
    <title>Research: system of engagement</title>
    <link>https://composer.id/blog/research-system-of-engagement.html</link>
    <guid>https://composer.id/blog/research-system-of-engagement.html</guid>
    <pubDate>Wed, 09 Sep 2026 18:00:00 GMT</pubDate>
    <description>Systems of record, engagement, intelligence and action: a deep-research report on where each term comes from and what it should mean.</description>
  </item>
  <item>
    <title>Why customer-specific fields make integrations hard</title>
    <link>https://composer.id/blog/preflight-before-publish.html</link>
    <guid>https://composer.id/blog/preflight-before-publish.html</guid>
    <pubDate>Fri, 04 Sep 2026 09:00:00 GMT</pubDate>
    <description>Knowing a vendor's API is not the same as knowing a customer's system. Two companies on one platform can require completely different information.</description>
  </item>
  <item>
    <title>Why integrations need protection against duplicates</title>
    <link>https://composer.id/blog/idempotent-by-design.html</link>
    <guid>https://composer.id/blog/idempotent-by-design.html</guid>
    <pubDate>Fri, 04 Sep 2026 09:00:00 GMT</pubDate>
    <description>Sometimes a computer sends the same request twice. A publishing service should notice, not act twice. Engineers call this idempotency. A design note.</description>
  </item>
  <item>
    <title>What we learned mapping Beeline's API</title>
    <link>https://composer.id/blog/beeline-field-by-field.html</link>
    <guid>https://composer.id/blog/beeline-field-by-field.html</guid>
    <pubDate>Fri, 04 Sep 2026 09:00:00 GMT</pubDate>
    <description>We mapped Beeline's published API specifications to learn how a decision reference could be carried. Mapping a spec is not the same as a live integration.</description>
  </item>
  <item>
    <title>How systems tell you what happened next</title>
    <link>https://composer.id/blog/four-reconciliation-postures.html</link>
    <guid>https://composer.id/blog/four-reconciliation-postures.html</guid>
    <pubDate>Fri, 04 Sep 2026 09:00:00 GMT</pubDate>
    <description>Publishing into another system is one problem. Knowing what happened afterwards is another. Webhooks, polling and events as future options.</description>
  </item>
  <item>
    <title>How we keep vendor integration research up to date</title>
    <link>https://composer.id/blog/why-our-docs-check-their-own-citations.html</link>
    <guid>https://composer.id/blog/why-our-docs-check-their-own-citations.html</guid>
    <pubDate>Fri, 04 Sep 2026 09:00:00 GMT</pubDate>
    <description>Vendor APIs change and documentation moves. How we keep integration research traceable back to primary vendor sources, and what re-checking found.</description>
  </item>
  <item>
    <title>How to prove an API really works</title>
    <link>https://composer.id/blog/a-conformance-pack-instead-of-a-spec.html</link>
    <guid>https://composer.id/blog/a-conformance-pack-instead-of-a-spec.html</guid>
    <pubDate>Fri, 04 Sep 2026 09:00:00 GMT</pubDate>
    <description>Documentation says what software should do. Tests say whether it does it. If we cannot write an acceptance test for a claim, we should hesitate.</description>
  </item>
  <item>
    <title>How a publishing API should authenticate</title>
    <link>https://composer.id/blog/client-credentials-scopes-and-hour-long-tokens.html</link>
    <guid>https://composer.id/blog/client-credentials-scopes-and-hour-long-tokens.html</guid>
    <pubDate>Fri, 04 Sep 2026 09:00:00 GMT</pubDate>
    <description>A publishing API needs to know who is calling, what they may do and how long that lasts. Our proposed model, explained before the OAuth words.</description>
  </item>
</channel></rss>
