Summer AI MCP
An official MCP server for Summer AI that enables AI agents to handle telehealth support and sales workflows. It allows agents to investigate cases, manage orders, process billing, and coordinate with pharmacy follow-ups by connecting to existing company tools like help desks, clinical platforms, and payment processors within approved permissions.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://api.gosummer.ai/mcpWhat you can do with it
- Investigate telehealth customer cases and orders
- Manage billing inquiries and pharmacy follow-ups
- Connect and verify integrations with help desks and clinical tools
- Coordinate support workflows across chat, phone, email, and text
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- summer 0.2.7
- MCP protocol
- 2025-06-18
- Tools
- 233 advertised
- Resources
- 0 advertised
- Resource templates
- 0 advertised
- Prompts
- 1 advertised
{
"tools": {},
"prompts": {},
"resources": {}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
233 advertised
summer_onboarding_policies_read — Read the existing AI employee choices and four explained company questions, five optional policy preferences, current answers, connected channel/teammate/patient-portal choices, exact preview and agent setup instructions
Read the existing AI employee choices and four explained company questions, five optional policy preferences, current answers, connected channel/teammate/patient-portal choices, exact preview and agent setup instructions. Company branding is already known. No long questionnaire is returned.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}{
"title": "Read the existing AI employee choices and four explained company questions, five optional policy preferences, current answers, connected channel/teammate/patient-portal choices, exact preview and agent setup instructions",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_onboarding_policies_save — Save any partial policy answer patch, including answers researched by an authorized agent with website/code/knowledge sources and notes
Save any partial policy answer patch, including answers researched by an authorized agent with website/code/knowledge sources and notes. useStarterDefaults with the current catalogVersion selects starter policies and fills the five optional preferences, preserving existing tailored policies. Choose the company AI employee by employeeId; known destinations can use an owned selection reference; missing facts have no invented default. Empty answers are allowed. Draft only, no runtime activation; skip any or all questions.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"expectedRevision",
"catalogVersion",
"answers"
],
"properties": {
"answers": {
"type": "array",
"items": {
"type": "object",
"required": [
"question",
"choice"
],
"properties": {
"note": {
"type": "string",
"maxLength": 500,
"minLength": 1
},
"text": {
"type": "string",
"maxLength": 500,
"minLength": 1
},
"choice": {
"enum": [
"rebody",
"standard",
"alternative",
"custom",
"not_applicable",
"later",
"employee"
],
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"kind",
"reference"
],
"properties": {
"kind": {
"enum": [
"website",
"code",
"knowledge"
],
"type": "string"
},
"revision": {
"type": "string",
"maxLength": 160,
"minLength": 1
},
"reference": {
"type": "string",
"maxLength": 1000,
"minLength": 1
}
},
"additionalProperties": false
},
"maxItems": 5
},
"question": {
"type": "string",
"pattern": "^[a-z]+\\.[a-z-]+$",
"maxLength": 60
},
"selection": {
"type": "object",
"required": [
"kind",
"id"
],
"properties": {
"id": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"kind": {
"enum": [
"chat",
"email",
"sms",
"phone",
"member",
"clinical",
"catalog"
],
"type": "string"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
},
"employeeId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
},
"maxItems": 10
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"catalogVersion": {
"type": "number",
"const": 3
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expectedRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"useStarterDefaults": {
"type": "boolean"
}
},
"additionalProperties": false
}{
"title": "Save any partial policy answer patch, including answers researched by an authorized agent with website/code/knowledge sources and notes",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_onboarding_policies_publish — Apply a reviewed saved policy draft to exact company knowledge revisions with company-admin authority and audit history
Apply a reviewed saved policy draft to exact company knowledge revisions with company-admin authority and audit history. forLaunch checks the selected company AI employee and four company facts; other policies are optional. Shared clinical/identity/approval boundaries remain. Does not publish public articles, activate integrations, change hours/billing or approve customer effects. Existing operations libraries use their normal knowledge editor.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"expectedRevision",
"documentRevisions",
"reason"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"forLaunch": {
"type": "boolean"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expectedRevision": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"documentRevisions": {
"type": "object",
"required": [
"ops.core",
"ops.customer-policy-choices",
"ops.operating-policy-choices"
],
"properties": {
"ops.core": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"ops.customer-policy-choices": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"ops.operating-policy-choices": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}{
"title": "Apply a reviewed saved policy draft to exact company knowledge revisions with company-admin authority and audit history",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_customers_save — Save an owned administrative customer and contact discovery leads with source evidence at an expected revision
Save an owned administrative customer and contact discovery leads with source evidence at an expected revision. Company admin required. Retains history; never verifies a patient, links a sign-in session, enables a provider or authorizes a customer effect.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"id",
"expectedRevision",
"displayName",
"contacts",
"sourceReference"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"contacts": {
"type": "array",
"items": {
"type": "object",
"required": [
"kind",
"value"
],
"properties": {
"kind": {
"enum": [
"email",
"phone"
],
"type": "string"
},
"value": {
"type": "string",
"maxLength": 254,
"minLength": 1
}
},
"additionalProperties": false
},
"maxItems": 20
},
"displayName": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"sourceReference": {
"type": "object",
"required": [
"system",
"reference",
"observedAt"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"system": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"reference": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"observedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
}
},
"additionalProperties": false
},
"expectedRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}{
"title": "Save an owned administrative customer and contact discovery leads with source evidence at an expected revision",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_customers_search — Search the saved company customer store by name, customer UUID, provider identifier or exact email/E
Search the saved company customer store by name, customer UUID, provider identifier or exact email/E.164 phone. Returns separate ambiguous candidates, source evidence and honest coverage. Discovery never verifies account access or searches Rebody Auth.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"q"
],
"properties": {
"q": {
"type": "string",
"maxLength": 200,
"minLength": 2
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Search the saved company customer store by name, customer UUID, provider identifier or exact email/E",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_runtime_connection_read — Read the company runtime connection, capability switches, pilot cases, automatic investigation setting and original configuration history
Read the company runtime connection, capability switches, pilot cases, automatic investigation setting and original configuration history.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read the company runtime connection, capability switches, pilot cases, automatic investigation setting and original configuration history",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_runtime_connection_configure — Configure this company's runtime and pilot at the current revision
Configure this company's runtime and pilot at the current revision. Production activation requires current readiness evidence. Preserves budgets and exact effect approval; automatic investigations prepare plans and do not enable automatic actions.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"version",
"enabled",
"knowledge",
"investigations",
"effects"
],
"properties": {
"caseIds": {
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"maxItems": 1000
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"effects": {
"type": "boolean"
},
"enabled": {
"type": "boolean"
},
"version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"allCases": {
"type": "boolean"
},
"knowledge": {
"type": "boolean"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"investigations": {
"type": "boolean"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"workflowProfile": {
"enum": [
"public_support",
"account_support"
],
"type": "string"
},
"automaticInvestigations": {
"type": "boolean"
}
},
"additionalProperties": false
}{
"title": "Configure this company's runtime and pilot at the current revision",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_knowledge_shared_review — Compare an exact shared publication with this company's adopted revisions, showing original before/after content and removed documents
Compare an exact shared publication with this company's adopted revisions, showing original before/after content and removed documents.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"profile",
"version"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"profile": {
"type": "string",
"pattern": "^(general|telehealth|provider:[a-z0-9_-]+)$"
},
"version": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}{
"title": "Compare an exact shared publication with this company's adopted revisions, showing original before/after content and removed documents",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_knowledge_shared_publish — Publish exact versioned shared guidance with Summer platform-admin authority
Publish exact versioned shared guidance with Summer platform-admin authority. Company-admin authority alone cannot publish. Preserves pinned company adoptions and prior snapshots.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"profile",
"expectedVersion",
"reason",
"documents"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"profile": {
"type": "string",
"pattern": "^(general|telehealth|provider:[a-z0-9_-]+)$"
},
"documents": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"path",
"content",
"authority"
],
"properties": {
"id": {
"type": "string",
"pattern": "^shared\\.[a-z0-9.-]+$"
},
"path": {
"type": "string",
"pattern": "^shared\\/[a-z0-9._/-]+\\.md$"
},
"content": {
"type": "string",
"maxLength": 100000,
"minLength": 1
},
"authority": {
"enum": [
"required",
"advisory"
],
"type": "string"
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1
},
"expectedVersion": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Publish exact versioned shared guidance with Summer platform-admin authority",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_onboarding_readiness — Read readiness separately for public support and account/order support, actual activation, relevant check freshness, provider account state and adopted shared guidance
Read readiness separately for public support and account/order support, actual activation, relevant check freshness, provider account state and adopted shared guidance. Optional unfinished providers do not block unrelated working capabilities. Saved keys and templates do not establish readiness.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read readiness separately for public support and account/order support, actual activation, relevant check freshness, provider account state and adopted shared guidance",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_providers_connections_list — Read company-owned clinician/provider account configuration and actual verified capabilities
Read company-owned clinician/provider account configuration and actual verified capabilities. Credential names only; no values.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read company-owned clinician/provider account configuration and actual verified capabilities",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_providers_connections_save — Save provider account metadata at an expected revision or disconnect it
Save provider account metadata at an expected revision or disconnect it. Changes invalidate previous checks and disable its capabilities. This does not assert a working Bask API or verify credentials.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"id",
"expectedRevision",
"provider",
"accountId",
"region",
"configuration",
"credentialNames"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"region": {
"type": "string",
"maxLength": 100
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"provider": {
"type": "string",
"pattern": "^[a-z][a-z0-9_-]{1,63}$"
},
"accountId": {
"type": "string",
"maxLength": 200
},
"disconnect": {
"type": "boolean",
"default": false
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"configuration": {
"type": "object",
"properties": {
"notes": {
"type": "string",
"maxLength": 5000
},
"supportUrl": {
"type": "string",
"format": "uri"
},
"clinicalUrl": {
"type": "string",
"format": "uri"
},
"documentationUrl": {
"type": "string",
"format": "uri"
}
},
"additionalProperties": false
},
"credentialNames": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Z][A-Z0-9_]{0,127}$"
},
"maxItems": 50
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expectedRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}{
"title": "Save provider account metadata at an expected revision or disconnect it",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_knowledge_effective — Read the effective knowledge manifest and exact shared/company document revisions used by agents, including provenance and published customer guide links
Read the effective knowledge manifest and exact shared/company document revisions used by agents, including provenance and published customer guide links.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}{
"title": "Read the effective knowledge manifest and exact shared/company document revisions used by agents, including provenance and published customer guide links",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_knowledge_adoptions — Read current and latest shared publication versions, adoption history and the company's business profile
Read current and latest shared publication versions, adoption history and the company's business profile.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}{
"title": "Read current and latest shared publication versions, adoption history and the company's business profile",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_knowledge_adopt — Adopt an exact published shared version with company-admin authority, expected adoption revision and reason
Adopt an exact published shared version with company-admin authority, expected adoption revision and reason. Preserves local company policies and prior agent snapshots.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"profile",
"version",
"expectedRevision",
"reason"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"profile": {
"type": "string",
"pattern": "^(general|telehealth|provider:[a-z0-9_-]+)$"
},
"version": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expectedRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}{
"title": "Adopt an exact published shared version with company-admin authority, expected adoption revision and reason",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_github_issues_read — Check issue permission and repository visibility, or read one original GitHub issue by number
Check issue permission and repository visibility, or read one original GitHub issue by number. Restricted to company-selected repositories; no credentials or writes. Issue closure does not resolve the customer case.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"source_id"
],
"properties": {
"number": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"source_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Check issue permission and repository visibility, or read one original GitHub issue by number",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_github_connection_read — Read the company GitHub installation, selected repositories/folders and cached commit status
Read the company GitHub installation, selected repositories/folders and cached commit status. Makes no GitHub request and returns no credentials.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read the company GitHub installation, selected repositories/folders and cached commit status",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_github_connection_start — Get the Summer browser URL for a company administrator to install and authorize the Summer GitHub App
Get the Summer browser URL for a company administrator to install and authorize the Summer GitHub App. Code access is read-only; issue handoffs use separate GitHub Issues permission and exact case approval. Does not grant access or connect an installation by itself.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Get the Summer browser URL for a company administrator to install and authorize the Summer GitHub App",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_github_repositories_list — List repositories available to this company GitHub installation
List repositories available to this company GitHub installation. Provider metadata read; no file content.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"page": {
"type": "integer",
"maximum": 10000,
"minimum": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "List repositories available to this company GitHub installation",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_github_folders_list — Browse repository folders at a branch or commit before selecting access
Browse repository folders at a branch or commit before selecting access.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"repositoryId",
"repository",
"ref"
],
"properties": {
"ref": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"path": {
"type": "string",
"maxLength": 1000
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"repository": {
"type": "string",
"pattern": "^[A-Za-z0-9_.-]+\\/[A-Za-z0-9_.-]+$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"repositoryId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}{
"title": "Browse repository folders at a branch or commit before selecting access",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_github_sources_save — Choose repository branches/commits and allowed folders
Choose repository branches/commits and allowed folders. A dot selects the whole repository. Replaces selections with an expected version and invalidates old cached access. Does not sync code.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"expected_version",
"sources"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"repositoryId",
"repository",
"ref",
"folders"
],
"properties": {
"ref": {
"type": "string",
"maxLength": 255,
"minLength": 1
},
"folders": {
"type": "array",
"items": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"maxItems": 100,
"minItems": 1
},
"repository": {
"type": "string",
"pattern": "^[A-Za-z0-9_.-]+\\/[A-Za-z0-9_.-]+$"
},
"repositoryId": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"maxItems": 20
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}{
"title": "Choose repository branches/commits and allowed folders",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_github_sources_sync — Refresh the selected repository code cache once from GitHub
Refresh the selected repository code cache once from GitHub. Reuses the cache for an unchanged commit; sandbox startup never pulls GitHub.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"source_id"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"source_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Refresh the selected repository code cache once from GitHub",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_github_sources_read — List cached source paths, or read one cached file with path
List cached source paths, or read one cached file with path. Only currently selected company folders are available. No live GitHub call or credentials.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"source_id"
],
"properties": {
"path": {
"type": "string",
"maxLength": 1000
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"source_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "List cached source paths, or read one cached file with path",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_github_connection_disconnect — Disconnect this company/environment GitHub source access and remove its cached archives
Disconnect this company/environment GitHub source access and remove its cached archives.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"expected_version"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}{
"title": "Disconnect this company/environment GitHub source access and remove its cached archives",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_actions_catalog_list — List every action Summer can use for this company, the hosts each saved credential may be sent to, and the partner contacts the company named: built-in actions, connector actions and the company's own actions
List every action Summer can use for this company, the hosts each saved credential may be sent to, and the partner contacts the company named: built-in actions, connector actions and the company's own actions. Each shows its stage (off, review or automatic), whether it can ever run without a person, and its track record over 30 days: proposals, unchanged approvals, runs, uncertain runs and runs without a person. Changes nothing.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "List every action Summer can use for this company, the hosts each saved credential may be sent to, and the partner contacts the company named: built-in actions, connector actions and the company's own actions",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_actions_candidates_list — List approved work from the last 60 days that no catalogue action covers: free-form tasks and raw API calls, with how often each recurred
List approved work from the last 60 days that no catalogue action covers: free-form tasks and raw API calls, with how often each recurred. Each can become a company action with actions.company.from_run. Changes nothing.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "List approved work from the last 60 days that no catalogue action covers: free-form tasks and raw API calls, with how often each recurred",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_actions_company_from_run — Save one piece of approved work as a draft company action: the task's instructions, or the API call's method, path and body (give its https origin)
Save one piece of approved work as a draft company action: the task's instructions, or the API call's method, path and body (give its https origin). Replace case details with inputs, test and publish it like any other action. Never publishes.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"key",
"job_id",
"expected_version"
],
"properties": {
"key": {
"type": "string",
"pattern": "^company\\.[a-z0-9][a-z0-9-]{1,62}$"
},
"job_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"origin": {
"type": "string",
"maxLength": 200
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"effect_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "The version you read; 0 for a new action"
}
},
"additionalProperties": false
}{
"title": "Save one piece of approved work as a draft company action: the task's instructions, or the API call's method, path and body (give its https origin)",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_actions_company_get — Read one company action: its draft, published revision, revision history, stage and stage history
Read one company action: its draft, published revision, revision history, stage and stage history.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"key"
],
"properties": {
"key": {
"type": "string",
"pattern": "^company\\.[a-z0-9][a-z0-9-]{1,62}$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read one company action: its draft, published revision, revision history, stage and stage history",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_actions_company_save — Create or edit a company action's draft with the expected version
Create or edit a company action's draft with the expected version. An API action (runner http) names the request Summer sends: method, https host, path, body and the saved credential name. A task action (runner agent) describes work the agent does with its own tools, such as a procedure or a website task. The agent sees only published revisions. Saving never publishes.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"key",
"definition",
"expected_version"
],
"properties": {
"key": {
"type": "string",
"pattern": "^company\\.[a-z0-9][a-z0-9-]{1,62}$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"definition": {
"type": "object",
"description": "The action definition. Read docs/design/summer-action-bindings/05-company-actions.md for the fields.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "The version you read; 0 for a new action"
}
},
"additionalProperties": false
}{
"title": "Create or edit a company action's draft with the expected version",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_actions_company_test — Render the draft or published action with example inputs: the exact request (without the credential) or the exact task text, plus any problems
Render the draft or published action with example inputs: the exact request (without the credential) or the exact task text, plus any problems. Sends nothing and changes nothing.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"key"
],
"properties": {
"key": {
"type": "string",
"pattern": "^company\\.[a-z0-9][a-z0-9-]{1,62}$"
},
"use": {
"enum": [
"draft",
"published"
],
"type": "string",
"default": "draft"
},
"inputs": {
"type": "object",
"default": {},
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 4000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "array",
"items": {},
"maxItems": 200
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
]
}
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Render the draft or published action with example inputs: the exact request (without the credential) or the exact task text, plus any problems",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_actions_company_publish — Publish the current draft as the next revision with the expected version
Publish the current draft as the next revision with the expected version. The agent can propose it from the next investigation. A new action starts at Review: a person approves each use until an admin moves it to Automatic.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"key",
"reason",
"expected_version"
],
"properties": {
"key": {
"type": "string",
"pattern": "^company\\.[a-z0-9][a-z0-9-]{1,62}$"
},
"reason": {
"type": "string",
"maxLength": 500,
"minLength": 3,
"description": "Why you are making this change. Kept in the history."
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "The version you read; 0 for a new action"
}
},
"additionalProperties": false
}{
"title": "Publish the current draft as the next revision with the expected version",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_actions_company_retire — Remove a company action from the agent's catalogue with the expected version
Remove a company action from the agent's catalogue with the expected version. Approved work that uses it stops before it starts. Revisions and history stay.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"key",
"reason",
"expected_version"
],
"properties": {
"key": {
"type": "string",
"pattern": "^company\\.[a-z0-9][a-z0-9-]{1,62}$"
},
"reason": {
"type": "string",
"maxLength": 500,
"minLength": 3,
"description": "Why you are making this change. Kept in the history."
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "The version you read; 0 for a new action"
}
},
"additionalProperties": false
}{
"title": "Remove a company action from the agent's catalogue with the expected version",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_credentials_scope_update — Set the hosts company actions may send one saved credential to, with the expected version (0 when it has no scope yet)
Set the hosts company actions may send one saved credential to, with the expected version (0 when it has no scope yet). Use exact https hosts, or https://*.example.com for any subdomain. A key with no scope may be sent to any public https host. Never reads or changes the value.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"name",
"hosts",
"reason",
"expected_version"
],
"properties": {
"name": {
"type": "string",
"pattern": "^[A-Z][A-Z0-9_]{1,127}$"
},
"hosts": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 9,
"description": "https://api.example.com or https://*.example.com"
},
"maxItems": 20,
"minItems": 1
},
"reason": {
"type": "string",
"maxLength": 500,
"minLength": 3,
"description": "Why you are making this change. Kept in the history."
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "The version you read; 0 for a new action"
}
},
"additionalProperties": false
}{
"title": "Set the hosts company actions may send one saved credential to, with the expected version (0 when it has no scope yet)",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_partners_contacts_save — Name an email address, an email domain or a Slack channel as a partner or as your own team
Name an email address, an email domain or a Slack channel as a partner or as your own team. Summer then knows who vendor mail and Slack replies reach, so they can run on their own under the company policy instead of waiting as an unknown audience. Saving an existing entry changes its audience or label.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"kind",
"value",
"audience"
],
"properties": {
"kind": {
"enum": [
"email",
"email_domain",
"slack_channel"
],
"type": "string"
},
"label": {
"type": "string",
"maxLength": 120
},
"value": {
"type": "string",
"maxLength": 254,
"minLength": 2,
"description": "ops@example.com, example.com or a Slack channel ID such as C0123ABCD"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"audience": {
"enum": [
"partner",
"internal"
],
"type": "string"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Name an email address, an email domain or a Slack channel as a partner or as your own team",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_partners_contacts_remove — Remove a partner contact
Remove a partner contact. Mail or Slack posts to it go back to an unknown audience. The entry and the reason stay in the history.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"id",
"reason"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"reason": {
"type": "string",
"maxLength": 500,
"minLength": 3,
"description": "Why you are making this change. Kept in the history."
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Remove a partner contact",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_actions_stage_update — Set one action's stage with the expected version: off (never proposed), review (a person approves each use) or automatic (may run without a person when the company policy and the agent's checks allow)
Set one action's stage with the expected version: off (never proposed), review (a person approves each use) or automatic (may run without a person when the company policy and the agent's checks allow). Automatic needs a person's delegated messaging.activate grant. A task action at automatic also needs described_accepted: true. Money, identity, clinical and other person-only actions cannot be automatic. A failed or uncertain automatic run moves the action back to review on its own.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"key",
"stage",
"reason",
"expected_version"
],
"properties": {
"key": {
"type": "string",
"pattern": "^[a-z][a-zA-Z0-9]*(\\.[a-zA-Z0-9][a-zA-Z0-9-]*)+$",
"maxLength": 120
},
"stage": {
"enum": [
"off",
"review",
"automatic"
],
"type": "string"
},
"reason": {
"type": "string",
"maxLength": 500,
"minLength": 3
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"daily_limit": {
"anyOf": [
{
"type": "integer",
"maximum": 1000,
"minimum": 1
},
{
"type": "null"
}
]
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"described_accepted": {
"type": "boolean"
}
},
"additionalProperties": false
}{
"title": "Set one action's stage with the expected version: off (never proposed), review (a person approves each use) or automatic (may run without a person when the company policy and the agent's checks allow)",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_reports_themes_get — Read one saved recurring-issue report and its source snapshot, including reports older than the latest list
Read one saved recurring-issue report and its source snapshot, including reports older than the latest list. Requires current operational company access.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"report"
],
"properties": {
"report": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read one saved recurring-issue report and its source snapshot, including reports older than the latest list",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_reports_themes_list — Read the latest private recurring-issue reports, original case references, source coverage, generation status and human review
Read the latest private recurring-issue reports, original case references, source coverage, generation status and human review. Generated themes are suggestions, not verified causes.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read the latest private recurring-issue reports, original case references, source coverage, generation status and human review",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_reports_themes_generate — Generate a private recurring-issue report from the admitted case-summary cohort
Generate a private recurring-issue report from the admitted case-summary cohort. One immutable request ID prevents duplicate inference. No customer, knowledge or publication effect.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"request_id",
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"from": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"request_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Generate a private recurring-issue report from the admitted case-summary cohort",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_reports_themes_review — Record a human disposition on a saved recurring-issue theme at its expected revision
Record a human disposition on a saved recurring-issue theme at its expected revision. Retains the original analysis and source references; does not change cases or company knowledge.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"report",
"expected_revision",
"theme",
"disposition",
"reason"
],
"properties": {
"theme": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"reason": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"report": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"disposition": {
"enum": [
"useful",
"dismissed",
"needs_investigation"
],
"type": "string"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_revision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}{
"title": "Record a human disposition on a saved recurring-issue theme at its expected revision",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_workflows_list — Read built-in tasks and company/environment-owned workflow templates
Read built-in tasks and company/environment-owned workflow templates. Selecting one never runs work.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"retired": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"true",
"false"
],
"type": "string"
}
]
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read built-in tasks and company/environment-owned workflow templates",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_workflows_history — Read the original revisions and authenticated edits for a saved workflow
Read the original revisions and authenticated edits for a saved workflow.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"workflow"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"workflow": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read the original revisions and authenticated edits for a saved workflow",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_workflows_save — Save, retire or restore a task template with its expected revision
Save, retire or restore a task template with its expected revision. Changes no case or effect authority.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"id",
"expected_revision",
"name",
"description",
"instructions",
"retired",
"reason"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"name": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"reason": {
"type": "string",
"maxLength": 500,
"minLength": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"retired": {
"type": "boolean"
},
"description": {
"type": "string",
"maxLength": 500
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"instructions": {
"type": "string",
"maxLength": 6000,
"minLength": 1
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_revision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}{
"title": "Save, retire or restore a task template with its expected revision",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_workflows_request_text — Prepare editable operator guidance from an exact active workflow revision and feedback
Prepare editable operator guidance from an exact active workflow revision and feedback. Starts no investigation and executes no action.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"id",
"expected_revision"
],
"properties": {
"id": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"feedback": {
"type": "string",
"default": "",
"maxLength": 8000
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"expected_revision": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}{
"title": "Prepare editable operator guidance from an exact active workflow revision and feedback",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_support_policy_read — Read business hours, holidays, response commitments and scheduled policy revisions
Read business hours, holidays, response commitments and scheduled policy revisions. These business hours also govern queued Summer Slack posts; without an effective revision Slack defaults to Monday–Friday, 9am–5pm America/Los_Angeles.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}{
"title": "Read business hours, holidays, response commitments and scheduled policy revisions",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_support_policy_update — Save business hours and response commitments with the expected revision and an effective date
Save business hours and response commitments with the expected revision and an effective date. The effective calendar also sets Summer Slack sending hours, including timezone and holidays; queued posts recheck it before delivery.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"expectedRevision",
"calendar",
"commitments",
"pauseOnCustomerWait",
"effectiveAt",
"reason"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 500,
"minLength": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"calendar": {
"type": "object",
"required": [
"timezone",
"periods",
"holidays"
],
"properties": {
"periods": {
"type": "array",
"items": {
"type": "object",
"required": [
"day",
"open",
"close"
],
"properties": {
"day": {
"type": "integer",
"maximum": 6,
"minimum": 0
},
"open": {
"type": "string",
"maxLength": 5
},
"close": {
"type": "string",
"maxLength": 5
}
},
"additionalProperties": false
},
"maxItems": 28
},
"holidays": {
"type": "array",
"items": {
"type": "object",
"required": [
"date",
"name"
],
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"name": {
"type": "string",
"maxLength": 80,
"minLength": 1
}
},
"additionalProperties": false
},
"maxItems": 100
},
"timezone": {
"type": "string",
"maxLength": 100
}
},
"additionalProperties": false
},
"commitments": {
"type": "array",
"items": {
"type": "object",
"required": [
"kind",
"targetMinutes"
],
"properties": {
"kind": {
"enum": [
"first_response",
"next_response",
"resolution"
],
"type": "string"
},
"targetMinutes": {
"anyOf": [
{
"type": "number",
"exclusiveMinimum": 0
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"maxItems": 3
},
"effectiveAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expectedRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"pauseOnCustomerWait": {
"type": "boolean"
}
},
"additionalProperties": false
}{
"title": "Save business hours and response commitments with the expected revision and an effective date",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_saved_replies_list — Read company saved replies, optionally including retired replies
Read company saved replies, optionally including retired replies.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"retired": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"true",
"false"
],
"type": "string"
}
]
}
},
"additionalProperties": false
}{
"title": "Read company saved replies, optionally including retired replies",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_saved_replies_save — Create, edit, retire or restore a saved reply with its expected revision and reason
Create, edit, retire or restore a saved reply with its expected revision and reason. Sends nothing. API reference: https://api.gosummer.ai/v1/openapi.json
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"id",
"expectedRevision",
"name",
"body",
"retired",
"reason"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"body": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"name": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"reason": {
"type": "string",
"maxLength": 300,
"minLength": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"retired": {
"type": "boolean"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expectedRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}{
"title": "Create, edit, retire or restore a saved reply with its expected revision and reason",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_saved_replies_history — Read original revisions of a saved reply
Read original revisions of a saved reply.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"reply"
],
"properties": {
"reply": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}{
"title": "Read original revisions of a saved reply",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_saved_views_list — Read this person's saved inbox views and shared company views
Read this person's saved inbox views and shared company views.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}{
"title": "Read this person's saved inbox views and shared company views",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_saved_views_save — Save a personal or shared inbox view
Save a personal or shared inbox view. Known case filters are normalized by the same service as the UI.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"kind",
"id",
"name",
"query",
"shared"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"kind": {
"type": "string",
"const": "save"
},
"name": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"query": {
"type": "string",
"maxLength": 500
},
"shared": {
"type": "boolean"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Save a personal or shared inbox view",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_saved_views_delete — Remove an owned inbox view, retaining the database's ownership checks
Remove an owned inbox view, retaining the database's ownership checks.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"kind",
"id"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"kind": {
"type": "string",
"const": "delete"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Remove an owned inbox view, retaining the database's ownership checks",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_quality_scenarios_list — Read quality scenarios, assessments and current outcomes
Read quality scenarios, assessments and current outcomes.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}{
"title": "Read quality scenarios, assessments and current outcomes",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_quality_scenarios_get — Read one scenario and its saved assessments
Read one scenario and its saved assessments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"scenario"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"scenario": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}{
"title": "Read one scenario and its saved assessments",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_quality_scenarios_save — Create, revise or retire a quality scenario, with expected revision and reason
Create, revise or retire a quality scenario, with expected revision and reason.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"kind",
"id",
"expectedRevision",
"retired",
"reason",
"fields"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"kind": {
"type": "string",
"const": "scenario"
},
"fields": {
"type": "object",
"required": [
"title",
"cohort",
"difficulty",
"sourceKind",
"sourceCaseCode",
"customerGoal",
"expectedFirstAction",
"remainingObligation",
"permittedEffects",
"prohibitedBehavior",
"closureEvidence"
],
"properties": {
"title": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"cohort": {
"enum": [
"fixed",
"held_out"
],
"type": "string"
},
"difficulty": {
"enum": [
"routine",
"complex",
"adversarial"
],
"type": "string"
},
"sourceKind": {
"enum": [
"historical",
"synthetic"
],
"type": "string"
},
"customerGoal": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"sourceCaseCode": {
"type": "string",
"maxLength": 40
},
"closureEvidence": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"permittedEffects": {
"type": "string",
"maxLength": 2000
},
"prohibitedBehavior": {
"type": "string",
"maxLength": 2000
},
"expectedFirstAction": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"remainingObligation": {
"type": "string",
"maxLength": 2000
}
}
},
"reason": {
"type": "string",
"maxLength": 300,
"minLength": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"retired": {
"type": "boolean"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expectedRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}{
"title": "Create, revise or retire a quality scenario, with expected revision and reason",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_quality_assessments_save — Record an evidence-backed assessment or correction
Record an evidence-backed assessment or correction. Does not approve a plan or customer action.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"kind",
"id",
"scenarioId",
"runKind",
"runReference",
"outcome",
"checks",
"notes",
"corrects"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"kind": {
"type": "string",
"const": "assessment"
},
"notes": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"checks": {
"type": "object",
"required": [
"original_evidence",
"customer_outcome",
"safe_exact_action",
"clarity",
"follow_through"
],
"properties": {
"clarity": {
"enum": [
"pass",
"fail",
"unknown"
],
"type": "string"
},
"follow_through": {
"enum": [
"pass",
"fail",
"unknown"
],
"type": "string"
},
"customer_outcome": {
"enum": [
"pass",
"fail",
"unknown"
],
"type": "string"
},
"original_evidence": {
"enum": [
"pass",
"fail",
"unknown"
],
"type": "string"
},
"safe_exact_action": {
"enum": [
"pass",
"fail",
"unknown"
],
"type": "string"
}
}
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"outcome": {
"enum": [
"verified_complete",
"still_open",
"blocked",
"unsafe",
"unknown"
],
"type": "string"
},
"runKind": {
"enum": [
"live_case",
"saved_run",
"manual_walkthrough"
],
"type": "string"
},
"corrects": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"scenarioId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"runReference": {
"type": "string",
"maxLength": 120
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Record an evidence-backed assessment or correction",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_quality_corrections_list — Read evidence-backed corrections to previous quality assessments
Read evidence-backed corrections to previous quality assessments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}{
"title": "Read evidence-backed corrections to previous quality assessments",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_privacy_requests_list — Read privacy export/deletion requests, status and original event history
Read privacy export/deletion requests, status and original event history. Does not export or delete data.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}{
"title": "Read privacy export/deletion requests, status and original event history",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_privacy_requests_create — File an export or deletion request for human review
File an export or deletion request for human review. Cannot approve, perform or attest completion of the work.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"kind",
"id",
"requestKind",
"subjectKind",
"subjectLabel",
"scope",
"reason"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"kind": {
"type": "string",
"const": "request"
},
"scope": {
"type": "array",
"items": {
"enum": [
"messages",
"files",
"cases",
"approvals",
"search",
"jobs",
"provider_copies",
"knowledge",
"settings"
],
"type": "string"
},
"maxItems": 9,
"minItems": 1
},
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"requestKind": {
"enum": [
"export",
"deletion"
],
"type": "string"
},
"subjectKind": {
"enum": [
"company",
"customer",
"staff"
],
"type": "string"
},
"subjectLabel": {
"type": "string",
"maxLength": 160,
"minLength": 1
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "File an export or deletion request for human review",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_work_routing_read — Read eligible teammates and automatic routing for new issues, plan reviews and human tasks
Read eligible teammates and automatic routing for new issues, plan reviews and human tasks.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}{
"title": "Read eligible teammates and automatic routing for new issues, plan reviews and human tasks",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_work_routing_update — Save automatic routing for new issues, plan reviews and human tasks with the expected version
Save automatic routing for new issues, plan reviews and human tasks with the expected version. Does not grant roles or approval authority.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"version",
"issue_mode",
"review_mode",
"issue_members",
"review_members"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"task_mode": {
"enum": [
"off",
"default",
"round_robin"
],
"type": "string",
"description": "Who gets human tasks Summer asks the team to do. Omit to keep the saved rule."
},
"issue_mode": {
"enum": [
"off",
"default",
"round_robin"
],
"type": "string"
},
"review_mode": {
"enum": [
"off",
"default",
"round_robin"
],
"type": "string"
},
"task_members": {
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"maxItems": 100
},
"issue_members": {
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"maxItems": 100
},
"review_members": {
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"maxItems": 100
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Save automatic routing for new issues, plan reviews and human tasks with the expected version",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_router_rules_read — Read the rules Summer applies before any agent runs, in plain words, with this week's decisions and how often each rule matched
Read the rules Summer applies before any agent runs, in plain words, with this week's decisions and how often each rule matched. Routing costs no model call.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}{
"title": "Read the rules Summer applies before any agent runs, in plain words, with this week's decisions and how often each rule matched",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_router_rules_update — Save the router rules with the expected version and a reason
Save the router rules with the expected version and a reason. Keeps the original revision and updates the Routing rules knowledge document. Run router_rules.test first. Needs a company admin.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"version",
"rules",
"reason"
],
"properties": {
"rules": {
"type": "object",
"description": "The rules document: { version: 1, intake: [...], activity: [...] }. Intake rules { id, description, enabled?, route: \"file\", emailType, match: { senderDomains?, senderAddresses?, onlyMessage?, automatic?, vendor?, subject?, subjectNot?, body?, bodyNot? } } file a new email without a ticket; route: \"join_ticket\" (no emailType) adds a vendor email about one order number to the open ticket that already holds that number, and opens a ticket otherwise. Activity rules { id, description, enabled?, route: \"ignore\", match: { sources, orderStatuses?, eventKinds?, eventSummary?, handledBy? } } skip the agent when every new ticket item matches. automatic: true matches mail a machine wrote; vendor: true matches mail from one of the company's pharmacies or clinical partners. Patterns are case-insensitive regular expressions.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "Why the rules change. Kept with the revision."
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "The version you read. A newer saved version refuses the change."
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Save the router rules with the expected version and a reason",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_router_rules_test — Check proposed router rules without saving: lists rule problems, replays recorded ticket activity under the saved and the proposed rules, and routes optional sample facts
Check proposed router rules without saving: lists rule problems, replays recorded ticket activity under the saved and the proposed rules, and routes optional sample facts. Changes nothing.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"days": {
"anyOf": [
{
"type": "number",
"const": 7
},
{
"type": "number",
"const": 30
}
],
"description": "Replay recorded ticket activity from the last 7 (default) or 30 days."
},
"rules": {
"type": "object",
"description": "Proposed rules to check. Omit to check the saved rules. The rules document: { version: 1, intake: [...], activity: [...] }. Intake rules { id, description, enabled?, route: \"file\", emailType, match: { senderDomains?, senderAddresses?, onlyMessage?, automatic?, vendor?, subject?, subjectNot?, body?, bodyNot? } } file a new email without a ticket; route: \"join_ticket\" (no emailType) adds a vendor email about one order number to the open ticket that already holds that number, and opens a ticket otherwise. Activity rules { id, description, enabled?, route: \"ignore\", match: { sources, orderStatuses?, eventKinds?, eventSummary?, handledBy? } } skip the agent when every new ticket item matches. automatic: true matches mail a machine wrote; vendor: true matches mail from one of the company's pharmacies or clinical partners. Patterns are case-insensitive regular expressions.",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"intake": {
"type": "object",
"required": [
"senderEmail",
"subject",
"body",
"messageCount"
],
"properties": {
"body": {
"type": "string",
"maxLength": 20000
},
"subject": {
"type": "string",
"maxLength": 1000
},
"senderEmail": {
"type": "string",
"maxLength": 320
},
"messageCount": {
"type": "integer",
"maximum": 1000,
"minimum": 1
}
},
"description": "A sample new email to route.",
"additionalProperties": false
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"activity": {
"type": "array",
"items": {
"type": "object",
"required": [
"source"
],
"properties": {
"source": {
"type": "string"
},
"eventKind": {
"type": [
"string",
"null"
]
},
"handledBy": {
"anyOf": [
{
"enum": [
"welcome_yes_credit",
"customer_acknowledgement",
"automatic_care_notice",
"team_bookkeeping"
],
"type": "string"
},
{
"type": "null"
}
]
},
"orderStatus": {
"type": [
"string",
"null"
]
},
"eventSummary": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
},
"maxItems": 50,
"minItems": 1,
"description": "Sample ticket activity items to route."
}
},
"additionalProperties": false
}{
"title": "Check proposed router rules without saving: lists rule problems, replays recorded ticket activity under the saved and the proposed rules, and routes optional sample facts",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_router_rules_history — Read every saved revision of the router rules, with who changed them and why
Read every saved revision of the router rules, with who changed them and why.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}{
"title": "Read every saved revision of the router rules, with who changed them and why",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_router_rules_decisions — Read what the router decided and why: totals by outcome, day and rule for the last 7, 30 or 90 days, and pages of decisions with a short plain reason each and the case
Read what the router decided and why: totals by outcome, day and rule for the last 7, 30 or 90 days, and pages of decisions with a short plain reason each and the case. Changes nothing.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"days": {
"anyOf": [
{
"enum": [
"7",
"30",
"90"
],
"type": "string"
},
{
"type": "number",
"const": 7
},
{
"type": "number",
"const": 30
},
{
"type": "number",
"const": 90
}
],
"description": "Period. Default 7 days."
},
"rule": {
"type": "string",
"pattern": "^[a-z0-9-]{3,60}$",
"description": "Only decisions where this rule matched."
},
"route": {
"enum": [
"investigate",
"resolve_customer",
"ignore",
"file",
"join_ticket",
"open_ticket",
"skipped"
],
"type": "string",
"description": "Only one outcome. skipped means ignore or file: no agent ran."
},
"stage": {
"enum": [
"intake",
"activity"
],
"type": "string",
"description": "intake: new emails. activity: new ticket activity."
},
"before": {
"type": "string",
"pattern": "^[1-9]\\d{0,18}$",
"description": "The nextBefore value from the previous page."
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}{
"title": "Read what the router decided and why: totals by outcome, day and rule for the last 7, 30 or 90 days, and pages of decisions with a short plain reason each and the case",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_cases_engineering_list — Read private engineering issue associations, optionally checking original GitHub state
Read private engineering issue associations, optionally checking original GitHub state. Does not close cases or send replies.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"refresh": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"true",
"false"
],
"type": "string"
}
]
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read private engineering issue associations, optionally checking original GitHub state",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_cases_similar_list — Read bounded original case-summary text matches, with source observation and matching terms
Read bounded original case-summary text matches, with source observation and matching terms. Does not establish customer identity, link cases, call a model or start work.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read bounded original case-summary text matches, with source observation and matching terms",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_slack_discussions_channels — Read connected Slack posting channels, or inspect the current internal channel name/privacy, posting revision and authenticated sender
Read connected Slack posting channels, or inspect the current internal channel name/privacy, posting revision and authenticated sender. Enables no grant and posts nothing.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"channel": {
"type": "string",
"pattern": "^[CG][A-Z0-9]{2,20}$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read connected Slack posting channels, or inspect the current internal channel name/privacy, posting revision and authenticated sender",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_cases_discussions_read — Read original Slack replies for an exact recorded case discussion
Read original Slack replies for an exact recorded case discussion. A root supplied for an unknown send must match the saved original sender, approved text and operation metadata before its source can be retained. Never posts or approves work.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case",
"operation"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"root": {
"type": "string",
"pattern": "^\\d{10,14}\\.\\d{1,6}$"
},
"cursor": {
"type": "string",
"maxLength": 4096
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"operation": {
"type": "string",
"maxLength": 100,
"minLength": 20
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read original Slack replies for an exact recorded case discussion",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_cases_discussions_list — Read case-linked Slack discussion receipts and original thread links
Read case-linked Slack discussion receipts and original thread links. Unknown posting stays unknown; no message is sent.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read case-linked Slack discussion receipts and original thread links",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_cases_queued_slack_list — Read Slack messages queued for office hours on this exact case, their approved words, destination, scheduled opening and delivery result
Read Slack messages queued for office hours on this exact case, their approved words, destination, scheduled opening and delivery result. Changes nothing.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read Slack messages queued for office hours on this exact case, their approved words, destination, scheduled opening and delivery result",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_cases_queued_slack_cancel — Cancel an exact queued Slack message before it starts sending
Cancel an exact queued Slack message before it starts sending. Sending, sent and uncertain messages cannot be cancelled. Records the authenticated operator and changes no other plan step.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case",
"message"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"message": {
"type": "string",
"pattern": "^[0-9a-f-]{20,64}$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Cancel an exact queued Slack message before it starts sending",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_cases_queued_texts_list — Read the approved plans' texts on this customer's ticket that are waiting for the customer's texting hours (8am to 9pm their time): each text's exact words, a masked phone, when it sends (sends_at and a plain label such as Sends at 8:00 AM PDT) and its source (quo: a direct text from the case; summer: a reply in a Summer texting conversation)
Read the approved plans' texts on this customer's ticket that are waiting for the customer's texting hours (8am to 9pm their time): each text's exact words, a masked phone, when it sends (sends_at and a plain label such as Sends at 8:00 AM PDT) and its source (quo: a direct text from the case; summer: a reply in a Summer texting conversation). Lists only texts still waiting. Changes nothing.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read the approved plans' texts on this customer's ticket that are waiting for the customer's texting hours (8am to 9pm their time): each text's exact words, a masked phone, when it sends (sends_at and a plain label such as Sends at 8:00 AM PDT) and its source (quo: a direct text from the case; summer: a reply in a Summer texting conversation)",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_cases_queued_texts_cancel — Cancel one approved plan's text while it waits for the customer's texting hours
Cancel one approved plan's text while it waits for the customer's texting hours. It is never sent; Summer records who cancelled it and adds a case activity entry. A text that is sending, sent or has an unknown result cannot be cancelled and keeps its state. The rest of the plan is unchanged and nothing is sent.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case",
"text",
"source"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"text": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"source": {
"enum": [
"quo",
"summer"
],
"type": "string",
"description": "The text's source from cases.queued_texts.list."
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Cancel one approved plan's text while it waits for the customer's texting hours",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_cases_assignment_read — Read a case's issue owner, plan reviewer and eligible teammates
Read a case's issue owner, plan reviewer and eligible teammates.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read a case's issue owner, plan reviewer and eligible teammates",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_cases_assignment_update — Assign an issue owner or plan reviewer with the previous owner as a conflict check
Assign an issue owner or plan reviewer with the previous owner as a conflict check. Does not grant roles or approve a plan.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case",
"requestId",
"memberId",
"previous"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"memberId": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"previous": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"requestId": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Assign an issue owner or plan reviewer with the previous owner as a conflict check",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_reports_credits — Read all-time and month-to-date credits, pending reservations and monthly usage in the company timezone
Read all-time and month-to-date credits, pending reservations and monthly usage in the company timezone. Phone calls use the phone kind and add call counts, answered seconds and calls whose cost is not fully known. Carrier minutes are not included.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read all-time and month-to-date credits, pending reservations and monthly usage in the company timezone",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_reports_ticket_activity — Read tickets opened and closed over 1, 7 or 30 company-local calendar days or all recorded history
Read tickets opened and closed over 1, 7 or 30 company-local calendar days or all recorded history. Includes zero-filled hourly, daily or monthly bars, period totals, open tickets now and closures without usable dates. backlog contains from, historyEstimated and bounded points (at, open) for open issues over time, reconstructed from creation and latest valid closure dates. Past reopen cycles and resolved issues without dates cannot be reconstructed. The final backlog point equals openNow. Read-only Intercom archives are excluded from operational issues, messages and closures in ticket activity, service metrics and samples; coverage.archivedImports gives their count. Original archives are retained unchanged. rolling contains a dense series of original-timestamp trailing counts with windowSeconds, stepSeconds, from and points (at, opened, closed). Windows are one hour for 1d, 24 hours for 7d/30d, and 24 hours, 7 days, 30 days or 365 days for all-time depending on history length. At most 722 points include the exact observation time; lookback before the selected period is included in rolling counts, while period totals remain exact calendar counts. Reopened tickets are open; a completed run is not a closure. Changes nothing.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"period": {
"enum": [
"1d",
"7d",
"30d",
"all"
],
"type": "string",
"default": "30d",
"description": "Company-local calendar days including today. 1d is hourly today; all includes full recorded history, grouped monthly after 120 days."
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read tickets opened and closed over 1, 7 or 30 company-local calendar days or all recorded history",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_reports_samples_list — Read paginated original issue/message references behind service counts and timing samples, with date/channel/hour filters in the company timezone
Read paginated original issue/message references behind service counts and timing samples, with date/channel/hour filters in the company timezone. Read-only Intercom archive projections are excluded from operational workload counts. No messages are sent or marked read.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"measure"
],
"properties": {
"from": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"hour": {
"type": "integer",
"maximum": 23,
"minimum": 0
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 100000,
"minimum": 0
},
"channel": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"measure": {
"enum": [
"handled",
"approved",
"approvedCompleted",
"fullyAutomatic",
"closedWithoutPerson",
"incoming",
"resolved",
"inbound",
"answered",
"unanswered",
"response",
"firstReply",
"resolution"
],
"type": "string"
},
"through": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"weekday": {
"type": "integer",
"maximum": 6,
"minimum": 0
},
"observedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read paginated original issue/message references behind service counts and timing samples, with date/channel/hour filters in the company timezone",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_reports_service_metrics — Read response and resolution metrics, 90-day daily issue/message and timing trends, and weekday/hour incoming-message heatmaps in the company timezone
Read response and resolution metrics, 90-day daily issue/message and timing trends, and weekday/hour incoming-message heatmaps in the company timezone. Read-only Intercom archive projections are excluded from operational workload counts. Missing timings stay unmeasured. fullyAutomatic counts original automatic-plan and routine-rule issue closures, including linked issues; earlier human help and pending run verification do not make the closure manual. closedWithoutPerson is the strict subset where no person approved or edited a plan, replied, finished a human task or changed the case on the issue or a linked issue before it closed. automationByCategory and automationByChannel break resolved, fullyAutomatic and closedWithoutPerson down by case category and channel; daily trends include both closure counts.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read response and resolution metrics, 90-day daily issue/message and timing trends, and weekday/hour incoming-message heatmaps in the company timezone",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_reports_autonomy_funnel — Read daily counts for each stage of Summer's work, in the company timezone: router decisions by route, investigations started, completed and cancelled, plans published and replaced before anyone acted, auto-run decisions with their reasons, approvals by a person, an agent or auto-run, approved runs by status (previews nobody approved are not counted), executed plans with a checked result, and issues resolved, closed automatically and closed without a person
Read daily counts for each stage of Summer's work, in the company timezone: router decisions by route, investigations started, completed and cancelled, plans published and replaced before anyone acted, auto-run decisions with their reasons, approvals by a person, an agent or auto-run, approved runs by status (previews nobody approved are not counted), executed plans with a checked result, and issues resolved, closed automatically and closed without a person. Counts are recorded events, not verified customer outcomes. Starts no work.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"days": {
"anyOf": [
{
"enum": [
"7",
"14",
"30",
"90"
],
"type": "string"
},
{
"type": "number",
"const": 7
},
{
"type": "number",
"const": 14
},
{
"type": "number",
"const": 30
},
{
"type": "number",
"const": 90
}
]
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read daily counts for each stage of Summer's work, in the company timezone: router decisions by route, investigations started, completed and cancelled, plans published and replaced before anyone acted, auto-run decisions with their reasons, approvals by a person, an agent or auto-run, approved runs by status (previews nobody approved are not counted), executed plans with a checked result, and issues resolved, closed automatically and closed without a person",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_reports_autonomy_calibration — Read how well Summer's own "run it" call matches what happened, per action and per action family (reply, closure, record, vendor_contact, clinician_note, address_cancel, money, other) over the last 14 and 30 days: plans proposing it, the agent's calls, what people did (approved unchanged, with direction, edited, another option, dismissed, superseded), auto-run decisions with each action's reason and deciding rule, the action's run results (completed, failed, unknown), checked results, daily closure audit verdicts and corrected quality assessments on those tickets
Read how well Summer's own "run it" call matches what happened, per action and per action family (reply, closure, record, vendor_contact, clinician_note, address_cancel, money, other) over the last 14 and 30 days: plans proposing it, the agent's calls, what people did (approved unchanged, with direction, edited, another option, dismissed, superseded), auto-run decisions with each action's reason and deciding rule, the action's run results (completed, failed, unknown), checked results, daily closure audit verdicts and corrected quality assessments on those tickets. Each family and action has an error rate (person changes to plans the agent said to run, failed or unknown runs and failed audits, over decided plans) and a status: ready_to_widen (at least 30 decisions and under 1% errors in 14 days), keep, or tighten (over 5%). Families show the saved policy's kill switch or automatic rule. Categories show closed-without-a-person and audited-correct rates against the 95% and 98% targets, with the gap. Counts are recorded events, not verified customer outcomes. Calls no model and starts no work.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read how well Summer's own \"run it\" call matches what happened, per action and per action family (reply, closure, record, vendor_contact, clinician_note, address_cancel, money, other) over the last 14 and 30 days: plans proposing it, the agent's calls, what people did (approved unchanged, with direction, edited, another option, dismissed, superseded), auto-run decisions with each action's reason and deciding rule, the action's run results (completed, failed, unknown), checked results, daily closure audit verdicts and corrected quality assessments on those tickets",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_reports_agent_timing — Read how long approved agent runs take: approval to start, each startup and work phase, and each step by action and category, with medians, 90th percentiles and recent runs
Read how long approved agent runs take: approval to start, each startup and work phase, and each step by action and category, with medians, 90th percentiles and recent runs. Phases that were not recorded stay unmeasured. Starts no work.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"days": {
"anyOf": [
{
"enum": [
"7",
"30",
"90"
],
"type": "string"
},
{
"type": "number",
"const": 7
},
{
"type": "number",
"const": 30
},
{
"type": "number",
"const": 90
}
]
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read how long approved agent runs take: approval to start, each startup and work phase, and each step by action and category, with medians, 90th percentiles and recent runs",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_reports_cancellations — Read cancellation requests and how each ended: paused, renewal moved later, kept, cancelled, or a pause offered with no answer yet
Read cancellation requests and how each ended: paused, renewal moved later, kept, cancelled, or a pause offered with no answer yet. The investigating agent marks each request; the approved plan option sets the outcome. revenue:true adds each saved plan's renewal amount and the paid renewals collected since the save (before refunds), read from live billing, plus gross totals. Changes nothing.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"days": {
"anyOf": [
{
"enum": [
"30",
"90",
"365"
],
"type": "string"
},
{
"type": "number",
"const": 30
},
{
"type": "number",
"const": 90
},
{
"type": "number",
"const": 365
}
]
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"revenue": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"true",
"false"
],
"type": "string"
}
]
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read cancellation requests and how each ended: paused, renewal moved later, kept, cancelled, or a pause offered with no answer yet",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_messages_queued_list — Read all waiting and sending Summer messages across email, Slack, texts and website chat for a company/environment
Read all waiting and sending Summer messages across email, Slack, texts and website chat for a company/environment. Includes paced replies, office-hour queues and company-wide Slack setup messages, original recipients, saved text, next eligible send times and case links. Filter by channel and page with offset/limit. Counts cover the whole queue. Changes nothing and never sends or retries a message.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"offset": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
"channel": {
"enum": [
"email",
"slack",
"sms",
"chat"
],
"type": "string"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read all waiting and sending Summer messages across email, Slack, texts and website chat for a company/environment",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_reports_delivery — Read delivery attempts, failures and recorded results
Read delivery attempts, failures and recorded results. Does not retry a delivery.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read delivery attempts, failures and recorded results",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_delivery_bulk — Act on several rows from reports
Act on several rows from reports.delivery at once: request a new plan, approve each case's current saved plan and run it, or start an approved plan that is waiting. Returns done, skipped or failed with a reason for each row. Rows with no confirmed result are never run again. Approval binds to each case's exact saved plan and prepared changes; plans that changed or need a choice between options are skipped. request_plan needs investigations.request; the others need a person's delegated actions.approve.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"action",
"attempts"
],
"properties": {
"action": {
"enum": [
"request_plan",
"approve_and_run",
"run_again"
],
"type": "string",
"description": "request_plan asks the agent for a new plan. approve_and_run approves each case's current saved plan, bound to its exact prepared changes, then runs it. run_again starts an approved plan that is waiting to start."
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"attempts": {
"type": "array",
"items": {
"type": "string",
"pattern": "^(operator|agent):[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"maxItems": 50,
"minItems": 1,
"description": "Row ids from reports.delivery."
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"authorization": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "The operator's instruction for this work, kept with each approval. Needed for approve_and_run and run_again. This is context, not an identity attestation."
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Act on several rows from reports",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_reports_commitments — Read outstanding customer promises and unfinished work
Read outstanding customer promises and unfinished work.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read outstanding customer promises and unfinished work",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_human_tasks_list — Read work that Summer agents or blocked approvals asked a person to do, with owners, due times, recorded outcomes and change history for one selected task
Read work that Summer agents or blocked approvals asked a person to do, with owners, due times, recorded outcomes and change history for one selected task.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"mine": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"true",
"false"
],
"type": "string"
}
]
},
"task": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"status": {
"enum": [
"open",
"done",
"dismissed",
"all"
],
"type": "string"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read work that Summer agents or blocked approvals asked a person to do, with owners, due times, recorded outcomes and change history for one selected task",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_human_tasks_update — Complete, dismiss, reopen or assign a human task with its expected version
Complete, dismiss, reopen or assign a human task with its expected version. Records the person and outcome. Does not approve a plan or change customer records.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"taskId",
"version",
"operation"
],
"properties": {
"taskId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"outcome": {
"type": "string",
"maxLength": 1000
},
"version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"operation": {
"enum": [
"complete",
"dismiss",
"reopen",
"assign"
],
"type": "string"
},
"assigneeId": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Complete, dismiss, reopen or assign a human task with its expected version",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_agent_exclusions_list — Read the company's sender exclusions and original edit history
Read the company's sender exclusions and original edit history. Changes retain human approval.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read the company's sender exclusions and original edit history",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_messenger_conversations_list — Search and filter the complete Messenger inbox, including visitor conversations without Ops cases
Search and filter the complete Messenger inbox, including visitor conversations without Ops cases.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"q": {
"type": "string",
"maxLength": 200
},
"sort": {
"enum": [
"waiting",
"activity",
"overdue",
"newest"
],
"type": "string"
},
"limit": {
"type": "integer",
"maximum": 200,
"minimum": 1
},
"cursor": {
"type": "string",
"pattern": "^[1-9]\\d{0,5}$"
},
"filter": {
"enum": [
"open",
"needs_human",
"plan_ready",
"agent_working",
"waiting_customer",
"resolved",
"all"
],
"type": "string"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"conversation": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}{
"title": "Search and filter the complete Messenger inbox, including visitor conversations without Ops cases",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_messenger_conversations_get — Read original Messenger messages with saved human sender_display_name, contact form details, read receipts, attachments and timestamped page_context (current page and UI controls) without marking the chat read
Read original Messenger messages with saved human sender_display_name, contact form details, read receipts, attachments and timestamped page_context (current page and UI controls) without marking the chat read.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"conversation"
],
"properties": {
"view": {
"enum": [
"state"
],
"type": "string"
},
"after": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"file_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"conversation": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"receipt_after": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}{
"title": "Read original Messenger messages with saved human sender_display_name, contact form details, read receipts, attachments and timestamped page_context (current page and UI controls) without marking the chat read",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_pharmacy_calls_address_update — Save a confirmed administrative shipping-address correction for the selected order on a live outbound pharmacy call
Save a confirmed administrative shipping-address correction for the selected order on a live outbound pharmacy call. Requires an Ops admin and customer-effect access. Does not update carriers or clinical fields; cross-state requests go to clinical coverage review.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"caseId",
"call_id",
"address"
],
"properties": {
"caseId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"address": {
"type": "object",
"required": [
"address1",
"city",
"state",
"zip",
"confirmed"
],
"properties": {
"zip": {
"type": "string",
"pattern": "^\\d{5}(?:-\\d{4})?$"
},
"city": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"state": {
"type": "string",
"pattern": "^[A-Z]{2}$"
},
"address1": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"address2": {
"type": "string",
"maxLength": 120
},
"confirmed": {
"type": "boolean",
"const": true
}
},
"additionalProperties": false
},
"call_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Save a confirmed administrative shipping-address correction for the selected order on a live outbound pharmacy call",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_phone_calls_settings_read — Read Summer answering lines, Quo number and keypad mappings, recent calls, source digits, case links, received-event times and settings history
Read Summer answering lines, Quo number and keypad mappings, recent calls, source digits, case links, received-event times and settings history. Does not mark calls read or change Quo routing.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read Summer answering lines, Quo number and keypad mappings, recent calls, source digits, case links, received-event times and settings history",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_phone_calls_settings_update — Save Summer answering and call-type mappings for an existing line with its expected version
Save Summer answering and call-type mappings for an existing line with its expected version. Requires current company and Ops admin access. Does not publish a Quo menu, change ringing users or forward a number. New Quo numbers also need webhook subscription in Quo.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"line_id",
"version",
"enabled",
"numbers",
"menu"
],
"properties": {
"menu": {
"type": "object",
"propertyNames": {
"type": "string",
"pattern": "^[0-9*#]$"
},
"additionalProperties": {
"enum": [
"general",
"existing_customer",
"new_customer",
"pharmacy"
],
"type": "string"
}
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"enabled": {
"type": "boolean"
},
"line_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"numbers": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"number",
"defaultType"
],
"properties": {
"id": {
"type": "string",
"pattern": "^PN[A-Za-z0-9_-]{1,98}$"
},
"name": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"note": {
"type": "string",
"default": "",
"maxLength": 1000
},
"number": {
"type": "string",
"pattern": "^\\+[1-9][0-9]{7,14}$"
},
"defaultType": {
"anyOf": [
{
"enum": [
"general",
"existing_customer",
"new_customer",
"pharmacy"
],
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"maxItems": 20
},
"version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"transfer_e164": {
"anyOf": [
{
"type": "string",
"pattern": "^\\+[1-9][0-9]{7,14}$"
},
{
"type": "null"
}
]
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Save Summer answering and call-type mappings for an existing line with its expected version",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_pharmacy_calls_directory_read — Read the pharmacy directory: each pharmacy's phone number and where it was checked, time zone, hours, phone menu keys, what it asks for, preferred channel, whether calls are on, notes, whether Summer may call it now and why not, removed pharmacies and change history
Read the pharmacy directory: each pharmacy's phone number and where it was checked, time zone, hours, phone menu keys, what it asks for, preferred channel, whether calls are on, notes, whether Summer may call it now and why not, removed pharmacies and change history. Starts no call.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read the pharmacy directory: each pharmacy's phone number and where it was checked, time zone, hours, phone menu keys, what it asks for, preferred channel, whether calls are on, notes, whether Summer may call it now and why not, removed pharmacies and change history",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_pharmacy_calls_directory_update — Add, change, remove (retire) or restore one pharmacy in the directory with the expected version
Add, change, remove (retire) or restore one pharmacy in the directory with the expected version. Save sends every field; empty fields are cleared. Calls stay off until call_allowed is true, and need a phone number. Retire turns calls off and keeps the record and its history. Starts no call.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"operation",
"version"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "The pharmacy to change. Leave out to add a new pharmacy."
},
"entry": {
"type": "object",
"required": [
"name",
"location",
"phone_e164",
"phone_source",
"time_zone",
"hours",
"menu_path",
"identifiers_needed",
"preferred_channel",
"call_allowed",
"notes"
],
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"hours": {
"type": "object",
"properties": {
"fri": {
"anyOf": [
{
"type": "string",
"const": "closed"
},
{
"type": "object",
"required": [
"open",
"close"
],
"properties": {
"open": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
},
"close": {
"type": "string",
"pattern": "^(([01]\\d|2[0-3]):[0-5]\\d|24:00)$"
}
},
"additionalProperties": false
}
]
},
"mon": {
"anyOf": [
{
"type": "string",
"const": "closed"
},
{
"type": "object",
"required": [
"open",
"close"
],
"properties": {
"open": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
},
"close": {
"type": "string",
"pattern": "^(([01]\\d|2[0-3]):[0-5]\\d|24:00)$"
}
},
"additionalProperties": false
}
]
},
"sat": {
"anyOf": [
{
"type": "string",
"const": "closed"
},
{
"type": "object",
"required": [
"open",
"close"
],
"properties": {
"open": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
},
"close": {
"type": "string",
"pattern": "^(([01]\\d|2[0-3]):[0-5]\\d|24:00)$"
}
},
"additionalProperties": false
}
]
},
"sun": {
"anyOf": [
{
"type": "string",
"const": "closed"
},
{
"type": "object",
"required": [
"open",
"close"
],
"properties": {
"open": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
},
"close": {
"type": "string",
"pattern": "^(([01]\\d|2[0-3]):[0-5]\\d|24:00)$"
}
},
"additionalProperties": false
}
]
},
"thu": {
"anyOf": [
{
"type": "string",
"const": "closed"
},
{
"type": "object",
"required": [
"open",
"close"
],
"properties": {
"open": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
},
"close": {
"type": "string",
"pattern": "^(([01]\\d|2[0-3]):[0-5]\\d|24:00)$"
}
},
"additionalProperties": false
}
]
},
"tue": {
"anyOf": [
{
"type": "string",
"const": "closed"
},
{
"type": "object",
"required": [
"open",
"close"
],
"properties": {
"open": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
},
"close": {
"type": "string",
"pattern": "^(([01]\\d|2[0-3]):[0-5]\\d|24:00)$"
}
},
"additionalProperties": false
}
]
},
"wed": {
"anyOf": [
{
"type": "string",
"const": "closed"
},
{
"type": "object",
"required": [
"open",
"close"
],
"properties": {
"open": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
},
"close": {
"type": "string",
"pattern": "^(([01]\\d|2[0-3]):[0-5]\\d|24:00)$"
}
},
"additionalProperties": false
}
]
}
},
"description": "Local opening hours per weekday: { open: \"HH:MM\", close: \"HH:MM\" } or \"closed\". Leave a day out when its hours are unknown.",
"additionalProperties": false
},
"notes": {
"anyOf": [
{
"type": "string",
"maxLength": 4000
},
{
"type": "null"
}
],
"description": "Notes from past calls, such as the best time to call."
},
"location": {
"type": "string",
"maxLength": 200,
"description": "City, state or branch. Use an empty string when there is one location."
},
"menu_path": {
"anyOf": [
{
"type": "string",
"pattern": "^([0-9*#]+(,[0-9*#]+)*)?$",
"maxLength": 40
},
{
"type": "null"
}
],
"description": "Keys to press in the phone menu, in order, such as \"2,1\"."
},
"time_zone": {
"type": "string",
"maxLength": 64,
"minLength": 1,
"description": "IANA time zone of the pharmacy's hours, such as America/Chicago."
},
"phone_e164": {
"anyOf": [
{
"type": "string",
"pattern": "^\\+[1-9]\\d{6,14}$"
},
{
"type": "null"
}
]
},
"call_allowed": {
"type": "boolean",
"description": "Summer places calls only after a person turns this on."
},
"phone_source": {
"anyOf": [
{
"type": "string",
"maxLength": 500
},
{
"type": "null"
}
],
"description": "Where a person checked the number, such as the pharmacy's website."
},
"preferred_channel": {
"enum": [
"phone",
"portal",
"email",
"fax"
],
"type": "string"
},
"identifiers_needed": {
"anyOf": [
{
"type": "string",
"maxLength": 1000
},
{
"type": "null"
}
],
"description": "What the pharmacy asks for, such as patient name, date of birth, medication and prescriber."
}
},
"description": "Every field of the pharmacy, for save. Fields you leave empty are cleared.",
"additionalProperties": false
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "The version you read, or 0 for a new pharmacy. A newer saved version refuses the change."
},
"operation": {
"enum": [
"save",
"retire",
"restore"
],
"type": "string",
"description": "save adds a pharmacy (no id, version 0) or replaces all fields of one; retire removes it from use and turns calls off; restore brings a removed one back with calls off."
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Add, change, remove (retire) or restore one pharmacy in the directory with the expected version",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_pharmacy_calls_settings_read — Read demo pharmacy-call voice service, voices, vocabulary and change history
Read demo pharmacy-call voice service, voices, vocabulary and change history. Starts no call.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read demo pharmacy-call voice service, voices, vocabulary and change history",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_pharmacy_calls_settings_update — Save the demo pharmacy-call voice service, voice and vocabulary with the expected revision
Save the demo pharmacy-call voice service, voice and vocabulary with the expected revision. provider is openai_live (OpenAI GPT-Live, default) or elevenlabs; omitted provider or openai_voice keeps the saved value. Starts no call.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"revision",
"voice_id",
"vocabulary"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"provider": {
"enum": [
"elevenlabs",
"openai_live"
],
"type": "string"
},
"revision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"voice_id": {
"anyOf": [
{
"type": "string",
"maxLength": 40
},
{
"type": "null"
}
]
},
"vocabulary": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 100
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"openai_voice": {
"enum": [
"alloy",
"ash",
"ballad",
"coral",
"echo",
"sage",
"shimmer",
"verse",
"marin",
"cedar"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Save the demo pharmacy-call voice service, voice and vocabulary with the expected revision",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_scheduled_jobs_list — Read company scheduled agent jobs, names, instructions, schedules, next runs and latest results
Read company scheduled agent jobs, names, instructions, schedules, next runs and latest results. These independent jobs use company knowledge and connected tools; source collection precedes ordinary case routing.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"production",
"staging"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read company scheduled agent jobs, names, instructions, schedules, next runs and latest results",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_scheduled_jobs_save — Create or update a scheduled native agent job at its expected revision
Create or update a scheduled native agent job at its expected revision. Configure its name, instructions, interval or five-field cron, IANA timezone and enabled state. Pausing stops an active run. Requires company admin and automation.manage; grants source reads and evidence capture, never customer effects.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"id",
"expected_revision",
"name",
"instructions",
"schedule",
"timezone",
"enabled",
"reason"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"enabled": {
"type": "boolean"
},
"schedule": {
"oneOf": [
{
"type": "object",
"required": [
"kind",
"seconds"
],
"properties": {
"kind": {
"type": "string",
"const": "interval"
},
"seconds": {
"type": "integer",
"maximum": 604800,
"minimum": 60
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"expression"
],
"properties": {
"kind": {
"type": "string",
"const": "cron"
},
"expression": {
"type": "string",
"maxLength": 120,
"minLength": 9
}
},
"additionalProperties": false
}
]
},
"timezone": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"environment": {
"enum": [
"production",
"staging"
],
"type": "string"
},
"instructions": {
"type": "string",
"maxLength": 16000,
"minLength": 1
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_revision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}{
"title": "Create or update a scheduled native agent job at its expected revision",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_scheduled_jobs_run — Request one run of an enabled scheduled job
Request one run of an enabled scheduled job. Concurrent and repeated requests coalesce; reuse request_id on retry. The job's normal schedule remains in place.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"job",
"request_id",
"expected_revision"
],
"properties": {
"job": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"request_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"production",
"staging"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_revision": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}{
"title": "Request one run of an enabled scheduled job",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_scheduled_jobs_runs — Read recent scheduled runs with original definition revisions, outcomes, coverage, saved source counts and failures
Read recent scheduled runs with original definition revisions, outcomes, coverage, saved source counts and failures.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"job"
],
"properties": {
"job": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"production",
"staging"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read recent scheduled runs with original definition revisions, outcomes, coverage, saved source counts and failures",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_scheduled_jobs_history — Read saved scheduled-job definition revisions and authenticated edit reasons
Read saved scheduled-job definition revisions and authenticated edit reasons.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"job"
],
"properties": {
"job": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"production",
"staging"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read saved scheduled-job definition revisions and authenticated edit reasons",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_cases_teaching_prepare — Prepare reusable company knowledge from an operator correction or human reply and a fast reply draft from the saved conversation
Prepare reusable company knowledge from an operator correction or human reply and a fast reply draft from the saved conversation. Also requires cases.read. Saves and sends nothing; no investigation is queued.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case",
"source",
"text"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"text": {
"type": "string",
"maxLength": 12000,
"minLength": 1
},
"source": {
"enum": [
"correction",
"reply"
],
"type": "string"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"production",
"staging"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Prepare reusable company knowledge from an operator correction or human reply and a fast reply draft from the saved conversation",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_cases_teaching_save — Save the exact reviewed reusable fact in shared company core guidance at the expected revision, with original operator text and case provenance
Save the exact reviewed reusable fact in shared company core guidance at the expected revision, with original operator text and case provenance. Also requires cases.read and current company and Ops admin rights. Does not send the reply or restart an agent.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case",
"source",
"text",
"revision",
"title",
"knowledge"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"text": {
"type": "string",
"maxLength": 12000,
"minLength": 1
},
"title": {
"type": "string",
"maxLength": 160,
"minLength": 1
},
"source": {
"enum": [
"correction",
"reply"
],
"type": "string"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"replaces": {
"anyOf": [
{
"type": "string",
"maxLength": 20000,
"minLength": 1
},
{
"type": "null"
}
],
"default": null
},
"revision": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"knowledge": {
"type": "string",
"maxLength": 12000,
"minLength": 1
},
"environment": {
"enum": [
"production",
"staging"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Save the exact reviewed reusable fact in shared company core guidance at the expected revision, with original operator text and case provenance",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_imports_intercom_list — Read Intercom migration previews, saved progress, counts, errors and Summer inbox destinations
Read Intercom migration previews, saved progress, counts, errors and Summer inbox destinations. Does not start an import.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read Intercom migration previews, saved progress, counts, errors and Summer inbox destinations",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_imports_intercom_preview — Check the saved Intercom key against a workspace and preview contact/conversation counts
Check the saved Intercom key against a workspace and preview contact/conversation counts. Save the selected Summer inbox and explicit account-matching choice. Import nothing; send nothing.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"installation",
"workspace"
],
"properties": {
"region": {
"enum": [
"us",
"eu",
"au"
],
"type": "string",
"default": "us"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"workspace": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 100,
"minLength": 1
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"installation": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"match_accounts": {
"type": "boolean",
"default": false
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Check the saved Intercom key against a workspace and preview contact/conversation counts",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_imports_intercom_control — Start, pause, resume or rescan an Intercom migration with its current version
Start, pause, resume or rescan an Intercom migration with its current version. Optional incremental sync reconciles the same original IDs; no replies, notifications or agent runs. Names/email never verify an account.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"import",
"expected_version",
"action"
],
"properties": {
"action": {
"enum": [
"start",
"pause",
"resume",
"rescan"
],
"type": "string"
},
"import": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"keep_sync": {
"type": "boolean",
"default": false
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}{
"title": "Start, pause, resume or rescan an Intercom migration with its current version",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_imports_intercom_profiles — Search imported Summer profiles and their original conversation references
Search imported Summer profiles and their original conversation references. Contact details do not establish account ownership.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"workspace"
],
"properties": {
"q": {
"type": "string",
"maxLength": 200
},
"offset": {
"type": "integer",
"maximum": 1000000,
"minimum": 0
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"workspace": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Search imported Summer profiles and their original conversation references",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_teammates_names_list — List suggested female and gender-neutral teammate names whose gosummer
List suggested female and gender-neutral teammate names whose gosummer.ai address is still free. Each has a suggested photo_url to show; create with use_suggested_photo: true to add that name, address and photo together. Any typed first and last name also works.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}{
"title": "List suggested female and gender-neutral teammate names whose gosummer",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_teammates_list — List the company's teammates with their address, photo, status, unread mail count and Slack connection
List the company's teammates with their address, photo, status, unread mail count and Slack connection.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}{
"title": "List the company's teammates with their address, photo, status, unread mail count and Slack connection",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_teammates_create — Add a teammate
Add a teammate. A managed teammate gets first.last@gosummer.ai, unique across Summer. A company-managed teammate uses the company's own address. Invites no one, joins no Slack workspace and sends nothing.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"request"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"request": {
"oneOf": [
{
"type": "object",
"required": [
"kind",
"first_name",
"last_name",
"reason"
],
"properties": {
"kind": {
"type": "string",
"const": "managed"
},
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"last_name": {
"type": "string",
"maxLength": 30,
"minLength": 1
},
"avatar_url": {
"anyOf": [
{
"type": "string",
"pattern": "^https:\\/\\/[^\\s<>\"]+$",
"maxLength": 500,
"description": "Public https image link for the teammate's photo."
},
{
"type": "null"
}
]
},
"first_name": {
"type": "string",
"maxLength": 30,
"minLength": 1
},
"use_suggested_photo": {
"type": "boolean",
"description": "For a name from teammates.names.list: give the teammate that name's suggested photo. Summer stores it like an upload, so it also becomes the Slack photo when Slack is connected. Ignores avatar_url."
}
},
"description": "Summer gives the teammate first.last@gosummer.ai and keeps its mailbox.",
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"first_name",
"last_name",
"email_address",
"reason"
],
"properties": {
"kind": {
"type": "string",
"const": "company"
},
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"last_name": {
"type": "string",
"maxLength": 30,
"minLength": 1
},
"avatar_url": {
"anyOf": [
{
"type": "string",
"pattern": "^https:\\/\\/[^\\s<>\"]+$",
"maxLength": 500,
"description": "Public https image link for the teammate's photo."
},
{
"type": "null"
}
]
},
"first_name": {
"type": "string",
"maxLength": 30,
"minLength": 1
},
"email_address": {
"type": "string",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"maxLength": 254,
"description": "The company's own address for this teammate. Summer never reads this mailbox."
},
"use_suggested_photo": {
"type": "boolean",
"description": "For a name from teammates.names.list: give the teammate that name's suggested photo with the company's own address. Ignores avatar_url."
}
},
"description": "The company manages the email and Slack account and connects Slack to Summer.",
"additionalProperties": false
}
]
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Add a teammate",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_teammates_update — Change a teammate's shown name, photo or status, with the expected revision and a reason
Change a teammate's shown name, photo or status, with the expected revision and a reason. Retiring disconnects Slack and keeps the address reserved.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"teammate",
"revision",
"display_name",
"avatar_url",
"status",
"reason"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"status": {
"enum": [
"active",
"retired"
],
"type": "string",
"description": "Retired teammates keep their address forever and disconnect from Slack."
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"revision": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Current revision from teammates.list.",
"exclusiveMinimum": 0
},
"teammate": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"avatar_url": {
"anyOf": [
{
"type": "string",
"pattern": "^https:\\/\\/[^\\s<>\"]+$",
"maxLength": 500,
"description": "Public https image link for the teammate's photo."
},
{
"type": "null"
}
]
},
"display_name": {
"type": "string",
"maxLength": 80,
"minLength": 3
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Change a teammate's shown name, photo or status, with the expected revision and a reason",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_teammates_slack_disconnect — Disconnect a teammate's Slack account from Summer and delete its saved token
Disconnect a teammate's Slack account from Summer and delete its saved token. The Slack account itself stays in the workspace. Connecting needs the Slack sign-in in Summer settings.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"teammate",
"reason"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"teammate": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Disconnect a teammate's Slack account from Summer and delete its saved token",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_teammates_setup_status — Live status of each step to get a teammate posting approved replies in vendor Slack channels: Slack connected, teammate added, Slack invitation received, teammate connected, chosen as sender, in each vendor channel, and agent replies allowed there
Live status of each step to get a teammate posting approved replies in vendor Slack channels: Slack connected, teammate added, Slack invitation received, teammate connected, chosen as sender, in each vendor channel, and agent replies allowed there. Unreadable sources are reported as unknown.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}{
"title": "Live status of each step to get a teammate posting approved replies in vendor Slack channels: Slack connected, teammate added, Slack invitation received, teammate connected, chosen as sender, in each vendor channel, and agent replies allowed there",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_teammates_slack_channels_join — Join a public Slack channel as the connected teammate
Join a public Slack channel as the connected teammate. Sends no message. A private or shared channel needs someone in it to /invite the teammate in Slack.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"teammate",
"channel"
],
"properties": {
"channel": {
"type": "string",
"pattern": "^C[A-Z0-9]{2,20}$",
"description": "Public Slack channel ID from teammates.setup.status"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"teammate": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Join a public Slack channel as the connected teammate",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_teammates_slack_link_create — Make a one-time link that connects the teammate's Slack account
Make a one-time link that connects the teammate's Slack account. Open it in the browser signed in to Slack as the teammate and select Allow; no Summer sign-in is needed there. It works once, for 15 minutes, and the connection is recorded as yours. Treat the link like a password. Needs a company owner or administrator.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"teammate"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"teammate": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Make a one-time link that connects the teammate's Slack account",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_teammates_slack_dms_list — List the people who can DM this AI employee in Slack, with the list revision, plus `people`: names and member IDs Summer has seen in the selected channels, to choose from
List the people who can DM this AI employee in Slack, with the list revision, plus `people`: names and member IDs Summer has seen in the selected channels, to choose from. Each DM from one of them opens an Ops case; a person approves the exact reply before the AI employee posts it. Needs a company owner or administrator.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"teammate"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"teammate": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}{
"title": "List the people who can DM this AI employee in Slack, with the list revision, plus `people`: names and member IDs Summer has seen in the selected channels, to choose from",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_teammates_slack_dms_update — Add or remove one person who can DM this AI employee, with the expected list revision and a reason
Add or remove one person who can DM this AI employee, with the expected list revision and a reason. Summer reads only DMs from people on the list. Removing someone stops Summer reading and posting in that DM. Sends nothing.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"teammate",
"revision",
"slack_user_id",
"allowed",
"reason"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"allowed": {
"type": "boolean",
"description": "true adds the person; false removes them."
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"revision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Current list revision from teammates.slack.dms.list (0 for an empty list)."
},
"teammate": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"slack_user_id": {
"type": "string",
"pattern": "^[UW][A-Z0-9]{2,20}$",
"description": "The person's Slack member ID in the company's workspace, such as U012AB3CD."
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Add or remove one person who can DM this AI employee, with the expected list revision and a reason",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_teammates_mailbox_list — List mail received by a Summer-managed teammate, newest first, with sender, subject and a short preview
List mail received by a Summer-managed teammate, newest first, with sender, subject and a short preview. Company-managed teammates have no mailbox in Summer.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"teammate"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"before": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "Messages received before this time"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"teammate": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}{
"title": "List mail received by a Summer-managed teammate, newest first, with sender, subject and a short preview",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_teammates_mailbox_get — Read one message in a Summer-managed teammate's mailbox, including its text
Read one message in a Summer-managed teammate's mailbox, including its text. Marks it read for the team.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"teammate",
"message"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"message": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"teammate": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}{
"title": "Read one message in a Summer-managed teammate's mailbox, including its text",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_client_status — Check live Summer MCP/API versions, old client warnings and the seven-day discovery refresh interval
Check live Summer MCP/API versions, old client warnings and the seven-day discovery refresh interval. Optional cached client versions and the last successful check timestamp distinguish known and unknown status.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cli_version": {
"type": "string",
"pattern": "^\\d+\\.\\d+\\.\\d+$"
},
"mcp_version": {
"type": "string",
"pattern": "^\\d+\\.\\d+\\.\\d+$"
},
"last_checked_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "ISO 8601 time with an offset, for example 2026-10-01T00:00:00Z"
}
},
"additionalProperties": false
}{
"title": "Check live Summer MCP/API versions, old client warnings and the seven-day discovery refresh interval",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_account_me — Show the signed-in person, Summer access status, profile photo path and this connection's grant
Show the signed-in person, Summer access status, profile photo path and this connection's grant.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"additionalProperties": false
}{
"title": "Show the signed-in person, Summer access status, profile photo path and this connection's grant",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_account_photo_remove — Remove your own profile photo
Remove your own profile photo. Replies you send afterward show your initials; earlier replies keep the photo they were sent with.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Remove your own profile photo",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_account_companies_list — List companies the person can access and whether this connection includes each one
List companies the person can access and whether this connection includes each one.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"additionalProperties": false
}{
"title": "List companies the person can access and whether this connection includes each one",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_account_access_request_read — Read the person's Summer access request
Read the person's Summer access request. Approval is a separate Summer team decision.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"additionalProperties": false
}{
"title": "Read the person's Summer access request",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_account_access_request_submit — Submit or update a Summer access request
Submit or update a Summer access request. This cannot approve access.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company_name",
"note"
],
"properties": {
"note": {
"type": "string",
"maxLength": 2000
},
"company_name": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Submit or update a Summer access request",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_account_connections_list — List this person's agent connections, grants, last use and expiry
List this person's agent connections, grants, last use and expiry.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"additionalProperties": false
}{
"title": "List this person's agent connections, grants, last use and expiry",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_account_connections_revoke — Revoke one of this person's agent connections immediately
Revoke one of this person's agent connections immediately.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"connection"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 200
},
"connection": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Revoke one of this person's agent connections immediately",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_guides_get — Read the company's editable guidebook, draft articles, assets and publication state
Read the company's editable guidebook, draft articles, assets and publication state. Customer guides share the existing company knowledge source.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
}
},
"additionalProperties": false
}{
"title": "Read the company's editable guidebook, draft articles, assets and publication state",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_guides_save — Create or edit guidebook details at the expected version
Create or edit guidebook details at the expected version. Saves a private draft; does not publish.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"expected_version",
"settings",
"reason"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"settings": {
"type": "object",
"required": [
"slug",
"title",
"description",
"accent",
"portal_url"
],
"properties": {
"slug": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"maxLength": 100
},
"title": {
"type": "string",
"maxLength": 160,
"minLength": 1
},
"accent": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
},
"portal_url": {
"anyOf": [
{
"type": "string",
"const": ""
},
{
"type": "string",
"format": "uri",
"maxLength": 1000
}
]
},
"description": {
"type": "string",
"maxLength": 1000
},
"logo_asset_id": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"hero_background": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$"
},
"support_installation_id": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}{
"title": "Create or edit guidebook details at the expected version",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_guides_articles_get — Read an editable guide article and its current knowledge revision
Read an editable guide article and its current knowledge revision.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"article"
],
"properties": {
"article": {
"type": "string",
"pattern": "^[a-z0-9]+(?:[.-][a-z0-9]+)*$",
"maxLength": 100
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
}
},
"additionalProperties": false
}{
"title": "Read an editable guide article and its current knowledge revision",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_guides_articles_save — Create or edit a Markdown customer article with source references and managed asset IDs
Create or edit a Markdown customer article with source references and managed asset IDs. Saves a draft in the shared knowledge library; later edits do not change a published release.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"article",
"expected_revision",
"slug",
"title",
"summary",
"topic",
"content",
"asset_ids",
"source_url",
"reason"
],
"properties": {
"slug": {
"type": "string",
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
"maxLength": 100
},
"title": {
"type": "string",
"maxLength": 160,
"minLength": 1
},
"topic": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"reason": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"article": {
"type": "string",
"pattern": "^[a-z0-9]+(?:[.-][a-z0-9]+)*$",
"maxLength": 100
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"content": {
"type": "string",
"maxLength": 500000,
"minLength": 1
},
"summary": {
"type": "string",
"maxLength": 1000
},
"asset_ids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"maxItems": 100
},
"source_url": {
"anyOf": [
{
"type": "string",
"const": ""
},
{
"type": "string",
"format": "uri",
"maxLength": 1000
}
]
},
"verified_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
],
"default": null
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_revision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}{
"title": "Create or edit a Markdown customer article with source references and managed asset IDs",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_guides_preview — Read the exact current draft, article revisions and authenticated preview URL before publishing
Read the exact current draft, article revisions and authenticated preview URL before publishing. No public access token is issued.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
}
},
"additionalProperties": false
}{
"title": "Read the exact current draft, article revisions and authenticated preview URL before publishing",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_guides_authoring — Read the company's reviewed guide-authoring brief, draft article references and publication state
Read the company's reviewed guide-authoring brief, draft article references and publication state. This read starts no model run and changes no customer data.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
}
},
"additionalProperties": false
}{
"title": "Read the company's reviewed guide-authoring brief, draft article references and publication state",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_guides_publish — Publish a complete release of the company's customer help center
Publish a complete release of the company's customer help center. The release replaces every published article: list each article that should stay public (guides.preview publication.articles) and name any published article you mean to remove in unpublish. Requires explicit publication authority; does not approve customer business actions.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"expected_version",
"articles",
"reason"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"articles": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"revision"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z0-9]+(?:[.-][a-z0-9]+)*$",
"maxLength": 100
},
"revision": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"maxItems": 200,
"minItems": 1
},
"unpublish": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9]+(?:[.-][a-z0-9]+)*$",
"maxLength": 100
},
"default": [],
"maxItems": 200
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}{
"title": "Publish a complete release of the company's customer help center",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_guides_unpublish — Remove the company's guide and release media from Summer's public serving path at the expected version
Remove the company's guide and release media from Summer's public serving path at the expected version. Downloaded copies cannot be recalled.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"expected_version",
"reason"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}{
"title": "Remove the company's guide and release media from Summer's public serving path at the expected version",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_guides_history — Read the company's guide edits, upload and publication history
Read the company's guide edits, upload and publication history.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
}
},
"additionalProperties": false
}{
"title": "Read the company's guide edits, upload and publication history",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_guides_hosting_get — Read the optional custom guide domain, DNS instructions and verified HTTPS status
Read the optional custom guide domain, DNS instructions and verified HTTPS status. Summer-hosted guide URLs need no customer DNS setup.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
}
},
"additionalProperties": false
}{
"title": "Read the optional custom guide domain, DNS instructions and verified HTTPS status",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_guides_hosting_save — Save or remove a custom guide hostname at the expected version
Save or remove a custom guide hostname at the expected version. Saving a name does not verify ownership or provision HTTPS.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"expected_version",
"hostname"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"hostname": {
"anyOf": [
{
"type": "string",
"pattern": "^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z][a-z0-9-]{1,62}$"
},
{
"type": "null"
}
]
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}{
"title": "Save or remove a custom guide hostname at the expected version",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_guides_hosting_verify — Check the saved domain's DNS ownership, attach it through Summer's hosting connection and verify HTTPS
Check the saved domain's DNS ownership, attach it through Summer's hosting connection and verify HTTPS. Returns pending until each check succeeds.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"expected_version"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}{
"title": "Check the saved domain's DNS ownership, attach it through Summer's hosting connection and verify HTTPS",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_assets_list — List the company's private guide media, metadata and upload status
List the company's private guide media, metadata and upload status. Uploading does not make a file public.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
}
},
"additionalProperties": false
}{
"title": "List the company's private guide media, metadata and upload status",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_assets_get — Read one guide asset, checksum and resumable chunk receipts
Read one guide asset, checksum and resumable chunk receipts. No secret upload capability is returned.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"asset"
],
"properties": {
"asset": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
}
},
"additionalProperties": false
}{
"title": "Read one guide asset, checksum and resumable chunk receipts",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_assets_uploads_create — Start or recover a private resumable Markdown, image, video, PDF or caption upload from metadata
Start or recover a private resumable Markdown, image, video, PDF or caption upload from metadata. File bytes are transferred separately; this hosted endpoint has no local filesystem access.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"id",
"filename",
"media_type",
"byte_length",
"sha256",
"alt_text",
"caption",
"provenance"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"caption": {
"type": "string",
"maxLength": 2000
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"alt_text": {
"type": "string",
"maxLength": 500
},
"filename": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"media_type": {
"enum": [
"text/markdown",
"image/png",
"image/jpeg",
"image/webp",
"image/gif",
"video/mp4",
"video/webm",
"text/vtt",
"application/pdf"
],
"type": "string"
},
"provenance": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"transcript": {
"type": "string",
"default": "",
"maxLength": 100000
},
"byte_length": {
"type": "integer",
"maximum": 268435456,
"minimum": 1
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"poster_asset_id": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
],
"default": null
}
},
"additionalProperties": false
}{
"title": "Start or recover a private resumable Markdown, image, video, PDF or caption upload from metadata",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_assets_uploads_complete — Verify the original size, content signature and SHA-256 against saved private bytes, then mark a guide upload ready
Verify the original size, content signature and SHA-256 against saved private bytes, then mark a guide upload ready. A ready file remains private until published in a guide.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"asset"
],
"properties": {
"asset": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Verify the original size, content signature and SHA-256 against saved private bytes, then mark a guide upload ready",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_assets_edit — Edit guide media captions, alt text, provenance, transcript or poster at the expected version, or retire unused media
Edit guide media captions, alt text, provenance, transcript or poster at the expected version, or retire unused media. Published releases keep their pinned metadata.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"asset",
"expected_version",
"alt_text",
"caption",
"provenance",
"reason"
],
"properties": {
"asset": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"reason": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"caption": {
"type": "string",
"maxLength": 2000
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"retired": {
"type": "boolean",
"default": false
},
"alt_text": {
"type": "string",
"maxLength": 500
},
"provenance": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"transcript": {
"type": "string",
"default": "",
"maxLength": 100000
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"poster_asset_id": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
],
"default": null
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}{
"title": "Edit guide media captions, alt text, provenance, transcript or poster at the expected version, or retire unused media",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_company_capabilities — What this connection can do here, with a reason for everything unavailable
What this connection can do here, with a reason for everything unavailable.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "What this connection can do here, with a reason for everything unavailable",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_company_setup_status — Saved, verified, pending, unavailable and enabled state for each setup item
Saved, verified, pending, unavailable and enabled state for each setup item.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "Saved, verified, pending, unavailable and enabled state for each setup item",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_capability_checks_list — Read the same operational capability checklist, results, discovery paths and review history shown in Summer
Read the same operational capability checklist, results, discovery paths and review history shown in Summer. Every usable API, browser or knowledge path can count.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "Read the same operational capability checklist, results, discovery paths and review history shown in Summer",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_capability_checks_get — Read one capability, its concrete test, evidence and latest 20 review records
Read one capability, its concrete test, evidence and latest 20 review records.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"capability"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"capability": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{1,79}$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "Read one capability, its concrete test, evidence and latest 20 review records",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_capability_checks_save — Edit a capability expectation or add a business-specific custom_ capability with a reason
Edit a capability expectation or add a business-specific custom_ capability with a reason. Resets its result and retains history. Does not create a provider tool or grant execution access.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"capability",
"expected_version",
"definition",
"notes"
],
"properties": {
"notes": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"capability": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{1,79}$"
},
"definition": {
"type": "object",
"required": [
"id",
"title",
"group",
"mode",
"expectation",
"test",
"examples"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{1,79}$"
},
"mode": {
"enum": [
"read",
"approval"
],
"type": "string"
},
"test": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"group": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"title": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"examples": {
"type": "string",
"maxLength": 300
},
"expectation": {
"type": "string",
"maxLength": 700,
"minLength": 1
}
},
"additionalProperties": false
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Current version you expect; 0 when the resource does not exist yet"
}
},
"additionalProperties": false
}{
"title": "Edit a capability expectation or add a business-specific custom_ capability with a reason",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_capability_checks_report — Record the setup agent's capability assessment with original evidence and the path Summer can discover and use
Record the setup agent's capability assessment with original evidence and the path Summer can discover and use. A pass needs evidence and a discovery path. Reports are labeled as agent-reported, never human approval or independently verified execution.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"capability",
"expected_version",
"state",
"notes",
"evidence"
],
"properties": {
"notes": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"state": {
"enum": [
"not_checked",
"passed",
"failed",
"blocked",
"not_applicable"
],
"type": "string"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"evidence": {
"type": "string",
"maxLength": 2000
},
"capability": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{1,79}$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"fulfillment": {
"type": "object",
"required": [
"kind",
"discovery",
"location"
],
"properties": {
"kind": {
"enum": [
"api",
"browser",
"knowledge",
"other",
"combined"
],
"type": "string"
},
"location": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "Guide, tool, API documentation or portal location; never a secret"
},
"discovery": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "How Summer can discover this path"
}
},
"additionalProperties": false
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Current version you expect; 0 when the resource does not exist yet"
}
},
"additionalProperties": false
}{
"title": "Record the setup agent's capability assessment with original evidence and the path Summer can discover and use",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_capability_checks_test — Request a read-only Summer capability test on an authorized sample case
Request a read-only Summer capability test on an authorized sample case. Also needs investigations.request and current runtime access. Does not approve or execute customer changes.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"capability",
"expected_version",
"case_id"
],
"properties": {
"case_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"capability": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{1,79}$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Current version you expect; 0 when the resource does not exist yet"
}
},
"additionalProperties": false
}{
"title": "Request a read-only Summer capability test on an authorized sample case",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_company_settings_read — Read company-wide settings, including the email subject customers see on new support emails
Read company-wide settings, including the email subject customers see on new support emails. Changes affect every environment.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
}
},
"additionalProperties": false
}{
"title": "Read company-wide settings, including the email subject customers see on new support emails",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_company_settings_update — Update company-wide settings with the expected version
Update company-wide settings with the expected version. Affects every environment.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"name",
"timezone",
"workflow",
"note",
"expected_version"
],
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"note": {
"type": "string",
"maxLength": 1000
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"timezone": {
"type": "string",
"maxLength": 100
},
"workflow": {
"enum": [
"support",
"order_status",
"billing",
"custom"
],
"type": "string"
},
"email_subject": {
"type": "string",
"pattern": "^[^\\r\\n\\t]*$",
"maxLength": 150,
"description": "Subject customers see on a new support email, such as \"Your Example Co support request\". Replies to a customer's email keep their subject. Leave out to keep the saved subject; an empty string clears it."
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Current version you expect; 0 when the resource does not exist yet"
}
},
"additionalProperties": false
}{
"title": "Update company-wide settings with the expected version",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_integrations_list — List provider integrations, their categories, required fields, alternative credential sets and saved metadata
List provider integrations, their categories, required fields, alternative credential sets and saved metadata. Filter by search, category or connection. Connected means all required credentials and one complete alternative set are available, not a live provider check. read_only integrations are read with the company's own key and never written through. Never returns values.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"search": {
"type": "string",
"maxLength": 200
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"category": {
"enum": [
"clinical",
"messaging",
"helpdesk",
"orders",
"shipping",
"billing",
"marketing",
"data",
"custom"
],
"type": "string"
},
"connection": {
"enum": [
"connected",
"not_connected"
],
"type": "string"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "List provider integrations, their categories, required fields, alternative credential sets and saved metadata",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_integrations_save — Save a custom integration's description, setup instructions and credential field names
Save a custom integration's description, setup instructions and credential field names. This saves metadata only, without credential values or a live connection check.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"integration",
"expected_version",
"name",
"fields"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"fields": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"label",
"required"
],
"properties": {
"name": {
"type": "string",
"pattern": "^[A-Z][A-Z0-9_]{0,127}$",
"description": "Credential variable name, for example STRIPE_READ_KEY"
},
"label": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"required": {
"type": "boolean"
}
},
"additionalProperties": false
},
"maxItems": 128,
"minItems": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"description": {
"type": "string",
"default": "",
"maxLength": 500
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"integration": {
"type": "string",
"pattern": "^custom-[a-z0-9-]{1,64}$"
},
"instructions": {
"type": "string",
"default": "",
"maxLength": 4000
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Current version you expect; 0 when the resource does not exist yet"
}
},
"additionalProperties": false
}{
"title": "Save a custom integration's description, setup instructions and credential field names",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_integrations_setup_prompt — Prepare an integration-specific MCP setup prompt and Codex or Claude Code app links
Prepare an integration-specific MCP setup prompt and Codex or Claude Code app links. Includes the selected company, environment and setup brief, never credential values. Does not launch an app or change configuration.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"name"
],
"properties": {
"id": {
"type": "string",
"pattern": "^custom-[a-z0-9-]{1,64}$"
},
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"fields": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"label",
"required"
],
"properties": {
"name": {
"type": "string",
"pattern": "^[A-Z][A-Z0-9_]{0,127}$",
"description": "Credential variable name, for example STRIPE_READ_KEY"
},
"label": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"required": {
"type": "boolean"
}
},
"additionalProperties": false
},
"default": [],
"maxItems": 128
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"description": {
"type": "string",
"default": "",
"maxLength": 500
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"instructions": {
"type": "string",
"default": "",
"maxLength": 4000
}
},
"additionalProperties": false
}{
"title": "Prepare an integration-specific MCP setup prompt and Codex or Claude Code app links",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_credentials_list — List saved credential names, sources and versions
List saved credential names, sources and versions. Never returns values.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "List saved credential names, sources and versions",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_credentials_set — Save one selected credential value or Doppler reference
Save one selected credential value or Doppler reference. Replacing an active credential needs credentials.replace. Returns metadata only. Returns a local CLI command when a secret is involved.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"name",
"source",
"expected_version"
],
"properties": {
"name": {
"type": "string",
"pattern": "^[A-Z][A-Z0-9_]{0,127}$",
"description": "Credential variable name, for example STRIPE_READ_KEY"
},
"source": {
"enum": [
"doppler",
"local_value"
],
"type": "string",
"description": "doppler saves a reference; local_value returns a CLI handoff"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"secret_name": {
"type": "string",
"pattern": "^[A-Z][A-Z0-9_]{0,127}$",
"description": "Doppler secret name, for source=doppler"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}{
"title": "Save one selected credential value or Doppler reference",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_knowledge_list — List current company knowledge documents
List current company knowledge documents. Knowledge is company-wide, not per environment. Pass tag to list documents with that tag, such as an integration name (slack, beluga, mdi), which is how Summer shows knowledge related to an integration.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"tag": {
"type": "string",
"pattern": "^[a-z0-9-]{1,60}$"
},
"query": {
"type": "string",
"maxLength": 200
},
"offset": {
"type": "integer",
"maximum": 100000,
"minimum": 0
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
}
},
"additionalProperties": false
}{
"title": "List current company knowledge documents",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_knowledge_create — Upload a new company knowledge document with original revision history
Upload a new company knowledge document with original revision history. The shared library is used by all roles and environments. Existing document IDs are refused. API reference: https://api.gosummer.ai/v1/openapi.json
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"id",
"path",
"content",
"reason"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[a-z0-9]+(?:[.-][a-z0-9]+)*$",
"maxLength": 120,
"description": "Knowledge document ID"
},
"path": {
"type": "string",
"pattern": "^company\\/[a-z0-9][a-z0-9._/-]*\\.md$",
"maxLength": 240
},
"tags": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[a-z0-9-]{1,60}$"
},
"default": [],
"maxItems": 20
},
"reason": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"content": {
"type": "string",
"maxLength": 1000000,
"minLength": 1
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Upload a new company knowledge document with original revision history",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_knowledge_changes — Read company knowledge changes from people, delegated API/MCP connections and Summer agent plans, with before/after revisions, GPT change summaries, summary processing state and original provenance
Read company knowledge changes from people, delegated API/MCP connections and Summer agent plans, with before/after revisions, GPT change summaries, summary processing state and original provenance. Set actor=summer for Summer plans and Teach Summer edits.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"actor": {
"enum": [
"all",
"summer"
],
"type": "string"
},
"offset": {
"type": "integer",
"maximum": 100000,
"minimum": 0
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
}
},
"additionalProperties": false
}{
"title": "Read company knowledge changes from people, delegated API/MCP connections and Summer agent plans, with before/after revisions, GPT change summaries, summary processing state and original provenance",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_knowledge_get — Read one company knowledge document and its current revision
Read one company knowledge document and its current revision.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"document"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"document": {
"type": "string",
"pattern": "^[a-z0-9]+(?:[.-][a-z0-9]+)*$",
"maxLength": 120,
"description": "Knowledge document ID"
}
},
"additionalProperties": false
}{
"title": "Read one company knowledge document and its current revision",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_knowledge_history — Read the edit history of a company knowledge document with GPT change summaries and processing state
Read the edit history of a company knowledge document with GPT change summaries and processing state. Set actor=summer for Summer plans and Teach Summer edits.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"document"
],
"properties": {
"actor": {
"enum": [
"all",
"summer"
],
"type": "string"
},
"offset": {
"type": "integer",
"maximum": 100000,
"minimum": 0
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"document": {
"type": "string",
"pattern": "^[a-z0-9]+(?:[.-][a-z0-9]+)*$",
"maxLength": 120,
"description": "Knowledge document ID"
}
},
"additionalProperties": false
}{
"title": "Read the edit history of a company knowledge document with GPT change summaries and processing state",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_knowledge_edit — Edit an existing company knowledge document with the expected revision and a reason
Edit an existing company knowledge document with the expected revision and a reason. Affects every environment and later runs.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"document",
"revision",
"content",
"status",
"reason"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"status": {
"enum": [
"active",
"retired"
],
"type": "string"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"content": {
"type": "string",
"maxLength": 1000000,
"minLength": 1
},
"document": {
"type": "string",
"pattern": "^[a-z0-9]+(?:[.-][a-z0-9]+)*$",
"maxLength": 120,
"description": "Knowledge document ID"
},
"revision": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Edit an existing company knowledge document with the expected revision and a reason",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_messenger_installations_list — List Messenger installations in this environment
List Messenger installations in this environment. Signing keys are never returned.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "List Messenger installations in this environment",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_messenger_installations_create — Create an installation with a client-chosen ID
Create an installation with a client-chosen ID. The one-time signing key goes to the trusted local helper, never to model-visible output. Returns a local CLI command when a secret is involved.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"id",
"settings"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "New installation ID chosen by the client, so a retry cannot create a duplicate"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"settings": {
"type": "object",
"required": [
"enabled",
"guests_enabled",
"display_name",
"allowed_origins",
"privacy_url",
"fallback_url",
"office_hours"
],
"properties": {
"enabled": {
"type": "boolean",
"description": "Live widget. The approved setup grant includes production installation and activation."
},
"routing": {
"type": "object",
"properties": {
"offer_url": {
"type": "string",
"maxLength": 512
},
"catalog_url": {
"type": "string",
"maxLength": 512
},
"offer_label": {
"type": "string",
"maxLength": 80
},
"sign_in_url": {
"type": "string",
"maxLength": 512
},
"clinician_url": {
"type": "string",
"maxLength": 512
},
"destination_origins": {
"type": "array",
"items": {
"type": "string",
"maxLength": 256
},
"maxItems": 10
}
},
"additionalProperties": false
},
"identity": {
"type": "object",
"properties": {
"mode": {
"enum": [
"human",
"ai"
],
"type": "string",
"default": "human",
"description": "Named support persona (default) or a visible AI assistant label."
},
"name_style": {
"enum": [
"neutral",
"female"
],
"type": "string",
"default": "neutral"
},
"custom_name": {
"type": "string",
"default": "",
"maxLength": 80,
"description": "Name shown to customers. Leave it empty in named-support mode, with no teammate_id or suggested_photo, and Summer uses the company's AI employee from teammates.list."
},
"name_format": {
"enum": [
"full",
"first"
],
"type": "string",
"description": "Named support: show and introduce the agent with the full name or first name only, keeping the chosen employee and photo. Omitted means full. AI assistant names are kept intact."
},
"teammate_id": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
],
"description": "Show this company teammate's uploaded photo beside automated replies. Put the teammate's name in custom_name."
},
"suggested_photo": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-z]+(-[a-z]+)*\\.[a-z]+(-[a-z]+)*$"
},
{
"type": "null"
}
],
"description": "Show the photo of a suggested teammate name (its first.last address part from teammates.names.list) beside automated replies. Put that name in custom_name."
}
},
"description": "Agent name and AI disclosure. Defaults to named support with a neutral first name and last initial.",
"additionalProperties": false
},
"logo_url": {
"type": "string",
"maxLength": 1024,
"description": "Public company logo shown in the header"
},
"privacy_url": {
"type": "string",
"maxLength": 512
},
"display_name": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Company name shown in the Messenger header"
},
"fallback_url": {
"type": "string",
"maxLength": 512
},
"office_hours": {
"type": "string",
"maxLength": 200
},
"presentation": {
"type": "object",
"properties": {
"colors": {
"type": "object",
"default": {},
"properties": {
"accent": {
"type": "string",
"default": "#a95424",
"pattern": "^#[0-9a-f]{6}$",
"maxLength": 7,
"minLength": 7
},
"customer_bubble": {
"type": "string",
"default": "#eef1e7",
"pattern": "^#[0-9a-f]{6}$",
"maxLength": 7,
"minLength": 7
}
},
"additionalProperties": false
},
"actions": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"required": [
"type",
"label",
"url",
"show_on_home",
"show_in_chat"
],
"properties": {
"url": {
"type": "string",
"maxLength": 1024
},
"type": {
"type": "string",
"const": "link"
},
"label": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"show_in_chat": {
"type": "boolean"
},
"show_on_home": {
"type": "boolean"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"label",
"show_on_home",
"show_in_chat"
],
"properties": {
"type": {
"type": "string",
"const": "lead_capture"
},
"label": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"show_in_chat": {
"type": "boolean"
},
"show_on_home": {
"type": "boolean"
}
},
"additionalProperties": false
}
]
},
"default": [
{
"type": "lead_capture",
"label": "Request follow-up",
"show_in_chat": true,
"show_on_home": false
}
],
"maxItems": 6
},
"chat_label": {
"type": "string",
"default": "Message support",
"maxLength": 60,
"minLength": 1
},
"lead_capture": {
"type": "object",
"default": {},
"properties": {
"title": {
"type": "string",
"default": "Request follow-up",
"maxLength": 100,
"minLength": 1
},
"name_label": {
"type": "string",
"default": "Name",
"maxLength": 60,
"minLength": 1
},
"show_phone": {
"type": "boolean",
"default": false
},
"description": {
"type": "string",
"default": "Leave your details so our team can contact you.",
"maxLength": 300,
"minLength": 1
},
"email_label": {
"type": "string",
"default": "Email",
"maxLength": 60,
"minLength": 1
},
"phone_label": {
"type": "string",
"default": "Phone number",
"maxLength": 60,
"minLength": 1
},
"consent_text": {
"type": "string",
"default": "I agree that this team may contact me using these details.",
"maxLength": 500,
"minLength": 1,
"description": "Consent copy. Add any number of inline links with [Privacy Policy](https://example.com/privacy). Links open in a new tab; HTML is displayed as text. The exact copy and URLs are retained with the submission."
},
"show_company": {
"type": "boolean",
"default": true
},
"show_message": {
"type": "boolean",
"default": true
},
"submit_label": {
"type": "string",
"default": "Send my details",
"maxLength": 60,
"minLength": 1
},
"company_label": {
"type": "string",
"default": "Company",
"maxLength": 60,
"minLength": 1
},
"custom_fields": {
"type": "array",
"items": {
"type": "object",
"required": [
"key",
"label"
],
"properties": {
"key": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{0,49}$"
},
"type": {
"enum": [
"text",
"select"
],
"type": "string",
"default": "text"
},
"label": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"options": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"default": [],
"maxItems": 20
},
"required": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
},
"default": [],
"maxItems": 10
},
"follow_up_url": {
"anyOf": [
{
"type": "string",
"maxLength": 1024
},
{
"type": "string",
"const": ""
}
],
"default": ""
},
"message_label": {
"type": "string",
"default": "Message",
"maxLength": 60,
"minLength": 1
},
"phone_required": {
"type": "boolean",
"default": false
},
"follow_up_label": {
"type": "string",
"default": "Book a call",
"maxLength": 60,
"minLength": 1
},
"success_message": {
"type": "string",
"default": "Your details are saved for our team.",
"maxLength": 200,
"minLength": 1
},
"company_required": {
"type": "boolean",
"default": false
},
"required_before_chat": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
},
"thread_title": {
"type": "string",
"default": "What's on your mind?",
"maxLength": 100,
"minLength": 1
},
"welcome_title": {
"type": "string",
"default": "How can we help?",
"maxLength": 100,
"minLength": 1
},
"header_description": {
"type": "string",
"default": "Support team",
"maxLength": 100,
"minLength": 1
},
"thread_description": {
"type": "string",
"default": "Ask a question here. We can help you find the next step.",
"maxLength": 300,
"minLength": 1
},
"welcome_description": {
"type": "string",
"default": "",
"maxLength": 300
}
},
"description": "Company chat colors, welcome and chat copy, home/chat links and contact form labels. Consent text supports multiple [label](https://example.com/policy) links; other copy is plain text. Links use HTTPS. Scoped to this installation.",
"additionalProperties": false
},
"guests_enabled": {
"type": "boolean"
},
"allowed_origins": {
"type": "array",
"items": {
"type": "string",
"maxLength": 256
},
"maxItems": 20,
"minItems": 1,
"description": "Exact website origins, https (http://localhost allowed in staging)"
},
"guest_challenge_hourly": {
"type": "integer",
"maximum": 10000,
"minimum": 1
},
"guest_attachments_enabled": {
"type": "boolean"
},
"guest_daily_conversation_limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1
}
},
"additionalProperties": false
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Create an installation with a client-chosen ID",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_messenger_installations_update — Update installation settings with the expected version
Update installation settings with the expected version. Keeps the signing key.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"installation",
"expected_version",
"settings"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"settings": {
"type": "object",
"required": [
"enabled",
"guests_enabled",
"display_name",
"allowed_origins",
"privacy_url",
"fallback_url",
"office_hours"
],
"properties": {
"enabled": {
"type": "boolean",
"description": "Live widget. The approved setup grant includes production installation and activation."
},
"routing": {
"type": "object",
"properties": {
"offer_url": {
"type": "string",
"maxLength": 512
},
"catalog_url": {
"type": "string",
"maxLength": 512
},
"offer_label": {
"type": "string",
"maxLength": 80
},
"sign_in_url": {
"type": "string",
"maxLength": 512
},
"clinician_url": {
"type": "string",
"maxLength": 512
},
"destination_origins": {
"type": "array",
"items": {
"type": "string",
"maxLength": 256
},
"maxItems": 10
}
},
"additionalProperties": false
},
"identity": {
"type": "object",
"properties": {
"mode": {
"enum": [
"human",
"ai"
],
"type": "string",
"default": "human",
"description": "Named support persona (default) or a visible AI assistant label."
},
"name_style": {
"enum": [
"neutral",
"female"
],
"type": "string",
"default": "neutral"
},
"custom_name": {
"type": "string",
"default": "",
"maxLength": 80,
"description": "Name shown to customers. Leave it empty in named-support mode, with no teammate_id or suggested_photo, and Summer uses the company's AI employee from teammates.list."
},
"name_format": {
"enum": [
"full",
"first"
],
"type": "string",
"description": "Named support: show and introduce the agent with the full name or first name only, keeping the chosen employee and photo. Omitted means full. AI assistant names are kept intact."
},
"teammate_id": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
],
"description": "Show this company teammate's uploaded photo beside automated replies. Put the teammate's name in custom_name."
},
"suggested_photo": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-z]+(-[a-z]+)*\\.[a-z]+(-[a-z]+)*$"
},
{
"type": "null"
}
],
"description": "Show the photo of a suggested teammate name (its first.last address part from teammates.names.list) beside automated replies. Put that name in custom_name."
}
},
"description": "Agent name and AI disclosure. Defaults to named support with a neutral first name and last initial.",
"additionalProperties": false
},
"logo_url": {
"type": "string",
"maxLength": 1024,
"description": "Public company logo shown in the header"
},
"privacy_url": {
"type": "string",
"maxLength": 512
},
"display_name": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Company name shown in the Messenger header"
},
"fallback_url": {
"type": "string",
"maxLength": 512
},
"office_hours": {
"type": "string",
"maxLength": 200
},
"presentation": {
"type": "object",
"properties": {
"colors": {
"type": "object",
"default": {},
"properties": {
"accent": {
"type": "string",
"default": "#a95424",
"pattern": "^#[0-9a-f]{6}$",
"maxLength": 7,
"minLength": 7
},
"customer_bubble": {
"type": "string",
"default": "#eef1e7",
"pattern": "^#[0-9a-f]{6}$",
"maxLength": 7,
"minLength": 7
}
},
"additionalProperties": false
},
"actions": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"required": [
"type",
"label",
"url",
"show_on_home",
"show_in_chat"
],
"properties": {
"url": {
"type": "string",
"maxLength": 1024
},
"type": {
"type": "string",
"const": "link"
},
"label": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"show_in_chat": {
"type": "boolean"
},
"show_on_home": {
"type": "boolean"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"type",
"label",
"show_on_home",
"show_in_chat"
],
"properties": {
"type": {
"type": "string",
"const": "lead_capture"
},
"label": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"show_in_chat": {
"type": "boolean"
},
"show_on_home": {
"type": "boolean"
}
},
"additionalProperties": false
}
]
},
"default": [
{
"type": "lead_capture",
"label": "Request follow-up",
"show_in_chat": true,
"show_on_home": false
}
],
"maxItems": 6
},
"chat_label": {
"type": "string",
"default": "Message support",
"maxLength": 60,
"minLength": 1
},
"lead_capture": {
"type": "object",
"default": {},
"properties": {
"title": {
"type": "string",
"default": "Request follow-up",
"maxLength": 100,
"minLength": 1
},
"name_label": {
"type": "string",
"default": "Name",
"maxLength": 60,
"minLength": 1
},
"show_phone": {
"type": "boolean",
"default": false
},
"description": {
"type": "string",
"default": "Leave your details so our team can contact you.",
"maxLength": 300,
"minLength": 1
},
"email_label": {
"type": "string",
"default": "Email",
"maxLength": 60,
"minLength": 1
},
"phone_label": {
"type": "string",
"default": "Phone number",
"maxLength": 60,
"minLength": 1
},
"consent_text": {
"type": "string",
"default": "I agree that this team may contact me using these details.",
"maxLength": 500,
"minLength": 1,
"description": "Consent copy. Add any number of inline links with [Privacy Policy](https://example.com/privacy). Links open in a new tab; HTML is displayed as text. The exact copy and URLs are retained with the submission."
},
"show_company": {
"type": "boolean",
"default": true
},
"show_message": {
"type": "boolean",
"default": true
},
"submit_label": {
"type": "string",
"default": "Send my details",
"maxLength": 60,
"minLength": 1
},
"company_label": {
"type": "string",
"default": "Company",
"maxLength": 60,
"minLength": 1
},
"custom_fields": {
"type": "array",
"items": {
"type": "object",
"required": [
"key",
"label"
],
"properties": {
"key": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{0,49}$"
},
"type": {
"enum": [
"text",
"select"
],
"type": "string",
"default": "text"
},
"label": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"options": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"default": [],
"maxItems": 20
},
"required": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
},
"default": [],
"maxItems": 10
},
"follow_up_url": {
"anyOf": [
{
"type": "string",
"maxLength": 1024
},
{
"type": "string",
"const": ""
}
],
"default": ""
},
"message_label": {
"type": "string",
"default": "Message",
"maxLength": 60,
"minLength": 1
},
"phone_required": {
"type": "boolean",
"default": false
},
"follow_up_label": {
"type": "string",
"default": "Book a call",
"maxLength": 60,
"minLength": 1
},
"success_message": {
"type": "string",
"default": "Your details are saved for our team.",
"maxLength": 200,
"minLength": 1
},
"company_required": {
"type": "boolean",
"default": false
},
"required_before_chat": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
},
"thread_title": {
"type": "string",
"default": "What's on your mind?",
"maxLength": 100,
"minLength": 1
},
"welcome_title": {
"type": "string",
"default": "How can we help?",
"maxLength": 100,
"minLength": 1
},
"header_description": {
"type": "string",
"default": "Support team",
"maxLength": 100,
"minLength": 1
},
"thread_description": {
"type": "string",
"default": "Ask a question here. We can help you find the next step.",
"maxLength": 300,
"minLength": 1
},
"welcome_description": {
"type": "string",
"default": "",
"maxLength": 300
}
},
"description": "Company chat colors, welcome and chat copy, home/chat links and contact form labels. Consent text supports multiple [label](https://example.com/policy) links; other copy is plain text. Links use HTTPS. Scoped to this installation.",
"additionalProperties": false
},
"guests_enabled": {
"type": "boolean"
},
"allowed_origins": {
"type": "array",
"items": {
"type": "string",
"maxLength": 256
},
"maxItems": 20,
"minItems": 1,
"description": "Exact website origins, https (http://localhost allowed in staging)"
},
"guest_challenge_hourly": {
"type": "integer",
"maximum": 10000,
"minimum": 1
},
"guest_attachments_enabled": {
"type": "boolean"
},
"guest_daily_conversation_limit": {
"type": "integer",
"maximum": 1000,
"minimum": 1
}
},
"additionalProperties": false
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"installation": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
}
},
"additionalProperties": false
}{
"title": "Update installation settings with the expected version",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_messenger_installations_rotate_key — Issue a new signing key
Issue a new signing key. Existing signed sessions end. The key goes to the trusted local helper only. Returns a local CLI command when a secret is involved.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"installation",
"expected_version"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"installation": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
}
},
"additionalProperties": false
}{
"title": "Issue a new signing key",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_messenger_assistant_read — Read assistant settings per installation and whether the managed runtime is enabled
Read assistant settings per installation and whether the managed runtime is enabled.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "Read assistant settings per installation and whether the managed runtime is enabled",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_messenger_leads_list — Read consented website leads for this company and environment
Read consented website leads for this company and environment. Includes volunteered contact details and original submission references.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"before": {
"type": "string",
"maxLength": 120
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "Read consented website leads for this company and environment",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_messenger_assistant_update — Update assistant instructions and escalation permission with the expected revision
Update assistant instructions and escalation permission with the expected revision. Company facts live in shared knowledge. Cannot raise the spending limit.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"installation",
"revision",
"settings"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"revision": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"settings": {
"type": "object",
"required": [
"enabled",
"instructions",
"budget_cents"
],
"properties": {
"enabled": {
"type": "boolean",
"description": "Automatic replies. The approved setup grant includes production activation within the current spending limit."
},
"budget_cents": {
"type": "integer",
"maximum": 10000,
"minimum": 1,
"description": "Cannot exceed the current limit through the API"
},
"instructions": {
"type": "string",
"maxLength": 50000,
"minLength": 1
},
"daily_budget_cents": {
"type": "integer",
"maximum": 1000000,
"minimum": 100,
"description": "Daily spending limit. Delegated clients may keep or reduce the saved limit."
},
"escalation_enabled": {
"type": "boolean",
"description": "Allow investigation handoffs. Set false for a product and sales chat."
},
"lead_capture_enabled": {
"type": "boolean",
"description": "Offer an optional consent-based contact form in chat."
},
"max_concurrent_chats": {
"type": "integer",
"maximum": 200,
"minimum": 1
}
},
"additionalProperties": false
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"installation": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Update assistant instructions and escalation permission with the expected revision",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_messenger_voice_read — Read voice chat settings per installation, the voice services and their voices, published help article count and the voice assistant's update status
Read voice chat settings per installation, the voice services and their voices, published help article count and the voice assistant's update status.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "Read voice chat settings per installation, the voice services and their voices, published help article count and the voice assistant's update status",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_messenger_voice_update — Update voice chat settings with the expected revision
Update voice chat settings with the expected revision. Summer updates the voice assistant from these settings and the company's published help articles.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"installation",
"revision",
"settings"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"revision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"settings": {
"type": "object",
"required": [
"enabled",
"audience",
"allowed_subjects",
"voice_id",
"instructions",
"vocabulary"
],
"properties": {
"enabled": {
"type": "boolean",
"description": "Show the voice button in chat for the chosen audience."
},
"audience": {
"enum": [
"accounts",
"signed_in",
"everyone"
],
"type": "string",
"description": "accounts: only allowed_subjects; signed_in: any verified account; everyone: visitors too."
},
"provider": {
"enum": [
"openai",
"openai_live",
"elevenlabs"
],
"type": "string",
"description": "Voice service. openai_live (OpenAI GPT-Live) is the default: it listens while it speaks and hands questions to Summer. openai is OpenAI Realtime. Omit to keep the saved choice."
},
"voice_id": {
"type": "string",
"pattern": "^[A-Za-z0-9]{8,40}$",
"description": "ElevenLabs voice: one of the voices listed by messenger.voice.read."
},
"vocabulary": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 100,
"description": "Words speech recognition should expect, such as product names."
},
"instructions": {
"type": "string",
"maxLength": 20000,
"description": "Optional company instructions added to the standard voice instructions."
},
"openai_voice": {
"enum": [
"alloy",
"ash",
"ballad",
"coral",
"echo",
"sage",
"shimmer",
"verse",
"marin",
"cedar"
],
"type": "string",
"description": "OpenAI voice for openai and openai_live: one of the openai_voices listed by messenger.voice.read. Omit to keep the saved choice."
},
"allowed_subjects": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"maxItems": 50,
"description": "Verified account subjects your site sends at sign-in. Used when audience is accounts."
}
},
"additionalProperties": false
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"installation": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Update voice chat settings with the expected revision",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_messenger_email_read — Read support email addresses: the private forwarding address, the one DNS record to add, whether mail has arrived, sending status, Gmail forwarding codes and emails that need a look
Read support email addresses: the private forwarding address, the one DNS record to add, whether mail has arrived, sending status, Gmail forwarding codes and emails that need a look.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "Read support email addresses: the private forwarding address, the one DNS record to add, whether mail has arrived, sending status, Gmail forwarding codes and emails that need a look",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_messenger_email_create — Add a support email address
Add a support email address. Summer creates its private forwarding address and signing key and returns the DNS record to add. The address starts off; nothing is sent.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"support_address",
"display_name"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"display_name": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "Sender name customers see on replies."
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"installation_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Messenger installation whose inbox the emails join. Defaults to the first installation."
},
"support_address": {
"type": "string",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"maxLength": 254,
"description": "The address customers already write to, such as support@example.com."
}
},
"additionalProperties": false
}{
"title": "Add a support email address",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_messenger_email_update — Change the sender name or turn a support email address on or off, with the expected version
Change the sender name or turn a support email address on or off, with the expected version. Turning on needs one received email. Turning off keeps every email but stops new conversations and replies.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"channel",
"version"
],
"properties": {
"channel": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"enabled": {
"type": "boolean"
},
"version": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"display_name": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Change the sender name or turn a support email address on or off, with the expected version",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_messenger_email_check — Check forwarding, the DNS record and sending status for one support email address now
Check forwarding, the DNS record and sending status for one support email address now. Records the latest sending status; sends nothing.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"channel"
],
"properties": {
"channel": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "Check forwarding, the DNS record and sending status for one support email address now",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_messenger_autonomy_read — Read the company execution policy and its publishing history, plus autonomy for website chat, texting and email: whether the assistant gives fast replies and how sure it must be to answer alone, and the auto-run plan settings, including who turned auto-run on and website chat installation readiness (chat_assistant)
Read the company execution policy and its publishing history, plus autonomy for website chat, texting and email: whether the assistant gives fast replies and how sure it must be to answer alone, and the auto-run plan settings, including who turned auto-run on and website chat installation readiness (chat_assistant).
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "Read the company execution policy and its publishing history, plus autonomy for website chat, texting and email: whether the assistant gives fast replies and how sure it must be to answer alone, and the auto-run plan settings, including who turned auto-run on and website chat installation readiness (chat_assistant)",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_messenger_autonomy_update — Change one channel's autonomy with the expected version
Change one channel's autonomy with the expected version. With fast reply on, the assistant handles that channel's messages and starts a plan only when it escalates. A lower threshold gives it more autonomy.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"channel",
"version"
],
"properties": {
"channel": {
"enum": [
"chat",
"sms",
"email"
],
"type": "string"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"auto_run_enabled": {
"type": "boolean",
"description": "Run this channel's plans without waiting for a person when the agent says it would run the plan, all five self-review checks pass and it is at least auto_run_threshold sure. Plans with A/B/C options, money, identity or clinical work always wait for a person. The admin who turns it on is the recorded approver. Default off."
},
"auto_run_threshold": {
"type": "integer",
"maximum": 100,
"minimum": 0,
"description": "How sure the agent must be before a plan runs alone, 0 to 100. Lower means more autonomy. Default 95. Auto-run stays off until enabled."
},
"fast_reply_enabled": {
"type": "boolean",
"description": "The assistant answers this channel's messages."
},
"fast_reply_threshold": {
"type": "integer",
"maximum": 100,
"minimum": 0,
"description": "How sure the assistant must be to answer alone, 0 to 100. Lower means more autonomy. Default 50."
}
},
"additionalProperties": false
}{
"title": "Change one channel's autonomy with the expected version",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_autonomy_policy_preview — Preview the complete replacement execution policy
Preview the complete replacement execution policy. Conversation reply grants remain separate; explicit communication review exceptions apply to replies too. Optional partial (run the leading qualifying steps, leave the rest with a person) is off when omitted. Money limits (refund, credit and daily totals in cents) default to $200 per refund, $100 per credit and $500 in 24 hours when omitted. Returns an exact preview hash; changes nothing.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"version",
"settings"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"settings": {
"type": "object",
"required": [
"default",
"exceptions"
],
"properties": {
"money": {
"type": "object",
"required": [
"dailyCentsMax"
],
"properties": {
"dailyCentsMax": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Most refunds and credits that auto-run may approve in any 24 hours, across the company and environment."
},
"creditCentsMax": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Largest single account credit that may run automatically. Omitted: credits wait for a person."
},
"refundCentsMax": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Largest single refund that may run automatically. Omitted: refunds wait for a person."
}
},
"description": "Money limits for auto-run, in whole cents. Omitted: a refund up to 20000 ($200), a credit up to 10000 ($100) and 50000 ($500) in any 24 hours. Set the limits to 0 to make all money wait for a person. Charges and promotions always wait for a person.",
"additionalProperties": false
},
"default": {
"type": "object",
"required": [
"mode",
"threshold"
],
"properties": {
"mode": {
"enum": [
"review",
"automatic"
],
"type": "string"
},
"threshold": {
"type": "integer",
"maximum": 100,
"minimum": 0
}
},
"additionalProperties": false
},
"partial": {
"type": "boolean",
"description": "When true, auto-run may run the leading steps of a plan that qualify and leave the remaining steps, and every case closure, waiting for a person. Off when omitted."
},
"exceptions": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"mode",
"threshold"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"mode": {
"enum": [
"review",
"automatic"
],
"type": "string"
},
"family": {
"enum": [
"reply",
"closure",
"record",
"vendor_contact",
"clinician_note",
"address_cancel",
"money"
],
"type": "string",
"description": "An action family: reply, closure, record, vendor_contact, clinician_note, address_cancel or money. With mode review, the rule holds every action in the family (a kill switch). An automatic family rule does not lift the Slack hold unless it also names the slack channel."
},
"channel": {
"enum": [
"chat",
"email",
"sms",
"slack",
"voice"
],
"type": "string"
},
"audience": {
"enum": [
"internal",
"partner",
"customer"
],
"type": "string"
},
"threshold": {
"type": "integer",
"maximum": 100,
"minimum": 0
},
"capability": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"connection": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"destination": {
"type": "string",
"maxLength": 200,
"minLength": 1
}
},
"additionalProperties": false
},
"maxItems": 12
}
},
"additionalProperties": false
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "Preview the complete replacement execution policy",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_autonomy_policy_update — Publish the complete previewed company execution policy under the authenticated administrator's authority
Publish the complete previewed company execution policy under the authenticated administrator's authority. Requires a person's delegated messaging.activate grant, expected version and preview_hash. Replaces legacy inbound-channel plan permission. Does not run old held plans.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"version",
"settings",
"preview_hash"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"settings": {
"type": "object",
"required": [
"default",
"exceptions"
],
"properties": {
"money": {
"type": "object",
"required": [
"dailyCentsMax"
],
"properties": {
"dailyCentsMax": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Most refunds and credits that auto-run may approve in any 24 hours, across the company and environment."
},
"creditCentsMax": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Largest single account credit that may run automatically. Omitted: credits wait for a person."
},
"refundCentsMax": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Largest single refund that may run automatically. Omitted: refunds wait for a person."
}
},
"description": "Money limits for auto-run, in whole cents. Omitted: a refund up to 20000 ($200), a credit up to 10000 ($100) and 50000 ($500) in any 24 hours. Set the limits to 0 to make all money wait for a person. Charges and promotions always wait for a person.",
"additionalProperties": false
},
"default": {
"type": "object",
"required": [
"mode",
"threshold"
],
"properties": {
"mode": {
"enum": [
"review",
"automatic"
],
"type": "string"
},
"threshold": {
"type": "integer",
"maximum": 100,
"minimum": 0
}
},
"additionalProperties": false
},
"partial": {
"type": "boolean",
"description": "When true, auto-run may run the leading steps of a plan that qualify and leave the remaining steps, and every case closure, waiting for a person. Off when omitted."
},
"exceptions": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"mode",
"threshold"
],
"properties": {
"id": {
"type": "string",
"pattern": "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,79}$"
},
"mode": {
"enum": [
"review",
"automatic"
],
"type": "string"
},
"family": {
"enum": [
"reply",
"closure",
"record",
"vendor_contact",
"clinician_note",
"address_cancel",
"money"
],
"type": "string",
"description": "An action family: reply, closure, record, vendor_contact, clinician_note, address_cancel or money. With mode review, the rule holds every action in the family (a kill switch). An automatic family rule does not lift the Slack hold unless it also names the slack channel."
},
"channel": {
"enum": [
"chat",
"email",
"sms",
"slack",
"voice"
],
"type": "string"
},
"audience": {
"enum": [
"internal",
"partner",
"customer"
],
"type": "string"
},
"threshold": {
"type": "integer",
"maximum": 100,
"minimum": 0
},
"capability": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"connection": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"destination": {
"type": "string",
"maxLength": 200,
"minLength": 1
}
},
"additionalProperties": false
},
"maxItems": 12
}
},
"additionalProperties": false
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"preview_hash": {
"type": "string",
"pattern": "^[a-f0-9]{32}$"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Publish the complete previewed company execution policy under the authenticated administrator's authority",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_autonomy_policy_family_preview — Draft one action family's change to the saved company execution policy and preview it
Draft one action family's change to the saved company execution policy and preview it. widen adds an automatic rule for a family that reports.autonomy_calibration marks ready_to_widen: at least 30 decided plans and under 1% errors in 14 days. hold adds the family's kill switch: a review rule with threshold 100 that holds every action in the family whatever the other rules say. Returns the drafted settings, the expected version and the autonomy.policy.preview result with its preview_hash. Saves nothing; a person publishes the change with autonomy.policy.update. Money stays within the policy's money limits, and Slack posts still wait unless a rule names Slack.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"family"
],
"properties": {
"change": {
"enum": [
"widen",
"hold"
],
"type": "string",
"default": "widen",
"description": "widen adds an automatic rule for a family the calibration report marks ready_to_widen. hold adds the family's kill switch: a review rule with threshold 100. Either way nothing is saved."
},
"family": {
"enum": [
"reply",
"closure",
"record",
"vendor_contact",
"clinician_note",
"address_cancel",
"money"
],
"type": "string",
"description": "The action family to change."
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"threshold": {
"type": "integer",
"maximum": 100,
"minimum": 0,
"description": "For widen: the confidence each action in the family needs. Default: the policy's default threshold."
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "Draft one action family's change to the saved company execution policy and preview it",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_autonomy_plans_preview — Count latest pending plans per open ticket across the connected operations company, including partner/system/operator origins
Count latest pending plans per open ticket across the connected operations company, including partner/system/operator origins. Other tenants cover only their Messenger tickets. Returns aggregate scores, holds, coverage and an exact refresh preview; starts nothing. auto_run:true previews only plans that could run on their own under current auto-run settings.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"auto_run": {
"type": "boolean",
"default": false
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"missing_only": {
"type": "boolean",
"default": true
}
},
"additionalProperties": false
}{
"title": "Count latest pending plans per open ticket across the connected operations company, including partner/system/operator origins",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_autonomy_plans_refresh — Queue fresh research for the exact pending-plan preview, up to 100 tickets
Queue fresh research for the exact pending-plan preview, up to 100 tickets. Each fresh plan follows the ordinary auto-run eligibility rule. auto_run:true (matching the preview) picks only plans that could run on their own. Never replays old effects. Requires a new preview if work changed; successful repeats return the original receipt.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"preview_hash"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"auto_run": {
"type": "boolean",
"default": false
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"missing_only": {
"type": "boolean",
"default": true
},
"preview_hash": {
"type": "string",
"pattern": "^[a-f0-9]{32}$"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Queue fresh research for the exact pending-plan preview, up to 100 tickets",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_messenger_autonomy_backfill_preview — Legacy channel policy only; unavailable after an explicit company-policy replacement
Legacy channel policy only; unavailable after an explicit company-policy replacement. Preview existing Messenger work under saved autonomy settings: counts, a plan confidence histogram and a preview_hash. Returns no messages or customer records. Starts nothing. Up to 100 items per apply batch; totals cover all matching work.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "Legacy channel policy only; unavailable after an explicit company-policy replacement",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_messenger_autonomy_backfill_apply — Apply an exact backfill preview using saved settings
Apply an exact backfill preview using saved settings. Queue unanswered conversations and fresh investigations of qualifying pending plans, up to 100 items. Enabled assistants may reply; new plans follow saved auto-run settings. Skips paused, active, failed or uncertain work. Does not replay old executions. Requires the exact preview_hash; changed settings or work require a new preview. Repeating a successful hash returns its saved receipt.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"preview_hash"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"preview_hash": {
"type": "string",
"pattern": "^[a-f0-9]{32}$"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Apply an exact backfill preview using saved settings",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_messenger_sms_read — Read texting lines: each line's persona name, how it hands work to the team, reply hours and whether texts join conversations, plus recent send problems and the lines this deployment can text from
Read texting lines: each line's persona name, how it hands work to the team, reply hours and whether texts join conversations, plus recent send problems and the lines this deployment can text from. Whether the assistant replies is a channel autonomy setting.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "Read texting lines: each line's persona name, how it hands work to the team, reply hours and whether texts join conversations, plus recent send problems and the lines this deployment can text from",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_messenger_sms_create — Add a texting line
Add a texting line. Received texts on it can join Summer conversations. The line starts off; nothing is sent. Fast replies follow the texting channel's autonomy setting.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"quo_phone_number_id",
"persona_name"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"persona_mode": {
"enum": [
"human",
"ai"
],
"type": "string",
"description": "human: a person on the team (default). ai: a visible AI assistant."
},
"persona_name": {
"type": "string",
"maxLength": 80,
"minLength": 1,
"description": "The name the assistant texts as, such as Alex."
},
"reply_end_hour": {
"type": "integer",
"maximum": 24,
"minimum": 1,
"description": "Hour the assistant stops texting, in the customer's local time. Default 21 (9pm)."
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"installation_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Messenger installation whose assistant instructions and knowledge the line uses. Defaults to the first installation."
},
"escalation_style": {
"enum": [
"check_back",
"manager"
],
"type": "string",
"description": "check_back (default): 'Let me check and get back to you.' manager: may say it is checking with a manager."
},
"reply_start_hour": {
"type": "integer",
"maximum": 23,
"minimum": 0,
"description": "First hour the assistant may text, in the customer's local time. Default 8 (8am)."
},
"quo_phone_number_id": {
"type": "string",
"pattern": "^PN[A-Za-z0-9]{1,60}$",
"description": "The Quo line ID, from available_lines in messenger.sms.read."
},
"ingest_phone_number_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^PN[A-Za-z0-9]{1,60}$"
},
"maxItems": 5,
"description": "Other Quo lines, from available_lines, whose received texts join this line's conversations. Replies always go out from this line. Replaces the whole list; [] stops taking texts from other lines."
}
},
"additionalProperties": false
}{
"title": "Add a texting line",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_messenger_sms_update — Change a texting line with the expected version: persona name, handoff wording, reply hours, other Quo lines it takes texts in from and whether texts join conversations
Change a texting line with the expected version: persona name, handoff wording, reply hours, other Quo lines it takes texts in from and whether texts join conversations. Turn fast replies on or off in messenger.autonomy.update.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"line",
"version"
],
"properties": {
"line": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"enabled": {
"type": "boolean",
"description": "Received texts join Summer conversations."
},
"version": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"persona_mode": {
"enum": [
"human",
"ai"
],
"type": "string"
},
"persona_name": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"reply_end_hour": {
"type": "integer",
"maximum": 24,
"minimum": 1
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"escalation_style": {
"enum": [
"check_back",
"manager"
],
"type": "string"
},
"reply_start_hour": {
"type": "integer",
"maximum": 23,
"minimum": 0
},
"ingest_phone_number_ids": {
"type": "array",
"items": {
"type": "string",
"pattern": "^PN[A-Za-z0-9]{1,60}$"
},
"maxItems": 5,
"description": "Other Quo lines, from available_lines, whose received texts join this line's conversations. Replies always go out from this line. Replaces the whole list; [] stops taking texts from other lines."
}
},
"additionalProperties": false
}{
"title": "Change a texting line with the expected version: persona name, handoff wording, reply hours, other Quo lines it takes texts in from and whether texts join conversations",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_slack_identity_read — Read the support name and avatar shown on Summer's approved Slack replies, whether the Slack install allows them, and the change history
Read the support name and avatar shown on Summer's approved Slack replies, whether the Slack install allows them, and the change history.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
}
},
"additionalProperties": false
}{
"title": "Read the support name and avatar shown on Summer's approved Slack replies, whether the Slack install allows them, and the change history",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_slack_identity_update — Set the support name and avatar on Summer's approved Slack replies, with the expected revision and a reason
Set the support name and avatar on Summer's approved Slack replies, with the expected revision and a reason. Null values use the plain Summer Ellis identity. Sends no message.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"revision",
"display_name",
"avatar_url",
"reason"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"revision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Current revision from slack.identity.read; 0 before the first save."
},
"avatar_url": {
"anyOf": [
{
"type": "string",
"pattern": "^https:\\/\\/[^\\s<>\"]+$",
"maxLength": 500
},
{
"type": "null"
}
],
"description": "Public https image link for the reply avatar."
},
"display_name": {
"anyOf": [
{
"type": "string",
"maxLength": 80,
"minLength": 1
},
{
"type": "null"
}
],
"description": "Support name shown on replies, such as the company's support team name. Slack still marks the post as an app."
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Set the support name and avatar on Summer's approved Slack replies, with the expected revision and a reason",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_slack_channels_posting_update — Allow or stop approved agent replies in one vendor Slack channel, with the expected version from teammates
Allow or stop approved agent replies in one vendor Slack channel, with the expected version from teammates.setup.status and a reason. Each reply still needs a person to approve its exact text. Sends no message.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"channel",
"allowed",
"expected_version",
"reason"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"allowed": {
"type": "boolean"
},
"channel": {
"type": "string",
"pattern": "^[CG][A-Z0-9]+$",
"description": "Slack channel ID from teammates.setup.status"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "postingVersion from teammates.setup.status; 0 before the first change."
}
},
"additionalProperties": false
}{
"title": "Allow or stop approved agent replies in one vendor Slack channel, with the expected version from teammates",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_slack_sender_update — Choose who posts approved vendor Slack replies: the Summer Ellis app, a Summer Teammate (AI employee) from its own Slack account, or the person who approves each reply, from their own connected Slack account
Choose who posts approved vendor Slack replies: the Summer Ellis app, a Summer Teammate (AI employee) from its own Slack account, or the person who approves each reply, from their own connected Slack account. Uses the revision from slack.identity.read and a reason. Sends no message.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"revision",
"teammate_id",
"reason"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"sender": {
"enum": [
"summer_app",
"teammate",
"approver"
],
"type": "string",
"description": "Who posts. Leave out to choose from teammate_id alone. 'approver' posts as whoever approves each reply; that person needs their own Slack account connected (slack.account.read)."
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"revision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Current revision from slack.identity.read; 0 before the first save."
},
"teammate_id": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
],
"description": "An active teammate from teammates.list when sender is 'teammate', otherwise null."
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Choose who posts approved vendor Slack replies: the Summer Ellis app, a Summer Teammate (AI employee) from its own Slack account, or the person who approves each reply, from their own connected Slack account",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_slack_reader_read — Read who Summer reads Slack as: the connection itself (the Summer app or the installer's personal read access), an AI employee, or an admin's own Slack account, whether that account is connected, the revision and the change history
Read who Summer reads Slack as: the connection itself (the Summer app or the installer's personal read access), an AI employee, or an admin's own Slack account, whether that account is connected, the revision and the change history.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
}
},
"additionalProperties": false
}{
"title": "Read who Summer reads Slack as: the connection itself (the Summer app or the installer's personal read access), an AI employee, or an admin's own Slack account, whether that account is connected, the revision and the change history",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_slack_reader_update — Choose who Summer reads Slack as, with the revision from slack
Choose who Summer reads Slack as, with the revision from slack.reader.read and a reason. 'me' uses the caller's own connected Slack account; nobody can choose another person's account. Summer reads only the selected channels that account can see. Sends no message.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"revision",
"reader",
"reason"
],
"properties": {
"reader": {
"enum": [
"connection",
"teammate",
"me"
],
"type": "string"
},
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"revision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Current revision from slack.reader.read; 0 before the first save."
},
"teammate_id": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
],
"description": "An active teammate from teammates.list when reader is 'teammate'."
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Choose who Summer reads Slack as, with the revision from slack",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_slack_account_read — Read whether the caller's own Slack account is connected to Summer in this company, and the settings link to connect it
Read whether the caller's own Slack account is connected to Summer in this company, and the settings link to connect it. Connecting uses Slack sign-in in a browser.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
}
},
"additionalProperties": false
}{
"title": "Read whether the caller's own Slack account is connected to Summer in this company, and the settings link to connect it",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_slack_account_disconnect — Disconnect the caller's own Slack account from Summer in this company and delete its saved token
Disconnect the caller's own Slack account from Summer in this company and delete its saved token. Replies set to post as the approver are then blocked for the caller, and Summer stops reading as the caller.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Disconnect the caller's own Slack account from Summer in this company and delete its saved token",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_slack_member_link_read — Read which Slack account Summer links to the caller in this company, how it was linked, the Slack people the caller can choose from, and whether Summer sends the caller Slack messages about assigned human tasks
Read which Slack account Summer links to the caller in this company, how it was linked, the Slack people the caller can choose from, and whether Summer sends the caller Slack messages about assigned human tasks.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
}
},
"additionalProperties": false
}{
"title": "Read which Slack account Summer links to the caller in this company, how it was linked, the Slack people the caller can choose from, and whether Summer sends the caller Slack messages about assigned human tasks",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_slack_member_link_update — Choose the caller's own Slack account in this company, say they have none, or turn Slack messages about their human tasks on or off
Choose the caller's own Slack account in this company, say they have none, or turn Slack messages about their human tasks on or off. Changes only the caller's settings.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"none": {
"type": "boolean",
"description": "true: the caller does not use this Slack workspace."
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"notices": {
"type": "boolean",
"description": "Slack messages about human tasks assigned to the caller. On by default."
},
"slack_user_id": {
"anyOf": [
{
"type": "string",
"pattern": "^[UW][A-Z0-9]{2,20}$"
},
{
"type": "null"
}
],
"description": "A Slack person from slack.member_link.read options. Omit to keep the current account."
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Choose the caller's own Slack account in this company, say they have none, or turn Slack messages about their human tasks on or off",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_slack_member_links_match — Admin: match every company member to their Slack account again, by email and name
Admin: match every company member to their Slack account again, by email and name. Accounts people signed in with or chose stay as they are. Runs within a few minutes; sends no message.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Admin: match every company member to their Slack account again, by email and name",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_slack_channels_list — List the Slack channels the company selected for Summer, with read and post access and each channel's vendor and purpose
List the Slack channels the company selected for Summer, with read and post access and each channel's vendor and purpose. Agents see the vendor and purpose with every vendor Slack read.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
}
},
"additionalProperties": false
}{
"title": "List the Slack channels the company selected for Summer, with read and post access and each channel's vendor and purpose",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_slack_channels_describe — Set which vendor a selected Slack channel is for and what it is used for, with a reason
Set which vendor a selected Slack channel is for and what it is used for, with a reason. Null clears a field. Changes guidance for agents and people; sends no message and changes no channel access.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"channel",
"installation_id",
"vendor",
"purpose",
"reason"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"vendor": {
"anyOf": [
{
"type": "string",
"maxLength": 60,
"minLength": 1
},
{
"type": "null"
}
],
"description": "The vendor this channel is with, such as Beluga Health."
},
"channel": {
"type": "string",
"pattern": "^[CG][A-Z0-9]+$",
"description": "Slack channel ID from slack.channels.list"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"purpose": {
"anyOf": [
{
"type": "string",
"pattern": "^[^\\u0000-\\u001f]*$",
"maxLength": 400,
"minLength": 1
},
{
"type": "null"
}
],
"description": "What the channel is used for, in one or two plain sentences."
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"installation_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "The Slack connection from slack.channels.list."
}
},
"additionalProperties": false
}{
"title": "Set which vendor a selected Slack channel is for and what it is used for, with a reason",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}summer_company_team_read — List company members and pending invitations
List company members and pending invitations. Role changes and invitations stay in Summer.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
}
},
"additionalProperties": false
}{
"title": "List company members and pending invitations",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_messenger_conversations_assistant — Pause the assistant in one conversation so a person can take over, or ask it to resume
Pause the assistant in one conversation so a person can take over, or ask it to resume. Pausing stops automatic replies immediately.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"conversation",
"paused"
],
"properties": {
"paused": {
"type": "boolean"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"conversation": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Pause the assistant in one conversation so a person can take over, or ask it to resume",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_verification_run — Run supported harmless checks
Run supported harmless checks. Unsupported checks are reported as unsupported, never as passed.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"targets"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"targets": {
"type": "array",
"items": {
"enum": [
"credentials",
"providers",
"slack",
"messenger"
],
"type": "string"
},
"maxItems": 4,
"minItems": 1
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Run supported harmless checks",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_cases_list — List company-owned cases or conversations with emotion filters (sentiment: happy, neutral, upset, angry, sad, mixed or unknown), a customer filter (customer: paid for a captured or authorized live payment, no_purchase for a matched contact who has not paid, unmatched for an unknown sender), ordering (sort, including customer_message for the latest customer message first), page size, coverage and a cursor
List company-owned cases or conversations with emotion filters (sentiment: happy, neutral, upset, angry, sad, mixed or unknown), a customer filter (customer: paid for a captured or authorized live payment, no_purchase for a matched contact who has not paid, unmatched for an unknown sender), ordering (sort, including customer_message for the latest customer message first), page size, coverage and a cursor. Operational rows include conversationSentiment (label, confidence, evidence references, source, assessed_at and pending freshness). Operational filters require the company's operational connection; Messenger-only results include coverage limits.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"lane": {
"enum": [
"all",
"customer_request",
"proactive_issue",
"source_review"
],
"type": "string"
},
"mine": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"true",
"false"
],
"type": "string"
}
]
},
"plan": {
"enum": [
"all",
"ready"
],
"type": "string"
},
"sort": {
"enum": [
"priority",
"newest",
"oldest",
"due",
"activity",
"customer_message",
"autonomy_desc",
"autonomy_asc"
],
"type": "string"
},
"limit": {
"type": "integer",
"maximum": 200,
"minimum": 1
},
"cursor": {
"type": "string",
"pattern": "^[1-9]\\d{0,5}$"
},
"status": {
"enum": [
"open",
"in_progress",
"resolved",
"closed",
"active",
"all"
],
"type": "string"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"pastSla": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"true",
"false"
],
"type": "string"
}
]
},
"sandbox": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"true",
"false"
],
"type": "string"
}
]
},
"snoozed": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"true",
"false"
],
"type": "string"
}
],
"description": "Active cases leave out snoozed cases: not waiting on the team, with a follow-up still in the future. true lists only snoozed cases."
},
"autonomy": {
"type": "string",
"maxLength": 40
},
"category": {
"type": "string",
"maxLength": 80
},
"customer": {
"enum": [
"paid",
"no_purchase",
"unmatched"
],
"type": "string"
},
"internal": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"true",
"false"
],
"type": "string"
}
]
},
"language": {
"enum": [
"en",
"es",
"other"
],
"type": "string"
},
"severity": {
"enum": [
"normal",
"high",
"urgent"
],
"type": "string"
},
"followUps": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"true",
"false"
],
"type": "string"
}
]
},
"sentiment": {
"enum": [
"happy",
"neutral",
"upset",
"angry",
"sad",
"mixed",
"unknown"
],
"type": "string"
},
"unmatched": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"true",
"false"
],
"type": "string"
}
]
},
"dismissals": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"true",
"false"
],
"type": "string"
}
]
},
"reviewMine": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"true",
"false"
],
"type": "string"
}
]
},
"workstream": {
"type": "string",
"maxLength": 80
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"escalations": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"true",
"false"
],
"type": "string"
}
]
},
"responseDue": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"true",
"false"
],
"type": "string"
}
]
}
},
"additionalProperties": false
}{
"title": "List company-owned cases or conversations with emotion filters (sentiment: happy, neutral, upset, angry, sad, mixed or unknown), a customer filter (customer: paid for a captured or authorized live payment, no_purchase for a matched contact who has not paid, unmatched for an unknown sender), ordering (sort, including customer_message for the latest customer message first), page size, coverage and a cursor",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_cases_search — Find cases by customer name, email, phone, date of birth, support code, order or tracking number, vendor or Stripe ID, or message words, with status and date filters
Find cases by customer name, email, phone, date of birth, support code, order or tracking number, vendor or Stripe ID, or message words, with status and date filters. Returns one current workspace per verified customer (explicit splits stay separate), with the actual ticket code, all issue references, plan and run progress, orders and message excerpts. Message case_id opens the workspace; source_case_id retains the original issue. Search matches are leads, not proof of identity or completed work.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"q": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "Customer name, email, phone, support code, order or tracking number, Stripe, MDI, Beluga or GEN ID, or care session ID. With messages=true, also words in customer and team messages."
},
"dob": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Exact date of birth, YYYY-MM-DD. With q, keeps only customers that match both."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Default 25"
},
"status": {
"enum": [
"open",
"resolved",
"all"
],
"type": "string",
"description": "Default all"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"messages": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"true",
"false"
],
"type": "string"
}
],
"description": "Also search message text for q. Needs q."
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"include_test": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"true",
"false"
],
"type": "string"
}
],
"description": "Include staff and test accounts"
},
"created_after": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "ISO 8601 time with an offset, for example 2026-10-01T00:00:00Z"
},
"activity_after": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "Cases updated at or after this time"
},
"created_before": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "ISO 8601 time with an offset, for example 2026-10-01T00:00:00Z"
},
"activity_before": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "Cases updated before this time"
}
},
"additionalProperties": false
}{
"title": "Find cases by customer name, email, phone, date of birth, support code, order or tracking number, vendor or Stripe ID, or message words, with status and date filters",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_cases_get — Read one case or conversation with its original messages and related records
Read one case or conversation with its original messages and related records. Operational records include workspace with the current customer ticket and all owned issue references, plus the shared saved timeline, including original inbound phone transcripts, caller-supplied pharmacy intake and private tool receipts with attempts and results. Generated speech is not proof the caller heard it; saved intake is not resolution. The conversation field includes messages, other_threads and activity from the same case feed: original email From/To headers, Slack sender/channel, and care routing audience/direction/endpoints when recorded. Missing headers stay unknown; routing is display evidence, never reply authorization. The original case identity is retained. Includes conversationSentiment with happy, neutral, upset, angry, sad, mixed or unknown, confidence, exact evidence references, source, assessed_at and pending freshness; an estimate does not prove resolution. contact_sources lists each name, email and phone with its source (account, staff-saved or the website chat form) and a plain note; chat form details are self-reported, never identity proof or a reply address. Each customer_records.orders item has supply: paid plan months, each product's package days, the newest prescriptions with quantity, refills and days per fill (with its source), the shipment sequence of a split plan and a plain summary; unavailable:true means unknown, not none. Supply facts never give dosing.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"after": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "Read one case or conversation with its original messages and related records",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_cases_attachment — Get a short-lived download for an attachment that belongs to this case
Get a short-lived download for an attachment that belongs to this case.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case",
"attachment"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"attachment": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "Get a short-lived download for an attachment that belongs to this case",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_cases_account — Read the case customer's subscriptions and upcoming shipments, the same account facts used by the chat agent and Details panel: renewal and next-charge dates, recurring price/currency, pauses and scheduled ends, refill due dates and prepaid fills, fulfillment and tracking
Read the case customer's subscriptions and upcoming shipments, the same account facts used by the chat agent and Details panel: renewal and next-charge dates, recurring price/currency, pauses and scheduled ends, refill due dates and prepaid fills, fulfillment and tracking. Planned dates are not confirmed ship dates. Read coverage distinguishes unknown from absent; no customer changes are made.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "Read the case customer's subscriptions and upcoming shipments, the same account facts used by the chat agent and Details panel: renewal and next-charge dates, recurring price/currency, pauses and scheduled ends, refill due dates and prepaid fills, fulfillment and tracking",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_cases_customer_profile — Read the case customer's profile: name, date of birth, contact details, default shipping and billing addresses, each order's addresses and earlier addresses
Read the case customer's profile: name, date of birth, contact details, default shipping and billing addresses, each order's addresses and earlier addresses. A saved address does not prove where an existing order ships.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "Read the case customer's profile: name, date of birth, contact details, default shipping and billing addresses, each order's addresses and earlier addresses",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_investigations_list — Read shared investigation runs, saved plans, approval state and execution receipts across the verified customer’s cases, including historical issues
Read shared investigation runs, saved plans, approval state and execution receipts across the verified customer’s cases, including historical issues. Each run retains its original support_case_id; use that ID for write operations and original run evidence.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "Read shared investigation runs, saved plans, approval state and execution receipts across the verified customer’s cases, including historical issues",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_runs_list — List investigation and execution runs across cases, newest first, with status, plan approval and date filters
List investigation and execution runs across cases, newest first, with status, plan approval and date filters.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"kind": {
"enum": [
"all",
"investigation",
"execution"
],
"type": "string"
},
"sort": {
"enum": [
"results",
"created",
"started",
"approved"
],
"type": "string"
},
"cursor": {
"type": "string",
"pattern": "^[1-9]\\d{0,5}$"
},
"status": {
"enum": [
"all",
"approval",
"active",
"queued",
"review",
"completed",
"stopped",
"waiting"
],
"type": "string",
"description": "approval: plans waiting for human approval; review: runs that need a person to check them"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"executed": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"true",
"false"
],
"type": "string"
}
],
"description": "Only approved executions, with their effects"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"created_after": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "ISO 8601 time with an offset, for example 2026-10-01T00:00:00Z"
},
"created_before": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "ISO 8601 time with an offset, for example 2026-10-01T00:00:00Z"
}
},
"additionalProperties": false
}{
"title": "List investigation and execution runs across cases, newest first, with status, plan approval and date filters",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_plans_list — List published plans, newest first: who approved each (a person or an agent), whether it ran and was checked, the agent's self-review, its own call on running the plan without approval, and auto_run: what the channel's auto-run setting did or would do with it (outcome ran/would_run/would_wait, the deciding reason, channel, on/off, confidence bar and any saved auto-run decision), and runs_as: code when approved work runs, or ran, without an agent (a plan that only resolves the case, or sends one reply and then resolves it), otherwise agent
List published plans, newest first: who approved each (a person or an agent), whether it ran and was checked, the agent's self-review, its own call on running the plan without approval, and auto_run: what the channel's auto-run setting did or would do with it (outcome ran/would_run/would_wait, the deciding reason, channel, on/off, confidence bar and any saved auto-run decision), and runs_as: code when approved work runs, or ran, without an agent (a plan that only resolves the case, or sends one reply and then resolves it), otherwise agent. Includes totals comparing the agent's calls with people's decisions. Read-only.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"call": {
"enum": [
"any",
"would_run",
"would_not_run",
"no_call"
],
"type": "string",
"description": "The agent's own call on running the plan without approval, judged against the company's autonomy rubric"
},
"show": {
"enum": [
"executed",
"all"
],
"type": "string",
"description": "executed (default): plans whose approved work was sent to run; all: every published plan"
},
"cursor": {
"type": "string",
"pattern": "^[1-9]\\d{0,5}$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"approver": {
"enum": [
"any",
"person",
"agent",
"auto_run"
],
"type": "string",
"description": "agent: approved through a person's delegated API, CLI or MCP connection. auto_run: approved by a channel's auto-run setting"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "List published plans, newest first: who approved each (a person or an agent), whether it ran and was checked, the agent's self-review, its own call on running the plan without approval, and auto_run: what the channel's auto-run setting did or would do with it (outcome ran/would_run/would_wait, the deciding reason, channel, on/off, confidence bar and any saved auto-run decision), and runs_as: code when approved work runs, or ran, without an agent (a plan that only resolves the case, or sends one reply and then resolves it), otherwise agent",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_investigations_request — Ask Summer to investigate the case, or revise a saved plan with feedback
Ask Summer to investigate the case, or revise a saved plan with feedback. The new plan follows the company's auto-run rules; to make every plan wait for a person, turn auto-run off in the execution policy. Guidance and feedback apply to this request only; later plans read them as past context. Set guidance_scope to standing for an instruction that applies to every later plan for this customer.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case",
"request"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"request": {
"oneOf": [
{
"type": "object",
"required": [
"kind"
],
"properties": {
"kind": {
"type": "string",
"const": "investigate"
},
"guidance": {
"type": "string",
"maxLength": 8000
},
"guidance_scope": {
"enum": [
"request",
"standing"
],
"type": "string",
"description": "request (default): this request only. standing: every later plan for this customer. Ignored without guidance."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"plan_request_id",
"feedback"
],
"properties": {
"kind": {
"type": "string",
"const": "revise"
},
"feedback": {
"type": "string",
"maxLength": 8000,
"minLength": 1
},
"guidance_scope": {
"enum": [
"request",
"standing"
],
"type": "string",
"description": "request (default): this revision only. standing: every later plan for this customer."
},
"plan_request_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}
]
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Ask Summer to investigate the case, or revise a saved plan with feedback",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_cases_chat_list — Read the case chat with Summer: each question people asked about the case, oldest first, with its status and Summer's saved answer (the latest 10)
Read the case chat with Summer: each question people asked about the case, oldest first, with its status and Summer's saved answer (the latest 10). An answer is Summer's explanation of its own work, not new evidence, approval or a customer outcome.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "Read the case chat with Summer: each question people asked about the case, oldest first, with its status and Summer's saved answer (the latest 10)",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_cases_chat_ask — Ask Summer a question about the case, such as why it chose a plan or what it found
Ask Summer a question about the case, such as why it chose a plan or what it found. Summer reopens its last run on the case, with what it already read, and answers in the case chat. Read-only: it publishes no plan and makes no changes. One question at a time per case. Read cases.chat.list for the answer, which usually takes a minute or two. To change the plan, use investigations.request.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case",
"question"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"question": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Ask Summer a question about the case, such as why it chose a plan or what it found",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_investigations_stop — Stop an exact investigation owned by this case, preserving its evidence and history
Stop an exact investigation owned by this case, preserving its evidence and history. Cannot stop execution runs. A stop request is not a finished cancellation: read investigations.list until the run is cancelled or completed, then use investigations.request with current guidance to rerun.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case",
"run"
],
"properties": {
"run": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Stop an exact investigation owned by this case, preserving its evidence and history",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_investigations_plan_edit — Edit wording or skip steps in the current saved plan at its expected revision, including proposed company knowledge text
Edit wording or skip steps in the current saved plan at its expected revision, including proposed company knowledge text. Step IDs are native for delegated work and effect:0, effect:1 and so on in the selected option's original order. Skipped steps stay in the plan, never run and are named to the executor. Returns every step and whether it is skipped. Preserves targets, amounts, feedback sources and selected option. Invalidates prepared approval; does not apply knowledge or customer changes.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case",
"request",
"expected_revision",
"reason"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"edits": {
"type": "object",
"propertyNames": {
"type": "string",
"pattern": "^(?:task|\\d+\\.(?:subject|text|body|content))$"
},
"additionalProperties": {
"type": "string",
"maxLength": 100000
}
},
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"request": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"skipped_steps": {
"type": "array",
"items": {
"type": "string",
"pattern": "^(?:native|effect:\\d{1,2})$"
},
"maxItems": 21,
"description": "The complete set of steps to skip. Steps not listed run, including steps skipped earlier. An empty list restores every step. At least one step must remain."
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_revision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}{
"title": "Edit wording or skip steps in the current saved plan at its expected revision, including proposed company knowledge text",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_actions_prepare — Prepare the exact current plan and return its execution ID, approval hash and reviewed work
Prepare the exact current plan and return its execution ID, approval hash and reviewed work. Does not approve or execute. A delegated actions.approve grant can approve authorized work through API, CLI or MCP.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case",
"plan_request_id"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"plan_request_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"replaces_execution": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Replace an unapproved, unstarted queued execution whose source or selected plan changed. Existing approvals and uncertain work cannot be replaced."
}
},
"additionalProperties": false
}{
"title": "Prepare the exact current plan and return its execution ID, approval hash and reviewed work",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_actions_approve — Approve the exact prepared execution under the authenticated operator's delegated authority
Approve the exact prepared execution under the authenticated operator's delegated authority. Use only for work the operator authorized, read the prepared review first, and pass its exact hash. Records the authorization and queues ordinary execution; approval does not prove a customer outcome. No caller-supplied approver identity or identity-verification attestation.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case",
"execution",
"approval_hash",
"authorization"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"execution": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"approval_hash": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"authorization": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "The operator's instruction authorizing this exact work, retained in the approval audit. This is context, not an identity attestation."
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Approve the exact prepared execution under the authenticated operator's delegated authority",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_actions_retry — Try a saved plan approval again when it is waiting to start (its id is in investigations
Try a saved plan approval again when it is waiting to start (its id is in investigations.list planApprovals). Returns the approval's current state and the reason when it still cannot start. start_anyway ends the case's stopped runs that have no checked result, recording this person, so the approved plan starts; an earlier run may already have made its changes. A run still working keeps blocking.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"case",
"approval",
"authorization"
],
"properties": {
"case": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"approval": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"start_anyway": {
"type": "boolean",
"const": true,
"description": "The operator chose to start even though an earlier run stopped without a checked result."
},
"authorization": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "The operator's instruction to retry, retained in the audit event. This is context, not an identity attestation."
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Try a saved plan approval again when it is waiting to start (its id is in investigations",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_events_list — Read configuration and activity events after a cursor
Read configuration and activity events after a cursor. Pagination uses next_cursor.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"after": {
"type": "string",
"pattern": "^\\d{1,18}$"
},
"limit": {
"type": "integer",
"maximum": 200,
"minimum": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "Read configuration and activity events after a cursor",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_service_accounts_list — List the company's service accounts
List the company's service accounts.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
}
},
"additionalProperties": false
}{
"title": "List the company's service accounts",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_service_accounts_save — Create, update, rotate or disable a service account
Create, update, rotate or disable a service account. A new secret goes to the trusted local helper only. Returns a local CLI command when a secret is involved.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"account",
"name",
"environments",
"scopes",
"expected_version"
],
"properties": {
"name": {
"type": "string",
"maxLength": 80,
"minLength": 1
},
"scopes": {
"type": "array",
"items": {
"enum": [
"events.read",
"capabilities.read"
],
"type": "string"
},
"maxItems": 2,
"minItems": 1
},
"account": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"disable": {
"type": "boolean",
"default": false
},
"environments": {
"type": "array",
"items": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"maxItems": 2,
"minItems": 1
},
"rotate_secret": {
"type": "boolean",
"default": false
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Current version you expect; 0 when the resource does not exist yet"
}
},
"additionalProperties": false
}{
"title": "Create, update, rotate or disable a service account",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_webhooks_list — List webhook endpoints and delivery state
List webhook endpoints and delivery state.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment"
],
"properties": {
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
}
},
"additionalProperties": false
}{
"title": "List webhook endpoints and delivery state",
"readOnlyHint": true,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": false
}summer_webhooks_save — Create, update, rotate or disable a signed webhook endpoint
Create, update, rotate or disable a signed webhook endpoint. A new signing secret goes to the trusted local helper only. Returns a local CLI command when a secret is involved.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"webhook",
"url",
"event_types",
"expected_version"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"maxLength": 512
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"disable": {
"type": "boolean",
"default": false
},
"webhook": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"event_types": {
"type": "array",
"items": {
"type": "string",
"pattern": "^(\\*|[a-z][a-z0-9_.]{2,80})$"
},
"maxItems": 32,
"minItems": 1
},
"rotate_secret": {
"type": "boolean",
"default": false
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
},
"expected_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Current version you expect; 0 when the resource does not exist yet"
}
},
"additionalProperties": false
}{
"title": "Create, update, rotate or disable a signed webhook endpoint",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}summer_webhooks_replay — Queue past events after a cursor for delivery again to one endpoint
Queue past events after a cursor for delivery again to one endpoint. Receivers deduplicate by event ID.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"company",
"environment",
"webhook",
"after"
],
"properties": {
"after": {
"type": "string",
"pattern": "^\\d{1,18}$"
},
"limit": {
"type": "integer",
"default": 200,
"maximum": 1000,
"minimum": 1
},
"company": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Summer company ID"
},
"webhook": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"environment": {
"enum": [
"staging",
"production"
],
"type": "string",
"description": "Environment that owns the resource"
},
"idempotency_key": {
"type": "string",
"pattern": "^[A-Za-z0-9_.:-]{8,128}$",
"description": "Reuse the same key when retrying the same change"
}
},
"additionalProperties": false
}{
"title": "Queue past events after a cursor for delivery again to one endpoint",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}Prompts
1 advertised
summer_setup — Set up Summer in this project
The reviewed agent setup guide, with your company and environment filled in. It uses the local Summer CLI for any step that moves a secret.
- company
- Summer company ID from this connection
- environment
- staging (default) or production
Resources
0 advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1572 ms
- 95th percentile latency
- 1572 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1572 ms · metadata changed · 233 tool(s), 0 resource(s), 0 resource template(s), 1 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http summer-ai-mcp https://api.gosummer.ai/mcpCodex
codex mcp add summer-ai-mcp --url https://api.gosummer.ai/mcpCursor
{
"mcpServers": {
"summer-ai-mcp": {
"url": "https://api.gosummer.ai/mcp"
}
}
}Cline
{
"mcpServers": {
"summer-ai-mcp": {
"type": "streamableHttp",
"url": "https://api.gosummer.ai/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"summer-ai-mcp": {
"type": "http",
"url": "https://api.gosummer.ai/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http summer-ai-mcp https://api.gosummer.ai/mcpClaude Desktop
{
"mcpServers": {
"summer-ai-mcp": {
"url": "https://api.gosummer.ai/mcp"
}
}
}Windsurf
{
"mcpServers": {
"summer-ai-mcp": {
"serverUrl": "https://api.gosummer.ai/mcp"
}
}
}Let your agent find its tools
Find servers like Summer AI MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other crm, sales, and marketing servers
Do you run Summer AI MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.