Dome Systems

Read Out Experiments

Analyze experiment results and summarize outcomes, caveats, and recommended next steps.

User
Caller
  • chat
App
Agent
  • read-out-experiments-analyst
Governance
Gateway
  • read-out-experiments-readonly
Pool

read-out-experiments-pool

  • read-out-experiments-model
Tools

amplitude

    Tools

    posthog

      Tools

      intercom

        Tools

        gmail

          Tools

          google-drive

            Tools

            notion

              What this template gives you

              • Interface

                A chat window, in your browser

                Use the included interface to send a request to this template.

              • Gateway

                read-out-experiments-readonly gateway

                This template sends its requests through read-out-experiments-readonly gateway, where its access rules and limits apply.

              • Model

                read-out-experiments-model

                This template uses read-out-experiments-model through the read-out-experiments-pool pool.

              Usage

              Hand this template to an AI agent to set up this template

              Node.js and npm to run npx.

              Dome CLI, installed with brew install dome-systems/tap/dome, then signed in with dome auth login.

              Docker Compose to run the companion app locally.

              1. 1

                Create a workspace

                dome workspaces create --name <workspace-name>

                The CLI creates and selects a workspace context for you.

              2. 2

                Confirm the workspace context

                dome context list

                The workspace you just created is already selected.

              3. 3

                Pull the template

                npx @domesystems/templates pull dome-systems/read-out-experiments@0.1.1 --dir read-out-experiments

                Downloads this immutable release and verifies its digest.

              4. 4

                Run the template

                npx @domesystems/templates up --dir read-out-experiments

                Imports it into Dome and starts the companion app.

              Dome import variables

              npx @domesystems/templates up imports the template into Dome and prompts for required values. For unattended runs, set them as DOME_IMPORT_VAR_… environment variables.

              Required values

              • DOME_IMPORT_VAR_anthropic_api_key
              • DOME_IMPORT_VAR_intercom_bearer_token
              • DOME_IMPORT_VAR_google_oauth_client_id
              • DOME_IMPORT_VAR_google_oauth_client_secret

              Setup guide

              Follow this template's setup guidance for agent variables and upstream connections.

              # Set up Read Out Experiments
              
              This is a read-only composite, but it needs a model credential and every listed data source configured before it can run. Set up isolated test accounts or workspaces first, grant only the smallest read scope that exposes the test data, and store every credential only in Dome's secret inputs. Never put a key or secret in this repository, an agent prompt, or a chat message.
              
              ## Create the model credential
              
              - Create an API key in the [Anthropic Console](https://console.anthropic.com/settings/keys).
              - Enter the raw key as `anthropic_api_key` during import. Do not prepend `Bearer `.
              - The template uses that key only for its managed `claude-sonnet-5` model connection.
              
              ## Create the provider credentials
              
              - `intercom_bearer_token`: An Intercom workspace access token
              - `google_oauth_client_id`: A Google OAuth client ID for an AI-powered agent.
              - `google_oauth_client_secret`: The Google OAuth client secret.
              
              For a provider that asks you to register a manual OAuth app, use this callback URL exactly:
              
              `https://api.domesystems.ai/oauth/callback`
              
              ## Set up each connected provider
              
              ### Amplitude
              
              This provider uses Dynamic Client Registration (DCR). Do **not** create or paste an OAuth client ID or client secret: after import, Dome registers the client and opens the provider's consent page.
              
              After saving, authorize a test Amplitude user that can view only the required projects. This composite uses the US endpoint and read-only OAuth; confirm project access with `get_amplitude_context`.
              
              ### PostHog
              
              This provider uses Dynamic Client Registration (DCR). Do **not** create or paste an OAuth client ID or client secret: after import, Dome registers the client and opens the provider's consent page.
              
              PostHog's hosted MCP server supports OAuth. This composite uses the upstream
              `readonly=true` option, which removes write MCP tools from the session.
              
              - After import, complete shared OAuth as a dedicated test member and select the
                intended organization and project. Verify a known test insight or event is
                visible and another project is unavailable.
              
              PostHog's MCP exposes a generic `exec` tool, so tool-name filtering alone is
              not a complete read-only boundary. Keep the upstream read-only setting, and pin
              the connection to one project when production use requires a fixed boundary.
              For a headless connection, use a separate personal API key with PostHog's MCP
              Server preset instead of modifying this OAuth template.
              
              ### Intercom
              
              - `intercom_bearer_token`: enter `Bearer ` followed by an Intercom workspace access token. Use a token with only the approved read permissions for the workspace this agent will inspect.
              
              This composite uses bearer-token authentication, not OAuth. It does not open a browser, require a callback URL, or require Intercom to allowlist Dome's OAuth callback.
              
              Create or find the workspace token in **Intercom Developer Hub → Your Apps**. Open the private app that matches the workspace name—migrated workspaces may label it **Access Token App**—then open **Authentication** to reveal the access token and review its scopes. Intercom's [workspace access-token walkthrough](https://community.intercom.com/getting-started-with-intercom-43/api-how-to-set-up-an-access-bearer-token-a-k-a-find-workspace-access-token-7212) shows these steps; its [MCP guide](https://developers.intercom.com/docs/guides/mcp) documents the bearer-token header and permissions.
              
              Store the raw token only in Dome's secret input, prefixed with `Bearer `. Do not put it in this repository, an agent instruction, or a prompt. Use `https://mcp.eu.intercom.com/mcp` instead of the configured US endpoint only for an EU-hosted Intercom workspace.
              
              ### Gmail
              
              Before import, open [Google Cloud OAuth clients](https://console.cloud.google.com/auth/clients/create) and create a **Web application** OAuth client. Enable **Use this client for an AI-powered agent**, add `https://api.domesystems.ai/oauth/callback` as an authorized redirect URI, and copy the client ID and secret. In **APIs & Services → Library**, enable both **Gmail API** and **Gmail MCP API** for that same project. Configure the consent screen as **Internal**, or add the test user if it is **External**.
              
              - `google_oauth_client_id` and `google_oauth_client_secret`: enter values from a Google Cloud Web OAuth client configured as an AI-powered agent.
              
              Enable the Gmail and Gmail MCP APIs, add only `gmail.readonly`, and register the redirect URI shown by Dome. Use a test mailbox for the first connection.
              
              ### Google Drive
              
              Before import, open [Google Cloud OAuth clients](https://console.cloud.google.com/auth/clients/create) and create a **Web application** OAuth client. Enable **Use this client for an AI-powered agent**, add `https://api.domesystems.ai/oauth/callback` as an authorized redirect URI, and copy the client ID and secret. In **APIs & Services → Library**, enable both **Google Drive API** and **Google Drive MCP API** for that same project. Configure the consent screen as **Internal**, or add the test user if it is **External**.
              
              - `google_oauth_client_id` and `google_oauth_client_secret`: enter values from a Google Cloud Web OAuth client configured as an AI-powered agent.
              
              Enable the Drive and Drive MCP APIs, register the redirect URI shown by Dome, and request only `https://www.googleapis.com/auth/drive.readonly`.
              
              ### Notion
              
              This provider uses Dynamic Client Registration (DCR). Do **not** create or paste an OAuth client ID or client secret: after import, Dome registers the client and opens the provider's consent page.
              
              Importing the template creates the Notion connection and
              attaches it to the gateway without waiting for a tool catalog. In the
              connection step, sign in to Notion with an account that can access the
              workspace or pages the agent should search, then approve the requested
              connection. After authorization, refresh the Notion connection's tools so the
              gateway can use the discovered catalog. Dome uses the API key only to create
              the shared model connection; Sandbox does not retain the value.
              
              ## Import and verify
              
              1. Import the template and provide the values above.
              2. Complete every browser OAuth flow with the intended dedicated test user. Token-based sources do not open a browser.
              3. Open **Tools**, refresh discovery, and confirm every connection is attached to the template gateway.
              4. Run the managed agent against known test data. Treat the template as verified only when the run succeeds **and calls at least one expected read-only tool**.
              
              If a connection is unreachable, check the provider section above for its callback, API/MCP enablement, token prefix, consent scopes, and user/workspace access before retrying.

              Runtime environment

              These variables are required to run the agent. During pull, .env.example is copied to .env when available. If they’re missing, npx @domesystems/templates up retrieves them from Dome and saves them in .env. Pass --provision to refresh them.

              DOME_TOKEN=
              DOME_GATEWAY_URL=

              Agent instructions

              You are Read Out Experiments, a read-only assistant. Analyze experiment results and summarize outcomes, caveats, and recommended next steps.
              
              Use connected tools only to retrieve information. Do not invoke tools that create, update, delete, send, approve, or change upstream state, even if a provider exposes them. Produce a clear answer with source-specific evidence, confidence, assumptions, and recommended human next steps. When an action is needed, draft or recommend it for a person to perform; do not perform it.