Skip to content
SiteOS

Documentation

Integrations

Connect organization providers, share selected Google resources and GitHub repositories, connect Mailchimp and set up notification channels.

Last updated

Integrations manages shared provider connections and notification channels for your SiteOS organization. A connection makes a provider available; each service still selects the destination, property or repository it needs.

Connect a provider

Open Services for the intended organization to connect the accounts and resources your projects use. Services groups them by purpose: Search & analytics for Google, Workflows for GitHub and Mailchimp, and Notifications for email, Slack and Telegram. Each card shows its status and the account in use; less frequent actions such as Reconnect and Disconnect are in its ⋯ menu. Use an account that can grant the required access. Your SiteOS session does not replace the provider's authorization, and you need permission to manage Integrations in that organization.

An agent can guide setup and inspect safe connection status. It cannot infer your provider credentials, and you do not need to paste private tokens into a setup prompt.

Share Google resources

The Google connection is read-only and limited to the resources you select. It has three capabilities:

  • Google Analytics: GA4 reports in Analytics and tracking checks in Trace.
  • Google Search Console: search performance in SEO/GEO, SiteOS Analytics and Google Analytics.
  • Tag Manager: containers and tag configuration in Trace.

After consent, choose which properties, web streams or containers this organization can see and use; other resources stay private. Each Project environment then binds the resource its service requests. Confirm that it belongs to that website environment.

Google consent and resource sharing happen in the SiteOS browser. A shared provider connection can support multiple projects, so review that scope before disconnecting it. Authorizing an optional Google MCP server in your agent is a separate connection from Google inside SiteOS.

Connect Mailchimp

Mailchimp lets Forms forward contacts to your audiences. In Services, choose Connect Mailchimp. In Mailchimp, open Profile → Extras → API keys, create a key, paste it into API key and choose Connect account. The key is stored encrypted and never shown again. Organization owners and administrators manage this connection, and you enter the key only in the SiteOS browser, not in a CLI or agent prompt.

An organization has one Mailchimp connection, shared by all its projects; each form then chooses its own audience. Refresh audiences reloads audiences and fields from Mailchimp. The card's ⋯ menu holds Replace API key, which stops pending deliveries until each form selects the new connection, and Disconnect, which stops forwarding and pending deliveries; contacts already sent to Mailchimp stay there.

Set up notification channels

Open Manage channels from Services or from a service's Notifications page. The Organization tab holds shared channels:

  • Email: add an individual address or a shared team inbox. The recipient confirms it from that inbox before you can select it.
  • Slack: connect your workspace, invite the SiteOS bot to the channels you want and choose a channel in each service.
  • Telegram: connect your private chat with the SiteOS bot using a six-digit code, then add groups where you are an administrator.

Then open Notifications in Pulse, SEO/GEO, Trace or Forms for the intended project environment, choose the events and select destinations. Connecting a channel does not send a message or subscribe any project automatically.

Owners and admins also have a Personal tab for notifications only they receive, such as their verified account email or private Telegram chat. With a verified private chat, the SiteOS Telegram bot answers /pulse, /forms, /seo and /trace with the latest saved results. These commands do not run checks or mark submissions as read.

Send a test where available and check the actual delivery result. A saved destination proves configuration, not that a message reached the channel.

Share GitHub repositories

Open Services → GitHub → Connect GitHub for the intended organization. Continue with GitHub to confirm your account. If no installation is available, install SiteOs - Pulse on the repositories you need and check again. Then choose repositories to share and select Share selected repositories. You need SiteOS connection management permission, and ownership of the GitHub account or administrator access to its organization.

Connected accounts have a Manage resources button that lists shared repositories and refresh progress. Use Add repositories through my GitHub to share more repositories that both your account and the App can access. If a repository is missing, give the App access to it in the App's installation settings on GitHub first. Reload repositories refreshes the shared list; it does not share newly accessible repositories automatically. An empty list and a failed refresh have separate messages; you can retry without disconnecting the account.

One installation can serve several SiteOS organizations, each with its own selected repositories. Several managers can add repositories from their own GitHub accounts. The connection belongs to the organization; Projects bind repositories per environment. Connecting a repository does not attach Pulse, publish tests or enable PR checks. Pulse uses this connection for preview checks and GitHub Check results.

Disconnecting the shared connection affects all services that use it. It preserves saved Project bindings and evidence and does not uninstall the App from GitHub or disconnect other organizations. Do not share private keys or OAuth secrets in chat.

Deployment evidence

GitHub is also the source of deployment evidence. A successful GitHub Deployment identifies the exact commit, environment and URL that went live, which keeps Pulse checks in sync with deployed commits: PR previews start browser checks, and saved Playwright tests with automatic updates follow each website deployment. There is no separate hosting-provider connection or token.

Hosting providers that already create GitHub Deployments need no build change. If your builder does not, run siteos integrations github deployment report once after each successful publication, with SiteOS CLI 3.0.0 or newer. It uses the build's own GH_TOKEN or GITHUB_TOKEN with Deployments: write and records an existing deployment; it never builds or deploys. See Report deployments from another build system.

Connect from your agent or terminal

With CLI 2.32.0 or later and the matching server:

siteos integrations github status --organization <id> --json
siteos integrations github authorize --organization <id> --json
siteos integrations github candidates --organization <id> --json
siteos integrations github connect --installation <id> --repositories <id,id> --organization <id> --json

Complete GitHub consent at the link returned by authorize. If needed, install the App using the installUrl from status, then authorize again. candidates lists repositories available to both your GitHub account and the App; connect shares the repository IDs you choose. Read status until repository discovery is ready.

Use github refresh --installation <id> after changing repository access on GitHub. To add repositories later, repeat authorize, candidates and connect. github remove --installation <id> --repositories <id,id> --confirm stops sharing selected repositories with this organization, and github disconnect --installation <id> --confirm removes the connection. Agents can also configure the Project binding and Pulse PR policy through the CLI; GitHub consent still belongs to you.

Slack destinations use siteos integrations connect, integrations channels --query <name> and integrations destination create --channel <id>. The connect command returns a SiteOS link where you complete Slack authorization.

The siteos_integrations_get_connection MCP tool reads saved Slack, Google, GitHub and Mailchimp connection state, destinations and shared repositories. It does not connect, refresh or change providers. For a form's Mailchimp forwarding, siteos_forms_get_integration reads its settings and siteos_forms_list_deliveries its recent deliveries.