> For the complete documentation index, see [llms.txt](https://sandgarden.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sandgarden.gitbook.io/docs/connections.md).

# Connections

Connections contain information that Doc Holiday leverages when creating documentation and release notes.

Doc Holiday analyzes data from connected repositories, including historical commit information and prior changes. When generating documentation or release notes (such as when responding to ambiguous requests or major file updates), Doc Holiday attempts to retrieve relevant context from previous work and integrates commit summaries, messages, and diffs, where available, for more accurate and comprehensive documentation.

### Currently Supported

### Slack App

Slack App is a workspace connection. It connects Doc Holiday to a Slack workspace so Slack based workflows can use that workspace.

To create a Slack App connection:

* Go to the [Connections screen](https://app.doc.holiday/connections), click the 'Add Source' button in the upper right corner, and select 'Slack App' from the Provider dropdown.
* Enter a recognizable name and complete Slack sign in for the workspace that Doc Holiday should access.

Create the Slack App connection first. After it connects the workspace, add a Slack Channel connection for each channel that Doc Holiday should use for Slack actions.

Slack App connections support publication notifier workflows. When a publication uses a notifier, Doc Holiday uses the Slack workspace connection to make channels from that workspace available for notification delivery.

### Slack Channel

Slack Channel is a channel connection. It represents a specific Slack channel that Doc Holiday can use after a Slack App connection links the workspace.

To create a Slack Channel connection:

* Go to the [Connections screen](https://app.doc.holiday/connections), click the 'Add Source' button in the upper right corner, and select 'Slack Channel' from the Provider dropdown.
* Select the Slack App connection for the workspace and choose the channel that Doc Holiday should use.

Slack Channel connections support publication notifier workflows. A publication can use a Slack Channel connection as its notifier, and Work History can send a completion notification to that channel after output is ready.

### GitHub

GitHub repositories are supported as both sources and destinations of information. The repository URL provided must be accessible to the GitHub application deployed within your organization. Branches can be specified for Doc Holiday-generated pull requests to write to; if the field is left empty, it will default to 'main'.

GitHub connections fully support publication triggers for workflow run events (GitHub Actions). When creating a GitHub connection, Doc Holiday will automatically subscribe to workflow run webhook events, enabling you to trigger documentation and release note generation automatically when workflows complete in your repository. When configuring Publications, you can select specific workflow files to monitor as publication triggers.

To create a GitHub connection:

* Go to the [Connections screen](https://app.doc.holiday/connections), click the 'Add Source' button in the upper right corner, and select 'GitHub' from the Provider dropdown.
* Provide a recognizable name and select which GitHub repository you want to make the connection for from the dropdown menu. It will automatically be populated with all repositories that the GitHub application was given permission to access at installation.

> **Note:** Only repositories accessible via your Doc Holiday application (up to 100 repositories per organization) will appear in the selection list. If you have more than 100 repositories, only the first 100 accessible repos will be shown.

#### GitHub App installations via link

In some cases, a non-admin teammate needs help from a GitHub administrator to finish installing the Doc Holiday GitHub App. The GitHub App connection flow supports this with a one-time installation link and an approval request flow.

When you select **GitHub** as the provider and choose that you are **Non-Admin** in the GitHub permissions field, Doc Holiday can generate an invitation link:

1. Click **Create GitHub Installation Link**.
2. Copy the one-time invite link that appears.
3. Open the link to request installation, or share it with a GitHub administrator who has permission to install apps for your organization.

If a non-admin starts the flow, Doc Holiday shows the connection as pending approval. A GitHub administrator then approves the request in GitHub. After the administrator approves the request, the connection will become available.

> **Important:** The installation link is only shown once and expires after 7 days. Copy and store it in a safe place before closing the page.

### GitLab

GitLab repositories are supported as both sources and destinations of information. The repository URL provided must be accessible to the GitLab application deployed within your organization. Branches can be specified for Doc Holiday-generated pull requests to write to; if the field is left empty, it will default to 'main'.

To create a GitLab connection:

* In GitLab, [create an access token](https://docs.gitlab.com/user/project/settings/project_access_tokens/) and save the token generated for later use. Doc Holiday supports project tokens, group access tokens, or personal access tokens.
* Open the **Connections** page in Doc Holiday, select **Add Source**, choose **GitLab**, and enter the project details and token.
* Give the connection a recognizable name in the **Source Name** field, enter the name of the GitLab project, and paste in the access token you copied previously.

> **Important:** The token must have the permission "api scope" and the user creating it must be a maintainer on all repositories to which they would like to connect.

### Bitbucket

Bitbucket connections are supported as both source and target repositories.

Bitbucket connections support pull request events. Bitbucket Repo and Bitbucket Project connections can also read supported Bitbucket repository file links when linked content appears in a request.

#### Bitbucket Repo

Use a Bitbucket Repo connection when a single repository needs its own access token.

To create a Bitbucket Repo connection:

* Create a Bitbucket repository access token and save it for setup.
* Open the **Connections** page in Doc Holiday, select **Add Source**, choose **Bitbucket Repo**, and enter the repository details.
* Enter a recognizable connection name, provide the repository identifier in `workspace/repository-slug` format, paste the repository access token, and select the main branch and publishing system.

#### Bitbucket Provider

Use a Bitbucket Provider connection for workspace-level access.

To create a Bitbucket Provider connection:

* Create a Bitbucket workspace access token and save it for setup.
* Open the **Connections** page in Doc Holiday, select **Add Source**, choose **Bitbucket Provider**, and enter the workspace details.
* Enter a recognizable connection name, enter the workspace name, and paste the workspace access token.

Choose this connection when one workspace token should cover multiple repositories in the same workspace.

#### Bitbucket Project

Use a Bitbucket Project connection after a Bitbucket Provider connection already exists.

To create a Bitbucket Project connection:

* Open the **Connections** page in Doc Holiday, select **Add Source**, and choose **Bitbucket Project**.
* Enter a recognizable connection name.
* Select the repository, main branch, and publishing system after the provider lists the available repositories.

Bitbucket Project setup relies on the connected Bitbucket Provider to list repositories, so the repository picker shows the available options during setup.

### Linear

Linear is supported as a project management integration. Doc Holiday can access and automate workflows based on Linear issues, comments, messages, and webhook events. Doc Holiday will react to new issues, new comments, or editing existing comments in Linear.

When creating or editing a Linear connection, select the team that Doc Holiday should use.

To create a Linear connection:

* In Linear, create an API key with the required permissions for integration.
* Go to the [Connections screen](https://app.doc.holiday/connections), click the 'Add Source' button in the upper right corner, and select 'Linear' from the Provider dropdown.
* Enter a name for the connection and paste the Linear API key in the field provided.

### Google Drive

Google Drive is supported as a source of information, as well as a way to host style guides used (either globally or on a per-Publication basis). Authentication is created using service account credentials.

#### Create a Google Drive connection

1. Ensure the Google Drive API is enabled within the Google Cloud console.
2. Create a service account.
3. Create a key for the service account. The key generates a downloadable JSON file containing the credentials.
4. Go to the [Connections screen](https://app.doc.holiday/connections), click the 'Add Source' button in the upper right corner, and select 'Google Drive' from the Provider dropdown.
5. Copy and paste the contents of the downloaded JSON file, or upload the file into the field.

> **Important:** The service account does not require any special Google Cloud IAM roles.

#### Share files and folders with the service account

Doc Holiday can only read Google Drive content that is shared with the service account created for the connection.

1. Copy the service account email address (for example, `doc-holiday@laptop-llm.iam.gserviceaccount.com`).
2. In Google Drive, open the file or folder.
3. Select **Share**.
4. Add the service account email address as a viewer (or higher).

### Confluence

Confluence is supported as a source of documentation and wiki content for Doc Holiday. Content from your connected Confluence workspaces can be referenced for context during documentation and release note generation.

To create a Confluence connection:

* In Confluence, create or use an existing account with the appropriate API access.
* Generate or retrieve a Confluence API token.
* Go to the [Connections screen](https://app.doc.holiday/connections), click the 'Add Source' button in the upper right corner, and select 'Confluence' from the Provider dropdown.
* Enter a name for your Confluence connection and provide:
  * Site URL (e.g., `https://yourdomain.atlassian.net`)
  * Username (email)
  * API token

> **Note:** Only spaces, pages, and content accessible via the provided credentials can be indexed by Doc Holiday.

### Notion

Notion is supported as a source of context for Doc Holiday. Product specs, design docs, and any other supplementary content shared from your connected Notion workspaces is used in the indexing, context building, and content generation process.

To create a Notion connection:

* In Notion, [create an integration](https://developers.notion.com/docs/authorization) and grab the integration key generated for use in Doc Holiday.
* Go to the [Connections screen](https://app.doc.holiday/connections), click the 'Add Source' button in the upper right corner, and select 'Notion' from the Provider dropdown.
* Enter a name for your Notion connection and paste the integration key copied previously.

### Atlassian Application

Atlassian Application is the current name for the Jira issue automation integration.

To create an Atlassian Application connection:

1. Click the 'Add Source' button in the upper right corner and select 'Atlassian Application' from the Provider dropdown.
2. Enter the Atlassian site URL for the site that should receive the app install.
3. Register the connection. Doc Holiday then shows a shareable install link and copy action that site admins use to open or share the install page.

After the site admin completes the install, Doc Holiday links the connection automatically.

During setup, Doc Holiday stores the `Site URL`, the `API Base URL`, and the `App System Token`.

### Jira Read-Only and Jira Project

Jira Read-Only connections let Doc Holiday read Jira content only. Jira Project connections add project-level access so Doc Holiday can read from and act on issues in a specific project.

Use Jira Read-Only when Doc Holiday only needs read access. Use Jira Project when it needs access to a specific project.

To create a Jira Project connection:

* In Jira, create or use an existing account with API access and generate an API token.
* Go to the [Connections screen](https://app.doc.holiday/connections), click the 'Add Source' button in the upper right corner, and select 'Jira Project' from the Provider dropdown.
* Enter a recognizable connection name.
* Fill in the following fields:
  * **URL** – your Jira cloud site URL (for example, `https://<domain>.atlassian.net`).
  * **Email Address** – the email address for the Jira account associated with the API token.
  * **API Token** – the API token you generated for that account.
  * **Project Key** – the key of the Jira project you want to connect.

Jira Project connections support link listing and link reading for Jira issue URLs. Publication trigger settings pull Jira status values from this connection and use them when work depends on Jira status changes.

#### Create a Zendesk connection

1. Go to the [Connections screen](https://app.doc.holiday/connections), click the 'Add Source' button in the upper right corner, and select 'Zendesk' from the Provider dropdown.
2. Enter a recognizable connection name.
3. Provide the following Zendesk details:
   * **Service URL**
   * **Email Address**
   * **API Key**

### Azure Blob Storage

Azure Blob Storage is supported as a source of information via Azure Blob links. Azure Blob Storage connections support link listing, link parsing, and link reading for supported blob URLs.

To create an Azure Blob Storage connection:

* Go to the [Connections screen](https://app.doc.holiday/connections), click the 'Add Source' button in the upper right corner, and select 'Azure Blob Storage' from the Provider dropdown.
* Enter a **Source Name**.
* Provide Azure Blob Storage credentials and configuration values:
  * **Account Name**
  * **Account Key**
  * **Container Name**

### AWS (S3)

Amazon S3 is supported as a source of information. AWS (S3) connections support link listing, link parsing, and link reading for supported S3 object URLs.

To create an AWS connection:

* Go to the [Connections screen](https://app.doc.holiday/connections), click the 'Add Source' button in the upper right corner, and select 'AWS (S3)' from the Provider dropdown.
* Enter a recognizable connection name.
* Provide AWS credentials and configuration values:
  * **Access Key ID**
  * **Secret Access Key**
  * **Region**

S3 links are detected in these formats:

* `s3://<bucket>/<object>`
* `https://<bucket>.s3.<region>.amazonaws.com/<object>`

Additional S3 URL formats are not yet supported.

### External Documentation

The External Documentation connection type allows you to connect a public documentation repository to Doc Holiday. This provides additional reference context for generating high-quality release notes and for updating or synthesizing new documentation.

To create an External Documentation connection:

* Go to the [Connections screen](https://app.doc.holiday/connections), click the 'Add Source' button in the upper right corner, and select 'External Documentation' from the Provider dropdown.
* Enter a name for your connection and the public URL of the root documentation site.
* If the documentation site requires authentication, provide your credentials:
  * For Basic authentication, supply the username and password.
  * For Bearer authentication, provide the access token.
* For public sites, leave the credential fields empty.

> **Note:** Doc Holiday stores the connection settings and uses authentication only when the documentation site requires it. Public sites do not need credentials.

### Publishing Systems

Connections can be configured as read-only or read/write. Publishing system metadata is used to follow repository conventions (for example, file layout and Markdown frontmatter) when writing documentation.

### Pause background syncing

Connections can be marked as paused. Paused connections are excluded from background syncing.

Before Doc Holiday runs background sync for a connection or publication, it refreshes connection health and checks the latest status. If a connection or publication remains unhealthy, Doc Holiday skips background sync until the connection recovers.

To pause or resume a connection:

1. Edit the connection.
2. Set the **Paused** option.
3. Save the connection.

Paused connection support is available for connection types that display a **Paused** option in the connection form.

### Google Cloud Storage

Google Cloud Storage is supported as a source of document content via Google Cloud Storage links.

Supported Google Cloud Storage link formats:

* `gs://<bucket>/<object>`
* `https://storage.googleapis.com/<bucket>/<object>`
* `https://<bucket>.storage.googleapis.com/<object>`

#### Set a publishing system

1. Create or edit a connection.
2. Select a publishing system.
3. Save the connection.

> **Note:** When no publishing system is selected, writing uses generic Markdown conventions based on the target repository.

**Generic**: A fallback category used when a repository does not match a specific publishing system.

* Official site: N/A
* Docs: N/A
* Writing approach: Writes standard Markdown and follows repository-local conventions (for example, existing folder layout and frontmatter format).

**Antora**: A documentation site generator for AsciiDoc content, often used for multi-repository component versioning.

* Official site: <https://antora.org/>
* Docs: <https://docs.antora.org/>
* Writing approach: Writes and updates AsciiDoc (`.adoc`) pages and navigation, aligning changes to the existing Antora component/module structure.

**Astro**: A web framework that can be used for content sites and documentation, with multiple content authoring options.

* Official site: <https://astro.build/>
* Docs: <https://docs.astro.build/>
* Writing approach: Writes documentation in the format used by the repository (for example, Markdown/MDX) and keeps changes consistent with existing content collections and routing.

**Docusaurus**: A static site generator for documentation, typically using Markdown/MDX with a sidebar configuration.

* Official site: <https://docusaurus.io/>
* Docs: <https://docusaurus.io/docs>
* Writing approach: Writes Markdown/MDX pages and updates navigation files (for example, sidebars) when required by the repository.

**Eleventy**: A static site generator that builds pages from templates and data.

* Official site: <https://www.11ty.dev/>
* Docs: <https://www.11ty.dev/docs/>
* Writing approach: Writes Markdown and edits templates/configuration only when the repository already uses them for documentation organization.

**Gatsby**: A React-based framework that can power documentation sites, commonly authored in MDX.

* Official site: <https://www.gatsbyjs.com/>
* Docs: <https://www.gatsbyjs.com/docs/>
* Writing approach: Writes documentation in the repository’s established format (often MDX) and keeps content consistent with the project’s routing and page conventions.

**Gibook**: A documentation/book workflow and site generator.

* Official site: <https://gibook.io/>
* Docs: <https://gibook.io/docs/>
* Writing approach: Writes content in the structure used by the repository and updates book/navigation files when they exist in the project.

**Hugo**: A static site generator that commonly uses Markdown with frontmatter and theme-specific shortcodes.

* Official site: <https://gohugo.io/>
* Docs: <https://gohugo.io/documentation/>
* Writing approach: Writes Markdown pages with frontmatter consistent with existing content, and uses existing Hugo shortcodes and section structure already present in the repository.

**Jekyll**: A static site generator often used with Markdown and YAML frontmatter.

* Official site: <https://jekyllrb.com/>
* Docs: <https://jekyllrb.com/docs/>
* Writing approach: Writes Markdown pages with YAML frontmatter and follows the site’s established layouts and collections.

**MadCap Flare**: A commercial technical documentation authoring and publishing tool.

* Official site: <https://www.madcapsoftware.com/products/flare/>
* Docs: <https://help.madcapsoftware.com/flare/>
* Writing approach: Writes and updates source content in the format stored in the repository and keeps changes compatible with existing Flare project structure.

**MkDocs**: A Python-based documentation generator, commonly using Markdown and a `mkdocs.yml` configuration file.

* Official site: <https://www.mkdocs.org/>
* Docs: <https://www.mkdocs.org/user-guide/>
* Writing approach: Writes Markdown pages and updates navigation as defined by the repository’s MkDocs configuration.

**Next.js**: A React framework that can be used for documentation sites, often with MDX.

* Official site: <https://nextjs.org/>
* Docs: <https://nextjs.org/docs>
* Writing approach: Writes documentation using the repository’s conventions (for example, MDX under a `pages` or `app` directory) and keeps content aligned with existing routing.

**Nuxt**: A Vue-based framework that can be used to build documentation sites.

* Official site: <https://nuxt.com/>
* Docs: <https://nuxt.com/docs>

### Pause a connection

Pausing a connection disables background sync for that connection.

1. Open the **Connections** page.
2. Create or edit a connection.
3. Enable **Paused**.
4. Save the connection.

If a new or updated connection duplicates an existing configuration or overlaps with a conflicting configuration of the same type, Doc Holiday shows an error instead of saving it.

The **Paused** field is controlled by a feature flag and may not be visible in every organization.

* Writing approach: Writes documentation in the repository’s established content format and keeps changes aligned with Nuxt routing and content organization.

**Sphinx**: A documentation generator commonly used for Python projects, often authored in reStructuredText or Markdown.

* Official site: <https://www.sphinx-doc.org/>
* Docs: <https://www.sphinx-doc.org/en/master/>
* Writing approach: Writes in the repository’s established format (for example, reStructuredText) and updates existing toctree/navigation files when present.

**VuePress**: A Vue-powered static site generator for documentation.

* Official site: <https://vuepress.vuejs.org/>
* Docs: <https://vuepress.vuejs.org/guide/>
* Writing approach: Writes Markdown pages and follows the repository’s existing config and navigation patterns.
