# Project settings administration

## Choose the right project setting

Project settings control project operation. A snippet is a reusable content block that can be
referenced from a page. A webhook is a project trigger for documentation work. Scheduled regeneration
is documentation work set to run on a chosen schedule.

| If you need to… | Go to |
|---|---|
| Create, edit, or remove reusable content | [Maintain reusable snippets](#maintain-reusable-snippets) |
| Choose webhook triggers or a regeneration schedule | [Configure webhooks and scheduled regeneration](#configure-webhooks-and-scheduled-regeneration) |
| Understand fields, options, and conditional areas | [Understand the settings surfaces](#understand-the-settings-surfaces) |
| Resolve a validation or save problem | [Handle conditional areas and errors](#handle-conditional-areas-and-errors) |
| Continue with other project-level settings | [Manage project settings](doc:manage-project-settings) |
| Locate the project workspace | [Projects overview](doc:projects-overview) |

## Before you start

Project settings apply to the open project. No listed field is marked as required.

**Prerequisites**

- Open the project workspace before selecting its settings.

With the project workspace open, continue to Find the project settings.

## Find the project settings

Project settings are the project-level surfaces where you maintain reusable content or configure
automation that affects documentation work.

1. From **Projects**, open the project and select **Settings**.
2. Select **Snippets** to maintain reusable content.
3. Select **Webhooks & Triggers** to configure triggers and scheduled regeneration.

**Result:** You are on the settings surface for the project operation you need to manage.

## Understand the settings surfaces

The snippets surface combines a list of saved snippets with an editor that opens when you create or
edit one. The webhook surface starts with an expandable **Webhooks & Triggers** panel and can contain
URL, trigger, schedule, delivery, and save areas.

### Snippets

| Area | What you use it for | When it appears |
|---|---|---|
| Snippet table | Review the snippet's name, title, and saved text | When one or more snippets exist |
| Editor | Enter **Name (reference key)**, **Title (optional)**, and **Content (markdown)** | When you create or edit a snippet |
| Reference status | Check whether an existing snippet is used by pages | When reference data has been loaded for an existing snippet |

When the list is loading, the page shows `Loading snippets…`. When no snippets exist and the editor
is closed, it shows `No snippets yet` and `Create one to reuse content across pages.`

### Webhooks & Triggers

Select the **Webhooks & Triggers** panel header to open or close its settings body. When it is open,
the following areas can appear:

| Area | What it contains | When it appears |
|---|---|---|
| Webhook URLs | Provider URLs, a secret readout, and copy or generate controls | When URL data exists |
| Trigger on | **Tag creation**, **Push to branch**, **tag pattern**, **branch pattern**, and **GitHub/GitLab release** | When trigger configuration exists |
| Scheduled regeneration | **Enable scheduled regeneration**, **Cron expression**, and **Timezone** | When trigger configuration exists; the selects appear when scheduled regeneration is enabled |
| Recent webhook deliveries | **Time**, **Provider**, **Event**, **Status**, and **Result** | When recent delivery records exist |
| Save area | **Save configuration** | When the settings body is open |

The **Cron expression** options are `Select schedule...`, `Weekly (Mon 8am)`, `Bi-weekly (1st &
15th)`, `Monthly (1st at 8am)`, and `Custom cron`. The **Timezone** options are `UTC`, `Eastern
(ET)`, `Central (CT)`, `Mountain (MT)`, `Pacific (PT)`, `London (GMT)`, `Berlin (CET)`, and `Dubai
(GST)`.

Choose the procedure that matches the setting you need to change.

## Maintain reusable snippets

Use this procedure when you need to create, revise, cancel, or remove a snippet.

**Prerequisites**

- From **Projects**, open the project and select **Settings**.
- Select **Snippets**.
- Have the reference key, optional title, and markdown content ready when creating or editing a
  snippet.

**Steps**

1. Choose the operation you need:

   | If you need to… | Select |
   |---|---|
   | Create a snippet | **New snippet** |
   | Open an existing snippet | **Edit `<snippet name>`** |
   | Remove an existing snippet | **Delete `<snippet name>`** |

2. If you selected **Delete `<snippet name>`**, confirm the browser prompt displaying
   `Delete snippet "<snippet.name>"?<usage>`. Confirming **Delete `<snippet name>`** completes the
   deletion path; skip steps 3–7.
3. If you selected **New snippet** or **Edit `<snippet name>`**, enter the value in
   **Name (reference key)**.
4. If you selected **New snippet** or **Edit `<snippet name>`**, enter a title in
   **Title (optional)** when the snippet needs one.
5. If you selected **New snippet** or **Edit `<snippet name>`**, enter the reusable markdown content
   in **Content (markdown)**.
6. If you selected **New snippet** or **Edit `<snippet name>`**, choose one path:

   | If you need to… | Select |
   |---|---|
   | Save a new or edited snippet | **Save** |
   | Leave the editor without saving the current changes | **Cancel** |

7. If you selected **Edit `<snippet name>`**, review its reference status: the page can show
   `Not referenced by any page yet.` or `Referenced by: <page titles>`.

**Result:** The editor closes after a successful create or update and the snippet list reloads; a
successful removal reloads the list, while **Cancel** closes the editor without saving.

## Configure webhooks and scheduled regeneration

Use this procedure to set trigger conditions, choose a schedule, review delivery information, and
save the configuration.

**Prerequisites**

- From **Projects**, open the project and select **Settings**.
- Select **Webhooks & Triggers**.
- Have the desired trigger conditions and schedule ready.

**Steps**

1. Select the **Webhooks & Triggers** panel header to open the settings body.
2. Review the provider URL shown in **Webhook URLs**.
3. In **Webhook URLs**, select the copy icon beside the provider URL when you need to copy it.
4. In **Trigger on**, select the trigger options that apply: **Tag creation**, **Push to branch**,
   or **GitHub/GitLab release**.
5. Enter the matching value in **tag pattern** or **branch pattern** when you use the corresponding
   trigger.
6. Select **Enable scheduled regeneration** when the project needs a recurring schedule.
7. Choose a value from **Cron expression**.
8. Choose a value from **Timezone**.
9. Review **Recent webhook deliveries** when delivery records are available.
10. Select **Save configuration**.
11. Choose one path for the secret:

    | If you need to… | Select |
    |---|---|
    | Generate a replacement secret | **Generate new webhook secret** |
    | Copy a generated secret | **Copy webhook secret** |

**Result:** The selected trigger and schedule values are sent as the project configuration, and the
secret controls update or copy the secret when used.

If a message appears, continue to Handle conditional areas and errors.

## Handle conditional areas and errors

Use the message on screen to decide whether to correct an entry, confirm a destructive action, or
retry the operation.

| What you see | What it means | What to do |
|---|---|---|
| `Name must be a slug: lowercase letters/digits, then letters/digits/hyphen/underscore (max 64 chars).` | The snippet name does not meet the accepted format. | Correct **Name (reference key)** and select **Save** again. |
| `Delete snippet "<snippet.name>"?<usage>` | The page is asking you to confirm deletion. | Confirm the browser prompt only when you intend to remove the snippet. |
| `Save failed` after saving a snippet | The snippet save did not complete. | Correct the entry if needed and select **Save** again. |
| `Delete failed` after deleting a snippet | The snippet removal did not complete. | Return to the snippet list and retry the delete action. |
| `New secret generated. Copy it now — it won't be shown again.` | A new webhook secret was generated. | Select **Copy webhook secret** before leaving the settings surface. |
| `Failed` after generating a secret | Secret generation did not complete. | Retry **Generate new webhook secret**. |
| `Save failed` after saving webhook configuration | The webhook configuration save did not complete. | Review the trigger and schedule values, then select **Save configuration** again. |

## Know what happens next

After you select **Save**, a saved snippet is created or updated and the list reloads. After deletion,
the list reloads. After you select **Save configuration**, the webhook settings are saved. Continue with
[Manage project settings](doc:manage-project-settings) for other project-level settings, or return
to [Projects overview](doc:projects-overview) to choose another project workspace.
