Skip to main content
A minimal reference adapter for a provider Checkfu does not rent: one HTTP handler, one platform client, no framework. It is the shape Build a custom channel adapter describes, reduced to the parts that are load-bearing — signature verification, identity, binding, ingest, observation from the exclusive cursor, and the one-winner presentation fence.

Golden journeys

  • Verify a provider webhook and reject a forged one
  • Drive one turn into a bound Session, idempotent under provider redelivery
  • Read the settled reply from the event log, never from elapsed time
  • Post exactly once across two replicas racing the same reply

Platform surfaces exercised

ExternalInstallations, SurfaceScopes, AgentInstallations, ExternalIdentities, ConversationBindings, ingestConversation, and the four ConversationPresentation operations. No other operation, and no private hook.

The whole adapter

settledReplyAfter and postToAcme are the two functions this listing leaves to you. The first streams the Session event log from the exclusive cursor and returns the interaction result — settlement is read from the log, never from elapsed time and never from your provider’s delivery receipts. The second is your provider’s own API call, and it is the only place provider knowledge lives.

Honest gaps

  • This is a listing, not a runnable package. Checkfu’s runnable examples live in the separate checkfu-examples repository, which this repository pins by revision and does not write. Turning this into a @checkfu-examples/custom-channel-adapter package — with test doubles at both boundaries and a replayable golden journey, like slack-teammate and support-desk — is open work, tracked as V-CHN-024’s gap.
  • No public-contract insufficiency was found writing it. Every call above is a served public operation. If you hit one that is not, record it as a gap and open an issue; do not route around it with a private hook (D115).
  • Approvals are deliberately absent. An approval in any channel is a plain link into the Checkfu-native approval surface. An adapter that renders interactive approval controls in a provider’s UI is doing something this reference will never show.