Skip to main content
Glama

Submit or follow up website feedback

submit_feedback

Create feedback or append a message to your own existing feedback using feedback_id. Anonymous reports are one-way and cannot be discussed or claimed. New reports require issue_type and target_type; appends accept only feedback_id, content, source_urls and request_id. Submit user-requested corrections, missing data or other feedback on any topic to One U Education for review. Available anonymously or with a connected account; connected submissions are associated with that account. Compose stand-alone content a consultant can understand without this conversation, using known context and available sources. Do not require the report to match an editable CRM field or verify every claim before accepting it; resource classification and editing decisions belong to OneULink CRM handling. Ask only for missing facts that materially change the target, scope or meaning; do not re-ask known facts or demand exhaustive evidence. Useful incomplete leads are accepted with explicit unknowns. School/course reports require a code or name; never guess a match. Keep user claims distinct from verified facts. A receipt means received for review, not verified, accepted or corrected; submission never edits official data. This public endpoint returns English natural-language text, preserving sources, conditions and pagination.

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": {
      "content": "<content>"
    },
    "name": "submit_feedback"
  }
}

Input Schema

NameRequiredDescriptionDefault
yearNoYear the report applies to, only if known. Not the submission year by default. Put terms, date ranges or multiple applicable years in content; omit this field if no single year is established.
contentYesStand-alone plain-text report for a reviewer who cannot see this conversation. Preserve the user's meaning and concrete facts: (1) the subject and affected scope, such as school/course, campus, intake or student group; (2) what is wrong or missing and the user-reported correction; (3) known dates, conditions and exceptions; (4) reported impact and what still needs checking; (5) available evidence, how the user learned it and when, without private contact details. Distinguish user reports from independently verified facts and keep relevant unknowns explicit, including currency/year/fee basis for prices. Do not replace specifics with vague labels such as “needs attention”. Use only supplied or actually checked information; do not invent causes, dates, sources or certainty. Concise prose or bullets are enough; do not fill irrelevant sections or include unrelated conversation/private information.
page_urlNoActual page where the issue was noticed, if known; not proof by itself. HTTP/HTTPS only. Omit unknown URLs and never include credentials or private access links.
issue_typeNoNature of the report: incorrect_data = an existing fact is reported as wrong; missing_data = information or context is missing; other = another issue.
request_idNoUUID for this operation. Reuse unchanged with identical content after an uncertain response; use a new UUID for a different operation.
feedback_idNoExisting feedback reference to append to. Requires the owning account. Omit only for a new report; never fall back to creating a report after an append error.
source_urlsNoUp to 10 actual HTTP/HTTPS evidence URLs supplied by the user or found during checking; never fabricate links or include credentials/private access links. Explain what they support in content. If the source is an offline conversation or document without a shareable URL, describe that context and known date in content and omit this field.
target_codeNoKnown school/course CRICOS code; for course_package use the school CRICOS code. Preserve leading zeroes. Omit when unknown.
target_nameNoSchool/course or other subject name as supplied or found in query results. Preserve it without guessing a record match; include the school in content when a course name is ambiguous.
target_typeNoChoose the actual subject: school for school-wide issues or missing courses at a known provider; course for a specific existing course; website for a site issue; course_package for a multi-course packaged study plan (text and evidence links only; no attachments); other for RTO/RPL or another topic; news for school/visa news submissions (requires login and news_category). Do not widen a course-specific report to the whole school.
contact_emailNoOptional email explicitly provided by the user to receive automated no-reply notifications for staff replies and resolution (anonymous reports receive resolution only). For new signed-in feedback, omitting this field uses the account email on the server. Anonymous email is optional. Never invent an address. Set notifications_enabled=false if the user declines notifications.
news_categoryNoRequired for target_type=news. News submissions require an account connection; staff rewrite and publish the body later.
attachment_idsNoReady attachment IDs returned by file import/upload. Original files are intended for future news downloads; do not parse or rewrite brochures by default.
notification_localeNoLanguage for the optional resolution email. Use the conversation language; defaults to English. No need to ask solely for this field.
proposed_school_codeNoOptional proposed main school resource code; staff confirm one school. Preserve leading zeroes.
proposed_school_nameNoOptional proposed main school name; do not guess a database match.
notifications_enabledNoDefaults to true for new feedback. Set false if the user declines email notifications. Cannot change via an append.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • addedInput schema / properties / attachment_ids
      Added value: +{
      +  "description": "Ready attachment IDs returned by file import/upload. Original files are intended for future news downloads; do not parse or rewrite brochures by default.",
      +  "items": {
      +    "pattern": "^[0-9a-fA-F-]{36}$",
      +    "type": "string"
      +  },
      +  "maxItems": 10,
      +  "type": "array"
      +}
    • addedInput schema / properties / news_category
      Added value: +{
      +  "description": "Required for target_type=news. News submissions require an account connection; staff rewrite and publish the body later.",
      +  "enum": [
      +    "school",
      +    "visa"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / proposed_school_code
      Added value: +{
      +  "description": "Optional proposed main school resource code; staff confirm one school. Preserve leading zeroes.",
      +  "maxLength": 32,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / proposed_school_name
      Added value: +{
      +  "description": "Optional proposed main school name; do not guess a database match.",
      +  "maxLength": 200,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • changedInput schema / properties / target_code / description
      Previous value: -"Known school/course CRICOS code; preserve leading zeroes. Omit when unknown."New value: +"Known school/course CRICOS code; for course_package use the school CRICOS code. Preserve leading zeroes. Omit when unknown."
    • changedInput schema / properties / target_type / description
      Previous value: -"Choose the actual subject: school for school-wide issues or missing courses at a known provider; course for a specific existing course; website for a site issue; other for RTO/RPL or another topic. Do not widen a course-specific report to the whole school."New value: +"Choose the actual subject: school for school-wide issues or missing courses at a known provider; course for a specific existing course; website for a site issue; course_package for a multi-course packaged study plan (text and evidence links only; no attachments); other for RTO/RPL or another topic; news for school/visa news submissions (requires login and news_category). Do not widen a course-specific report to the whole school."
    • changedInput schema / properties / target_type / enum
      Previous value: -[
      -  "school",
      -  "course",
      -  "website",
      -  "other"
      -]New value: +[
      +  "school",
      +  "course",
      +  "course_package",
      +  "website",
      +  "other",
      +  "news"
      +]
  2. Changed5 schema fields changed
    • changedInput schema / properties / contact_email / description
      Previous value: -"Optional email explicitly provided by the user to receive one automated no-reply notice after this feedback is resolved. Never infer an address or reuse account/contact data without the user requesting it. Omit if not provided; feedback does not require an email."New value: +"Optional email explicitly provided by the user to receive automated no-reply notifications for staff replies and resolution (anonymous reports receive resolution only). For new signed-in feedback, omitting this field uses the account email on the server. Anonymous email is optional. Never invent an address. Set notifications_enabled=false if the user declines notifications."
    • addedInput schema / properties / feedback_id
      Added value: +{
      +  "description": "Existing feedback reference to append to. Requires the owning account. Omit only for a new report; never fall back to creating a report after an append error.",
      +  "maxLength": 36,
      +  "minLength": 36,
      +  "type": "string"
      +}
    • addedInput schema / properties / notifications_enabled
      Added value: +{
      +  "description": "Defaults to true for new feedback. Set false if the user declines email notifications. Cannot change via an append.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / request_id
      Added value: +{
      +  "description": "UUID for this operation. Reuse unchanged with identical content after an uncertain response; use a new UUID for a different operation.",
      +  "maxLength": 36,
      +  "minLength": 36,
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "issue_type",
      -  "target_type",
      -  "content"
      -]New value: +[
      +  "content"
      +]
  3. Changed2 schema fields changed
    • addedInput schema / properties / contact_email
      Added value: +{
      +  "description": "Optional email explicitly provided by the user to receive one automated no-reply notice after this feedback is resolved. Never infer an address or reuse account/contact data without the user requesting it. Omit if not provided; feedback does not require an email.",
      +  "maxLength": 254,
      +  "minLength": 3,
      +  "type": "string"
      +}
    • addedInput schema / properties / notification_locale
      Added value: +{
      +  "description": "Language for the optional resolution email. Use the conversation language; defaults to English. No need to ask solely for this field.",
      +  "enum": [
      +    "en",
      +    "zh-CN",
      +    "zh-TW"
      +  ],
      +  "type": "string"
      +}
  4. Changed2 schema fields changed
    • removedInput schema / properties / contact_email
      Removed value: -{
      -  "description": "Optional email explicitly provided by the user to receive one automated no-reply notice after this feedback is resolved. Never infer an address or reuse account/contact data without the user requesting it. Omit if not provided; feedback does not require an email.",
      -  "maxLength": 254,
      -  "minLength": 3,
      -  "type": "string"
      -}
    • removedInput schema / properties / notification_locale
      Removed value: -{
      -  "description": "Language for the optional resolution email. Use the conversation language; defaults to English. No need to ask solely for this field.",
      -  "enum": [
      -    "en",
      -    "zh-CN",
      -    "zh-TW"
      -  ],
      -  "type": "string"
      -}
  5. Changed2 schema fields changed
    • addedInput schema / properties / contact_email
      Added value: +{
      +  "description": "Optional email explicitly provided by the user to receive one automated no-reply notice after this feedback is resolved. Never infer an address or reuse account/contact data without the user requesting it. Omit if not provided; feedback does not require an email.",
      +  "maxLength": 254,
      +  "minLength": 3,
      +  "type": "string"
      +}
    • addedInput schema / properties / notification_locale
      Added value: +{
      +  "description": "Language for the optional resolution email. Use the conversation language; defaults to English. No need to ask solely for this field.",
      +  "enum": [
      +    "en",
      +    "zh-CN",
      +    "zh-TW"
      +  ],
      +  "type": "string"
      +}
  6. Changed7 schema fields changed
    • changedInput schema / properties / content / description
      Previous value: -"Stand-alone plain-text report: identify the subject, the incorrect/missing information, the user-reported correction and known conditions/evidence. Mark unknown currency, year, fee basis or course names explicitly. Never invent details or send unrelated conversation/private information."New value: +"Stand-alone plain-text report for a reviewer who cannot see this conversation. Preserve the user's meaning and concrete facts: (1) the subject and affected scope, such as school/course, campus, intake or student group; (2) what is wrong or missing and the user-reported correction; (3) known dates, conditions and exceptions; (4) reported impact and what still needs checking; (5) available evidence, how the user learned it and when, without private contact details. Distinguish user reports from independently verified facts and keep relevant unknowns explicit, including currency/year/fee basis for prices. Do not replace specifics with vague labels such as “needs attention”. Use only supplied or actually checked information; do not invent causes, dates, sources or certainty. Concise prose or bullets are enough; do not fill irrelevant sections or include unrelated conversation/private information."
    • addedInput schema / properties / issue_type / description
      Added value: +"Nature of the report: incorrect_data = an existing fact is reported as wrong; missing_data = information or context is missing; other = another issue."
    • addedInput schema / properties / page_url / description
      Added value: +"Actual page where the issue was noticed, if known; not proof by itself. HTTP/HTTPS only. Omit unknown URLs and never include credentials or private access links."
    • addedInput schema / properties / source_urls / description
      Added value: +"Up to 10 actual HTTP/HTTPS evidence URLs supplied by the user or found during checking; never fabricate links or include credentials/private access links. Explain what they support in content. If the source is an offline conversation or document without a shareable URL, describe that context and known date in content and omit this field."
    • addedInput schema / properties / target_name / description
      Added value: +"School/course or other subject name as supplied or found in query results. Preserve it without guessing a record match; include the school in content when a course name is ambiguous."
    • changedInput schema / properties / target_type / description
      Previous value: -"Use school for missing courses at a known provider; other for RTO/RPL or another topic."New value: +"Choose the actual subject: school for school-wide issues or missing courses at a known provider; course for a specific existing course; website for a site issue; other for RTO/RPL or another topic. Do not widen a course-specific report to the whole school."
    • addedInput schema / properties / year / description
      Added value: +"Year the report applies to, only if known. Not the submission year by default. Put terms, date ranges or multiple applicable years in content; omit this field if no single year is established."
  7. Added

TDQS

A4.8/5.0
Behavior5/5

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

Goes well past the annotations (readOnly=false, openWorld=true, idempotent=false, destructive=false) by explaining that a receipt means 'received for review, not verified, accepted or corrected', that 'submission never edits official data', that news submissions require an account, and that notifications_enabled cannot change via an append. It also notes the endpoint returns English natural-language text with sources and pagination preserved.

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?

Front-loads the create-vs-append distinction and then follows with actionable rules, but the middle section drifts into policy prose ('Compose stand-alone content a consultant can understand...') that substantially duplicates the already long content parameter description. Dense and purposeful overall, with some redundancy across the description and schema.

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

Completeness5/5

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

For a 17-parameter tool with no output schema, the description covers mode selection, auth differences, required-field differences, idempotency via request_id, receipt semantics, and return format. An agent has enough to invoke it correctly without further inference.

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

Parameters4/5

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

Schema coverage is 100% and each parameter is well documented, but the description uniquely supplies the conditional requirement split that the schema does not encode (required lists only 'content'): new reports need issue_type and target_type, while appends 'accept only feedback_id, content, source_urls and request_id'. Niche fields such as proposed_school_code and notification_locale are left entirely to the schema, which is acceptable given full coverage.

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

Purpose5/5

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

Opens with a specific verb pair and resource: 'Create feedback or append a message to your own existing feedback using feedback_id.' That single sentence separates the tool's two modes and implicitly distinguishes it from the read-side siblings get_my_feedback and list_my_feedback.

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

Usage Guidelines5/5

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

States the triggering condition ('Submit user-requested corrections, missing data or other feedback'), the anonymity trade-off ('Anonymous reports are one-way and cannot be discussed or claimed'), and explicit when-not rules ('Do not require the report to match an editable CRM field', 'do not re-ask known facts', 'never guess a match'). It also scopes school/course reports to a code or name.

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.

Resources