Skip to main content
Glama
jhliberty

Basecamp MCP Server

by jhliberty

create_webhook

Set up webhooks in Basecamp by specifying a project ID, payload URL, and event types to automate notifications and streamline project management workflows.

Instructions

Create a webhook

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
payload_urlYesPayload URL
project_idYesProject ID
typesNoEvent types

Implementation Reference

  • src/index.ts:486-498 (registration)
    Registration of the 'create_webhook' tool including name, description, and input schema in the listTools response.
    {
      name: 'create_webhook',
      description: 'Create a webhook',
      inputSchema: {
        type: 'object',
        properties: {
          project_id: { type: 'string', description: 'Project ID' },
          payload_url: { type: 'string', description: 'Payload URL' },
          types: { type: 'array', items: { type: 'string' }, description: 'Event types' },
        },
        required: ['project_id', 'payload_url'],
      },
    },
  • Input schema definition for the create_webhook tool.
      inputSchema: {
        type: 'object',
        properties: {
          project_id: { type: 'string', description: 'Project ID' },
          payload_url: { type: 'string', description: 'Payload URL' },
          types: { type: 'array', items: { type: 'string' }, description: 'Event types' },
        },
        required: ['project_id', 'payload_url'],
      },
    },
  • Core implementation of webhook creation in BasecampClient class, making the POST API request to Basecamp.
    async createWebhook(projectId: string, payloadUrl: string, types?: string[]): Promise<Webhook> {
      const data: any = { payload_url: payloadUrl };
      if (types) data.types = types;
    
      const response = await this.client.post(`/buckets/${projectId}/webhooks.json`, data);
      return response.data;
    }
  • TypeScript interface definition for Webhook object returned by the createWebhook method.
    export interface Webhook {
      id: string;
      payload_url: string;
      types: string[];
      created_at: string;
      updated_at: string;
    }

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/jhliberty/basecamp-mcp-server'

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