> ## Documentation Index
> Fetch the complete documentation index at: https://docs.noisemaker.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Connections

> Configure GA4 and Search Console while keeping provider secrets in operator custody.

<Frame caption="Connector status for a workspace.">
  <img src="https://mintcdn.com/auto-gtm/iXt5uMxsbIiTmJfR/images/console-connections.png?fit=max&auto=format&n=iXt5uMxsbIiTmJfR&q=85&s=088b85943799839ba20c758ee7e33c1c" alt="Connector status for a workspace." width="2880" height="1800" data-path="images/console-connections.png" />
</Frame>

The workspace connection catalog currently exposes Google Analytics 4 and Google Search Console.

## Credential custody

| Integration    | Custodian                                                                 | Configuration                                                                          |
| -------------- | ------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| GA4            | Workspace grants property access; operator holds Google OAuth credentials | Numeric <code>ga4\_property</code> in the workspace YAML                               |
| Search Console | Workspace grants property access; operator holds Google OAuth credentials | URL-prefix or <code>sc-domain:</code> <code>gsc\_property</code> in the workspace YAML |
| OpenRouter     | Operator                                                                  | Root environment only                                                                  |
| Exa            | Operator                                                                  | Root environment only                                                                  |
| AgentMail      | Operator                                                                  | Root environment only                                                                  |
| PageSpeed      | Operator                                                                  | Root environment only                                                                  |

The credential service rejects attempts to save OpenRouter as a workspace connector. Exa, AgentMail, and PageSpeed do not have user connection cards.

## GA4 setup

<Steps>
  <Step title="Copy the workspace email">
    Find the provisioned AgentMail address in Settings.
  </Step>

  <Step title="Invite it to GA4">
    Grant Viewer access on the intended property.
  </Step>

  <Step title="Save the property ID">
    Store the numeric GA4 property identifier as <code>ga4\_property</code> in <code>brands/\<workspace>.yaml</code>.
  </Step>

  <Step title="Run the test">
    Confirm that operator OAuth access can query the configured property.
  </Step>
</Steps>

The numeric property ID is not the browser measurement ID that starts with <code>G-</code>.

## Search Console setup

Invite the workspace address with Full access, then save <code>gsc\_property</code> in <code>brands/\<workspace>.yaml</code> as one of:

* A URL-prefix property, such as <code>[https://www.example.com/](https://www.example.com/)</code>
* A domain property, such as <code>sc-domain:example.com</code>

Domain properties require DNS verification. URL-prefix properties can use the HTML verification token described in [Customer-site measurement](/operations/measurement).

## Exa setup

Exa is an operator integration, not a workspace connection card. Set <code>EXA\_API\_KEY</code> in the root environment or repository-root <code>.env</code>. The web worker copies it into the allowlisted measurement or research process only when that job starts.

Use the <code>exa</code> measurement preset to exercise both configured modes:

| Engine                   | Provider mode | Result                                             |
| ------------------------ | ------------- | -------------------------------------------------- |
| <code>exa</code>         | Answer        | Generated answer with citation evidence            |
| <code>exa\_search</code> | Search        | Ranked retrieval results without answer generation |

There is no Exa **Test connection** action. A completed Exa run proves that the worker could call the provider. If it fails, inspect the run detail for missing operator configuration, provider rejection, or a retryable transport error.

## Test flows

The current GA4 and Search Console test is a configuration check. It reads root environment-key presence and the selected workspace property. It does not send a request to Google.

The result schema supports four outcomes:

| Outcome      | Meaning                                                                      |
| ------------ | ---------------------------------------------------------------------------- |
| Success      | Required environment keys and the workspace property were detected           |
| Invalid      | Reserved for a provider-aware test; the current Google test does not emit it |
| Retry        | Reserved for a provider-aware test; the current Google test does not emit it |
| Unconfigured | Required property or operator configuration is absent                        |

The application cannot inspect the Google property member list, so a successful configuration test does not prove that an invitation was completed. Confirm access through the first GA4 or Search Console data pull.

## Internal integrations

Authority, Gmail, and retrieval services can appear in internal worker paths. They are not part of the current workspace connection catalog. Do not promise a workspace setup flow for them.

<Warning>
  Never paste an operator OpenRouter, Exa, AgentMail, or PageSpeed key into workspace settings or Chat. Keep it in the deployment secret store.
</Warning>
