update_support_settings

Change a project's support inbox settings. Anything omitted keeps its stored value.

Purpose

Switch member support on or off, choose where new threads are relayed, set the name members see on replies, set or clear the automatic acknowledgement, and toggle email notifications. Partial by design: only the settings present in the call change, and the rest is assembled from the stored row before the write.

Emits support.settings.updated with the settings as they now stand and what changed — and only when something did. Idempotent: sending the stored values again writes nothing and emits nothing.

Turning support off

With enabled: false, member messages stop reaching the inbox and go back to the bot's "I can't understand" fallback. Existing threads are kept, nothing is deleted, and switching it back on resumes intake — but messages sent in between are not recovered.

relay_mode accepts owner_dm, forum_group and none. forum_group starts relaying once the creator has added the project bot to a group with Topics enabled as an administrator; the bot links the group itself and confirms by DM, so switching the mode alone does not connect anything.

Required ability

project:update

Input schema

{
  "type": "object",
  "required": ["project_id"],
  "properties": {
    "project_id": {
      "type": "string",
      "description": "UUID of the project whose support settings to change."
    },
    "enabled": {
      "type": "boolean",
      "description": "Whether members can open support threads with the bot."
    },
    "relay_mode": {
      "type": "string",
      "description": "Where new threads go besides the dashboard inbox: \"owner_dm\" forwards them to the creator on their connector, \"forum_group\" opens each thread as a topic in the group the project bot administers, \"none\" keeps them in the inbox only."
    },
    "agent_name": {
      "type": "string",
      "description": "The name members see on replies, up to 60 characters. Pass null to use the project name."
    },
    "auto_reply": {
      "type": "string",
      "description": "The message sent automatically when a member opens a thread, up to 1000 characters. Pass null for none."
    },
    "notify_email": {
      "type": "boolean",
      "description": "Whether the creator is emailed about new threads."
    }
  }
}

Output shape

{
  "data": {
    "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",
    "enabled": true,
    "relay_mode": "owner_dm",
    "agent_name": "Team Subscriby",
    "auto_reply": "Thanks, we will reply within a day.",
    "notify_email": true,
    "updated_at": "2026-09-06T10:05:00+00:00"
  }
}

The same row get_support_settings returns, after the change. agent_name and auto_reply come back trimmed; a blank string is stored as null, the same as passing null.

Example prompts

"Turn on Telegram DMs for new support threads on project 7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13 and also email me."

"Set the support auto-reply to 'Thanks — we usually answer within a few hours.'"

"Switch off member support on the archived course project."

Failure modes

  • VALIDATION_FAILEDrelay_mode is anything but owner_dm or none, agent_name longer than 60 characters, auto_reply longer than 1000, or enabled / notify_email not a boolean. The envelope names the offending field. Also returned when the token's owner is on the project's team but their role may not update the project.
  • RESOURCE_NOT_FOUNDproject_id names a project the token cannot see: unknown, another team's, or outside the token's scope:project: allow-list.
  • AUTHENTICATION_REQUIRED — no authenticated user on the request.
  • TOKEN_MISSING_ABILITY — token lacks project:update.

How is this guide?

On this page

Subscriby is a product designed by you — for you.

No boardroom full of executives deciding what we ships next. Our roadmap always shaped by you with your feedback.

Share feedback or a request