Before you start
- In Inspect › Governor › Agents, select Register agent and name it after the platform agent, for example
copilot-studio-hr. One governor agent per platform agent keeps the audit trail readable. - Copy the key. The Connect an agent panel shows it once. Under Platform, pick your platform to see its setup and a link back to this page.
- Give the agent a baseline on the targets it should reach. An agent sees, and can act on, only the targets a baseline lets it reach.
Copilot Studio
The connector also works in Power Automate and in agent flows.- Get the connector files,
apiDefinition.swagger.jsonandapiProperties.json, from your Coverbase contact. - Import them with the Power Platform CLI, or in the maker portal under Custom connectors › New custom connector › Import an OpenAPI file:
- Create a connection. Enter the key as
Bearer cbbk.<agent_id>.<secret>, with the wordBearerand a space in front. Power Platform does not let a connector set its own authorization header, so the connection carries the whole value. - In Copilot Studio, open the agent and select Tools › Add a tool › Connector, then add Run a governed SQL query (or Send a governed API request) and Get approval status.
- Under the tool’s Credentials to use, pick Maker-provided credentials so every user acts as the one governor agent.
- Add this to the agent’s instructions: “When a Coverbase action returns hold, tell the user that a person must approve it and give them the note. When they ask again, check Get approval status, and once it is approved run exactly the same action again with the approval ID. When it returns deny, do not retry.”
Acting for many people
A connection holds one agent key. With Maker-provided credentials, every user acts as one governor agent. With End user credentials, each person signs in with their own key and acts as their own governor agent. To keep one agent and still record the person, pass their delegation in the Delegation ID input that every action takes, for example from a Dataverse table keyed by the user’sSystem.User.Id. The governor records the person beside the agent and limits the agent to that person’s delegated targets.
Unattended flows
For an unattended flow, call the action and, when the verdict ishold, loop with Do until the approval status is not pending: Get approval status, then a 30 second delay. On approved, call the same action with the approval ID. On denied or expired, stop and report the note.
Agentforce
- Get the Salesforce project from your Coverbase contact and deploy it:
- In Salesforce Setup, open Named Credentials › External Credentials › Coverbase Agent Governor, open the
Agent_Keyprincipal, and add an authentication parameter namedAgentKeywith the key as its value, withoutBearer. - Assign the Coverbase Agent Governor User permission set to the agent’s running user and to anyone who runs the actions in an employee agent.
- In Agent Builder, open your agent and select Topics › Add from Asset Library, then add Governed Company Data. The package ships the topic and its three actions (Run governed action, Check governed approval and List governed targets) with instructions for each verdict. To use an existing topic instead, add the three actions from Asset Library › Actions.
approved. A scheduled or record-triggered flow can do the same check for unattended work.
To give each person their own key, assign the Coverbase Governor Per User permission set instead. Each person then opens Settings › External Credentials › Coverbase Agent Governor and stores their own key in an AgentKey parameter on the Per_User principal. A person without a stored key gets an authentication error instead of acting as the shared agent. To keep one shared key and still record the person, pass a delegation ID to Run governed action.
To use a non-production Coverbase environment, change the named credential URL to https://api.<env>.coverbase.app.
ServiceNow
- Get the scoped app source from your Coverbase contact, then build and install it with the ServiceNow SDK:
- Store the key. In Connections & Credentials › Connection & Credential Aliases, create a credential alias in the app’s scope, create an API Key credential holding the key, and put the alias’s sys_id in the
x_cbase_governor.credential_aliassystem property. Or set the encryptedx_cbase_governor.agent_keyproperty. - Grant the
x_cbase_governor.userrole to the people who use the agent and to the agent’s run-as user. - Open AI Agent Studio › Create and manage › AI agents › Governed Data Agent. It comes with three tools and instructions for each verdict. Run governed action asks a person in the conversation to confirm each call; the two read tools run on their own.
outcome.verdict is allow, hold or deny. On hold, keep outcome.approvalId and run the same action again with it once the approval reads approved.
In Flow Designer, the app adds two actions, Run Governed Action and Check Governed Approval, and a subflow, Run Governed Action and Wait for Approval, in the Coverbase Agent Governor category. The subflow runs the action and, when it is held, checks the approval every minute until a person decides, then runs the identical action again with the approval ID.
Two system properties let each person act as themselves, and both are off by default. With x_cbase_governor.per_user_credentials on, each caller’s own credential alias holds their key, and a caller without one is refused. With x_cbase_governor.use_user_delegation on, a call that names no delegation uses the caller’s own delegation ID.