Skip to main content
Glama

edubase_post_organization_webhook

Set up organization webhooks to automatically send exam result, quiz result, or API trigger notifications to your chosen endpoint.

Instructions

Create a webhook for an organization.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
retryNoHow to retry webhook notifications on failure (default: error): - none: no retry - error: delayed retry on any error
titleYestitle of the webhook
methodNoHTTP method to use for webhook notifications (default: POST) - POST - GET
endpointYesURL to send webhook notifications to
extra_dataNoadditional data (as JSON encoded string) to send with the webhook notification
organizationYesorganization identification string
trigger_eventYesType of event to trigger webhook: - exam-play-result: triggers when a user (must be member of the organization) completes an exam in the organization - quiz-play-result: triggers when a user (must be member of the organization) completes a quiz in practice mode in the organization - api: triggers when a manual API call is made (useful for testing and debugging)
authenticationNoType of authentication (default: none): - none: no authentication - key: use a secret key (or password) for authentication
authentication_keyNosecret key (or password) to use for authentication, required if authentication is set to key
authentication_sendNoHow to send authentication data (default: data): - header: as header field - bearer: as Bearer token in Authorization header - data: as data field (in body or query string)
authentication_send_dataNoname of data field to send authentication data in, required if authentication is set to key and authentication_send is set to data
authentication_key_customNocustom field name to use as the authentication key, required if authentication is set to key, mutually exclusive with authentication_key
authentication_send_headerNoname of header field to send authentication data in, required if authentication is set to key and authentication_send is set to header

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
webhookYeswebhook identification string
organizationYesorganization identification string

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed3 schema fields changedv1.2.15
    • removedInput schema / properties / name
      Removed value: -{
      -  "description": "title of the webhook",
      -  "type": "string"
      -}
    • addedInput schema / properties / title
      Added value: +{
      +  "description": "title of the webhook",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "organization",
      -  "name",
      -  "trigger_event",
      -  "endpoint"
      -]New value: +[
      +  "organization",
      +  "title",
      +  "trigger_event",
      +  "endpoint"
      +]
  2. Changed13 schema fields changedv1.1.2
    • addedInput schema / $schema
      Added value: +"http://json-schema.org/draft-07/schema#"
    • changedInput schema / properties / authentication / description
      Previous value: -"Type of authentication (default: none):\n- none: no authentication\n- key: use a secret key (or password) for authentication"New value: +"Type of authentication (default: none): - none: no authentication - key: use a secret key (or password) for authentication"
    • addedInput schema / properties / authentication / enum
      Added value: +[
      +  "none",
      +  "key"
      +]
    • changedInput schema / properties / authentication_send / description
      Previous value: -"How to send authentication data (default: data):\n- header: as header field\n- bearer: as Bearer token in Authorization header\n- data: as data field (in body or query string)"New value: +"How to send authentication data (default: data): - header: as header field - bearer: as Bearer token in Authorization header - data: as data field (in body or query string)"
    • addedInput schema / properties / authentication_send / enum
      Added value: +[
      +  "header",
      +  "bearer",
      +  "data"
      +]
    • addedInput schema / properties / endpoint / format
      Added value: +"uri"
    • changedInput schema / properties / method / description
      Previous value: -"HTTP method to use for webhook notifications (default: POST)\n- POST\n- GET"New value: +"HTTP method to use for webhook notifications (default: POST) - POST - GET"
    • addedInput schema / properties / method / enum
      Added value: +[
      +  "POST",
      +  "GET"
      +]
    • changedInput schema / properties / retry / description
      Previous value: -"How to retry webhook notifications on failure (default: error):\n- none: no retry\n- error: delayed retry on any error"New value: +"How to retry webhook notifications on failure (default: error): - none: no retry - error: delayed retry on any error"
    • addedInput schema / properties / retry / enum
      Added value: +[
      +  "none",
      +  "error"
      +]
    • changedInput schema / properties / trigger_event / description
      Previous value: -"Type of event to trigger webhook:\n- exam-play-result: triggers when a user (must be member of the organization) completes an exam in the organization\n- quiz-play-result: triggers when a user (must be member of the organization) completes a quiz in practice mode in the organization\n- api: triggers when a manual API call is made (useful for testing and debugging)"New value: +"Type of event to trigger webhook: - exam-play-result: triggers when a user (must be member of the organization) completes an exam in the organization - quiz-play-result: triggers when a user (must be member of the organization) completes a quiz in practice mode in the organization - api: triggers when a manual API call is made (useful for testing and debugging)"
    • addedInput schema / properties / trigger_event / enum
      Added value: +[
      +  "exam-play-result",
      +  "quiz-play-result",
      +  "api"
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "organization": {
      +      "description": "organization identification string",
      +      "type": "string"
      +    },
      +    "webhook": {
      +      "description": "webhook identification string",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "organization",
      +    "webhook"
      +  ],
      +  "type": "object"
      +}
  3. First observedv1.0.22

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint=false, and the description says 'Create', which implies mutation. However, it adds no extra behavioral context such as side effects, required permissions, idempotency concerns, or response handling. With annotations present, the description adds minimal value beyond the safety profile it aligns with.

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 a single, efficient sentence with no wasted words. It fully delivers its minimal content upfront, fitting a short purposeful statement.

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

Completeness3/5

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

The tool has a complex 13-parameter schema and an output schema that carry much of the context. The description lacks any overview of webhook mechanics or intended use cases, but given the schema's thoroughness and the existence of an output schema, the minimal description is marginally sufficient.

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

Parameters3/5

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

Schema description coverage is 100% for all 13 parameters, so the schema fully documents each field. The description provides no additional parameter information, warranting the baseline score of 3 since it doesn't compensate for any schema gaps.

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 clearly states the action 'Create' and the resource 'a webhook for an organization', matching the tool name and distinguishing it from siblings like get, patch, delete, and trigger. It lacks explicit sibling differentiation, but the verb-resource pairing is specific enough.

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?

No guidance is provided on when to use this tool versus alternatives. It only repeats the action without explaining contexts, exclusions, or relationships to sibling webhook operations (e.g., post_organization_webhook_trigger). An agent must infer when creating is appropriate.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/EduBase/MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server