Use GOVENANT and Salesforce Agentforce together — govern the enterprise agent platforms, not the framework. Your platform already keeps the record. We make it prove things.
A 200-agent Salesforce Agentforce rollout across sales and service. Every action logs to Salesforce objects; the org has a governance committee and a quarterly review.
The committee reviews policies and slide decks, not the substrate. No one has computed — from the org’s own data — how many agent-owed duties are actually delivered, or whether the failures are being written down rather than smoothed over. The board question has no query behind it.
A read-only schema mapping over the existing objects runs the sweep in the org itself: coverage ratios, verified-delivery numbers, and an honest miss log — and a capability probe that says plainly which questions the schema can’t yet answer. Governance stops being a deck and becomes a reproducible report.
The substrate: The platform’s existing run, log, and audit tables — mapped, read-only, to the standard’s shapes.
The path — Native substrate: The platform already produces records that map to the standard — the sweep reads what it already keeps.
| GOVENANT shape | Salesforce Agentforce source |
|---|---|
| Action row (append-only ledger) | Agentforce action / interaction log rows — one per step: input & output summary, timestamp, cost |
| Lever (+ owner) | The action type + the Salesforce object it writes (update Opportunity, close Case) |
| Ownership gate | Salesforce profile / permission-set / approval-process controls on that object + action |
| Duty | A recurring agent responsibility (follow up on open opps, resolve tier-1 cases) |
| Verified outcome | Downstream state that proves it: Opportunity.StageName advanced; Case Closed AND not reopened within N days; Event created for a booked meeting |
| Miss | An owed duty with no verified outcome, or a “closed” case reopened — recorded independently |
-- Completion keyed to the VERIFIED outcome, never the agent's "done".
-- A resolved case that reopened within 3 days is a MISS, not a delivery.
create or replace view gov_duty_run as
select 'resolve_tier1_case' as duty, c.id as subject_ref, al.acted_at as ran_at,
(c.status = 'Closed'
and not exists (
select 1 from case_history h
where h.case_id = c.id and h.new_status <> 'Closed'
and h.changed_at between c.closed_at and c.closed_at + interval '3 days'
)) as delivered -- verified from downstream state
from "case" c
join gov_action_ledger al
on al.target = 'Case' and al.target_ref = c.id and al.action_type = 'close_case';
-- The board question, answered as a query:
create or replace view gov_delivery_summary as
select duty, count(*) as duty_runs,
count(*) filter (where delivered) as delivered,
round(100.0*count(*) filter (where delivered)/nullif(count(*),0),1) as delivery_pct
from gov_duty_run group by duty; The substrate shapes and acceptance tests are open (CC BY 4.0): developer integration · the portable schema.
Organizations with a real mapping can wear the Built-on GOVENANT badge under its four rules and publish level claims to the registry with probe logs — self-assessed against the open standard, open to challenge. What you may never claim is “certified”: the standard has no certifying authority, and a reproducible public record is stronger than a stamp.
This example is a worked mapping with read-only code — adapt the object/field names to your environment. It will never say “supported” or “certified” before a working example lands and its record is public — progress lives in the GitHub issue. Holding our own examples to the standard’s claims discipline is the product.
All sample projects · Govern enterprise agent platforms · All integrations · Run the audit