Skip to main content
Glama

Update installation settings with the expected version

summer_messenger_installations_update

Update installation settings with the expected version. Keeps the signing key.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "company": "<company>",
      "environment": "<environment>",
      "installation": "<installation>",
      "expected_version": "<expected_version>",
      "settings": "<settings>"
    },
    "name": "summer_messenger_installations_update"
  }
}

Input Schema

NameRequiredDescriptionDefault
companyYesSummer company ID
settingsYes
environmentYesEnvironment that owns the resource
installationYes
idempotency_keyNoReuse the same key when retrying the same change
expected_versionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / settings / properties / identity / properties / name_format
      Added value: +{
      +  "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.",
      +  "enum": [
      +    "full",
      +    "first"
      +  ],
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / settings / properties / identity / properties / custom_name / description
      Added value: +"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."
  3. Changed2 schema fields changed
    • addedInput schema / properties / settings / properties / identity / properties / suggested_photo
      Added value: +{
      +  "anyOf": [
      +    {
      +      "pattern": "^[a-z]+(-[a-z]+)*\\.[a-z]+(-[a-z]+)*$",
      +      "type": "string"
      +    },
      +    {
      +      "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."
      +}
    • addedInput schema / properties / settings / properties / identity / properties / teammate_id
      Added value: +{
      +  "anyOf": [
      +    {
      +      "format": "uuid",
      +      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-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": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Show this company teammate's uploaded photo beside automated replies. Put the teammate's name in custom_name."
      +}
  4. Changed2 schema fields changed
    • changedInput schema / properties / settings / properties / presentation / description
      Previous value: -"Company chat colors, welcome and chat copy, home/chat links and contact form labels. Plain text only; links use HTTPS. Scoped to this installation."New value: +"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."
    • addedInput schema / properties / settings / properties / presentation / properties / lead_capture / properties / consent_text / description
      Added value: +"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."
  5. Changed3 schema fields changed
    • addedInput schema / properties / settings / properties / guest_attachments_enabled
      Added value: +{
      +  "type": "boolean"
      +}
    • addedInput schema / properties / settings / properties / guest_challenge_hourly
      Added value: +{
      +  "maximum": 10000,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / settings / properties / guest_daily_conversation_limit
      Added value: +{
      +  "maximum": 1000,
      +  "minimum": 1,
      +  "type": "integer"
      +}
  6. Changed2 schema fields changed
    • addedInput schema / properties / settings / properties / presentation / properties / lead_capture / properties / custom_fields
      Added value: +{
      +  "default": [],
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "key": {
      +        "pattern": "^[a-z][a-z0-9_]{0,49}$",
      +        "type": "string"
      +      },
      +      "label": {
      +        "maxLength": 60,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "options": {
      +        "default": [],
      +        "items": {
      +          "maxLength": 100,
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "maxItems": 20,
      +        "type": "array"
      +      },
      +      "required": {
      +        "default": false,
      +        "type": "boolean"
      +      },
      +      "type": {
      +        "default": "text",
      +        "enum": [
      +          "text",
      +          "select"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "key",
      +      "label"
      +    ],
      +    "type": "object"
      +  },
      +  "maxItems": 10,
      +  "type": "array"
      +}
    • addedInput schema / properties / settings / properties / presentation / properties / lead_capture / properties / required_before_chat
      Added value: +{
      +  "default": false,
      +  "type": "boolean"
      +}
  7. Changed4 schema fields changed
    • addedInput schema / properties / settings / properties / display_name / description
      Added value: +"Company name shown in the Messenger header"
    • addedInput schema / properties / settings / properties / identity
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Agent name and AI disclosure. Defaults to named support with a neutral first name and last initial.",
      +  "properties": {
      +    "custom_name": {
      +      "default": "",
      +      "maxLength": 80,
      +      "type": "string"
      +    },
      +    "mode": {
      +      "default": "human",
      +      "description": "Named support persona (default) or a visible AI assistant label.",
      +      "enum": [
      +        "human",
      +        "ai"
      +      ],
      +      "type": "string"
      +    },
      +    "name_style": {
      +      "default": "neutral",
      +      "enum": [
      +        "neutral",
      +        "female"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / settings / properties / logo_url
      Added value: +{
      +  "description": "Public company logo shown in the header",
      +  "maxLength": 1024,
      +  "type": "string"
      +}
    • addedInput schema / properties / settings / properties / presentation
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Company chat colors, welcome and chat copy, home/chat links and contact form labels. Plain text only; links use HTTPS. Scoped to this installation.",
      +  "properties": {
      +    "actions": {
      +      "default": [
      +        {
      +          "label": "Request follow-up",
      +          "show_in_chat": true,
      +          "show_on_home": false,
      +          "type": "lead_capture"
      +        }
      +      ],
      +      "items": {
      +        "oneOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "label": {
      +                "maxLength": 60,
      +                "minLength": 1,
      +                "type": "string"
      +              },
      +              "show_in_chat": {
      +                "type": "boolean"
      +              },
      +              "show_on_home": {
      +                "type": "boolean"
      +              },
      +              "type": {
      +                "const": "link",
      +                "type": "string"
      +              },
      +              "url": {
      +                "maxLength": 1024,
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "type",
      +              "label",
      +              "url",
      +              "show_on_home",
      +              "show_in_chat"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "label": {
      +                "maxLength": 60,
      +                "minLength": 1,
      +                "type": "string"
      +              },
      +              "show_in_chat": {
      +                "type": "boolean"
      +              },
      +              "show_on_home": {
      +                "type": "boolean"
      +              },
      +              "type": {
      +                "const": "lead_capture",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "type",
      +              "label",
      +              "show_on_home",
      +              "show_in_chat"
      +            ],
      +            "type": "object"
      +          }
      +        ]
      +      },
      +      "maxItems": 6,
      +      "type": "array"
      +    },
      +    "chat_label": {
      +      "default": "Message support",
      +      "maxLength": 60,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "colors": {
      +      "additionalProperties": false,
      +      "default": {},
      +      "properties": {
      +        "accent": {
      +          "default": "#a95424",
      +          "maxLength": 7,
      +          "minLength": 7,
      +          "pattern": "^#[0-9a-f]{6}$",
      +          "type": "string"
      +        },
      +        "customer_bubble": {
      +          "default": "#eef1e7",
      +          "maxLength": 7,
      +          "minLength": 7,
      +          "pattern": "^#[0-9a-f]{6}$",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "header_description": {
      +      "default": "Support team",
      +      "maxLength": 100,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "lead_capture": {
      +      "additionalProperties": false,
      +      "default": {},
      +      "properties": {
      +        "company_label": {
      +          "default": "Company",
      +          "maxLength": 60,
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "company_required": {
      +          "default": false,
      +          "type": "boolean"
      +        },
      +        "consent_text": {
      +          "default": "I agree that this team may contact me using these details.",
      +          "maxLength": 500,
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "description": {
      +          "default": "Leave your details so our team can contact you.",
      +          "maxLength": 300,
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "email_label": {
      +          "default": "Email",
      +          "maxLength": 60,
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "follow_up_label": {
      +          "default": "Book a call",
      +          "maxLength": 60,
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "follow_up_url": {
      +          "anyOf": [
      +            {
      +              "maxLength": 1024,
      +              "type": "string"
      +            },
      +            {
      +              "const": "",
      +              "type": "string"
      +            }
      +          ],
      +          "default": ""
      +        },
      +        "message_label": {
      +          "default": "Message",
      +          "maxLength": 60,
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "name_label": {
      +          "default": "Name",
      +          "maxLength": 60,
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "phone_label": {
      +          "default": "Phone number",
      +          "maxLength": 60,
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "phone_required": {
      +          "default": false,
      +          "type": "boolean"
      +        },
      +        "show_company": {
      +          "default": true,
      +          "type": "boolean"
      +        },
      +        "show_message": {
      +          "default": true,
      +          "type": "boolean"
      +        },
      +        "show_phone": {
      +          "default": false,
      +          "type": "boolean"
      +        },
      +        "submit_label": {
      +          "default": "Send my details",
      +          "maxLength": 60,
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "success_message": {
      +          "default": "Your details are saved for our team.",
      +          "maxLength": 200,
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "title": {
      +          "default": "Request follow-up",
      +          "maxLength": 100,
      +          "minLength": 1,
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "thread_description": {
      +      "default": "Ask a question here. We can help you find the next step.",
      +      "maxLength": 300,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "thread_title": {
      +      "default": "What's on your mind?",
      +      "maxLength": 100,
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "welcome_description": {
      +      "default": "",
      +      "maxLength": 300,
      +      "type": "string"
      +    },
      +    "welcome_title": {
      +      "default": "How can we help?",
      +      "maxLength": 100,
      +      "minLength": 1,
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  8. Changed1 schema field changed
    • changedInput schema / properties / settings / properties / enabled / description
      Previous value: -"Live widget. Production enable needs messaging.activate."New value: +"Live widget. The approved setup grant includes production installation and activation."
  9. First observed

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this is a non-read-only, non-destructive, non-idempotent open-world mutation. The description adds useful behavior beyond that by noting the signing key is kept, but it omits important mutation details such as what happens on version mismatch, auth requirements, and how `idempotency_key` affects retries.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two short sentences and front-loads the core action. There is no filler, though the brevity is close to under-specification for a complex nested mutation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex update tool with nested settings, six parameters, and no output schema, the description is far too sparse. It gives one useful behavioral note about the signing key but omits operational context needed to invoke the tool confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With six parameters and only 50% schema description coverage, the description does very little to explain parameter semantics. It references `expected_version` conceptually and hints at signing-key preservation, but says nothing meaningful about `company`, `environment`, `installation`, `settings`, or `idempotency_key`.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: update installation settings using an expected version. It also adds the non-obvious detail that the signing key is preserved, which implicitly distinguishes it from `summer_messenger_installations_rotate_key`, though it does not explicitly name that sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit when-to-use guidance, prerequisites, or alternatives. The phrase 'with the expected version' hints at optimistic concurrency, but it does not explain when to use this update tool versus create, list, or rotate-key siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.