Change Design Settings
helpcenter_update_template_settingsChange document-level design settings in the draft: theme colours (light and dark), fonts, corner radius and density; the brand (name, logo, favicon); meta and SEO; and per-page settings such as a page's layout or how a category page lists its articles.
It edits the help center's design DRAFT (its v2 template): the draft the dashboard's Template Editor opens, with a live preview. Nothing reaches visitors until helpcenter_publish_template — after editing, give the customer the Template Editor link from the result to review, and publish only when they ask. v2 help centers only (a classic one answers template_migration_required). Ids come from helpcenter_get_template.
Each entry is a path and its new value — 'theme.colors.primary' → '#635bff' — or a whole group at once: 'theme.colors' → {primary, accent, …}. The paths and the values each accepts are in helpcenter_get_template_guide (topic 'settings'); anything else is refused with the list of what is accepted. Colours take hex, rgb() or hsl() (stored as hex); set theme.darkColors alongside theme.colors so dark mode stays readable. An image setting (brand.logoAssetId, brand.faviconAssetId) takes {source_url: 'https://…'}: the image is copied onto this help center. Region styling has its own tool (helpcenter_update_template_region). This is the guide's set operation.
Args:
settings (array, 1-50): {path, value}; null clears a nullable setting.
etag (string, optional): from your last read or edit; refuses (stale_draft) if the draft changed since.
Returns: what each entry did (new ids), warnings worth relaying, and the draft status with its new etag.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| etag | No | Optimistic lock: the draft etag from your last read, or the one your last edit returned. When given, the call is refused (stale_draft) if someone changed the draft since — so you never build on a state you have not seen. Omit to apply to the current draft. | |
| settings | Yes | The settings to change. Applied in order, all-or-nothing: if one is refused, nothing from this call is saved and the error names it by position (operation 0 is the first entry). | |
| agent_key | Yes | The api_key helpcenter_create_help_center returned for this help center, exactly as returned. Required on every call: this endpoint has no sign-in, so the key is how each call says which help center it acts on. It is sent to HelpCenter.io as this call's credential and nowhere else, and it is never shown again: keep it for the whole task, and never show it to the user or write it into content. |