Applies to:
- Plan - Enterprise
- Deployment - Self-hosted
- Use case - Resolve online scoring automations not firing on a self-hosted data plane when multiple Braintrust organizations share the same data plane
Summary
An online scorer runs manually but its automation does not fire. The usual cause is a duplicate or missingbt_data_plane_manager service token when multiple orgs share one data plane. Invite the parent org’s bt_data_plane_manager into the child org. If you’ve already minted a manager token in the child org, reach out to Braintrust engineering to remove the duplicate token so the invite will work.
What is happening
When multiple orgs share a self-hosted data plane, automations require a single data plane manager token to be present and consistent across orgs. A child org with its own or a mismatchedbt_data_plane_manager token can prevent automations from running.
Test automation runs the scorer against a recent matching row and shows results in the modal banner. Test automation does not write scoring spans to logs. The processing status panel fills only for trace-scoped rules. It stays empty for span-scoped automations. For span-scoped filters use span_attributes.name = '...' instead of name = '...'.
Fix or suggestion
Option 1: Invite the parent data plane manager (most common fix)
- Open the parent org’s Settings > Service tokens and copy the manager id shown in the token row (the numeric id column shown in the UI). Do not use the invite-string value that looks like
bt::sp::custom::data_plane_manager-..., use the numeric id displayed in the Service Tokens list. - Run the invite API from a machine with your API key:
<child_org_id> and <manager_user_id> with the child org id and the numeric manager id copied from the parent org Service Tokens page. Wrap your API key in the BRAINTRUST_API_KEY environment variable when running the command.
- If a manager token was previously minted in the child org, contact Braintrust support to remove the duplicate
bt_data_plane_managertoken. The duplicate must be removed for the parent’s invite to take effect. - In the child org, go to Settings > Service tokens and confirm the
bt_data_plane_managerentry matches the parent org manager id you copied. - Wait about one hour for backend caches to clear. Opening the child org Service Tokens page after the changes helps trigger the refresh.
Option 2: Check instance variables and permissions (alternative)
- Confirm your instance environment variables are set and correct for multi-org setups:
ORG_NAME,PRIMARY_ORG_NAME, andALLOWED_ORG_IDS(ALLOWED_ORG_IDSshould list the org ids that are permitted on the same data plane). - Verify the invited
bt_data_plane_managerid shown in the parent org matches the child org entry after you invite it. - If you see 500s when reprocessing traces, check for duplicate
bt_data_plane_managertokens and ask Braintrust to remove the extra token. Also confirm the service token has the required log update permissions for the org.
How to confirm it worked
- In the automation modal click Test automation. The modal banner should show a test result such as
Scores for X matching logs. - Send new traces that match the span filter. Check the Logs page for scored spans. A span-scoped automation shows scores on the matching spans.