create_integration
Set up publishing integrations for content platforms by providing service credentials. Automatically tests connections for WordPress, Webflow, Wix, GoHighLevel, and webhook services.
Instructions
Create a publishing integration. Provide service-specific credentials. A connection test runs automatically after creation. Supported services: wordpress, webflow, wix, gohighlevel, webhook.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| workspace_id | Yes | Workspace UUID | |
| service | Yes | Service: wordpress, webflow, wix, gohighlevel, webhook | |
| name | Yes | Integration name | |
| auto_publish | No | Auto-publish completed articles (default false) | |
| wordpress_url | No | [wordpress] Site URL | |
| wordpress_username | No | [wordpress] Username | |
| wordpress_application_password | No | [wordpress] Application password | |
| webflow_api_token | No | [webflow] API token | |
| webflow_site_id | No | [webflow] Site ID | |
| webflow_collection_id | No | [webflow] Collection ID | |
| webflow_publication_status | No | [webflow] Publication status: published or draft | |
| wix_api_key | No | [wix] API key | |
| wix_site_id | No | [wix] Site ID | |
| wix_member_id | No | [wix] Member ID | |
| gohighlevel_api_token | No | [gohighlevel] API token | |
| gohighlevel_location_id | No | [gohighlevel] Location ID | |
| gohighlevel_blog_id | No | [gohighlevel] Blog ID | |
| gohighlevel_author_id | No | [gohighlevel] Author ID | |
| gohighlevel_category_id | No | [gohighlevel] Category ID | |
| gohighlevel_publication_status | No | [gohighlevel] Publication status: PUBLISHED or DRAFT | |
| webhook_url | No | [webhook] URL to receive POST requests | |
| webhook_bearer_token | No | [webhook] Bearer token for authentication |
Implementation Reference
- src/tools/integrations.ts:60-82 (handler)The handler logic for 'create_integration' which prepares the integration object and performs a POST request to the integration endpoint.
async ({ workspace_id, ...params }) => { const body: Record<string, unknown> = { service: params.service, name: params.name, }; if (params.auto_publish !== undefined) body.auto_publish = params.auto_publish; const serviceFields = [ 'wordpress_url', 'wordpress_username', 'wordpress_application_password', 'webflow_api_token', 'webflow_site_id', 'webflow_collection_id', 'webflow_publication_status', 'wix_api_key', 'wix_site_id', 'wix_member_id', 'gohighlevel_api_token', 'gohighlevel_location_id', 'gohighlevel_blog_id', 'gohighlevel_author_id', 'gohighlevel_category_id', 'gohighlevel_publication_status', 'webhook_url', 'webhook_bearer_token', ]; for (const f of serviceFields) { const v = (params as Record<string, unknown>)[f]; if (v !== undefined) body[f] = v; } const res = await client.post(`/workspaces/${workspace_id}/integrations`, { integration: body }); return { content: [{ type: 'text' as const, text: JSON.stringify(res.data) }] }; } - src/tools/integrations.ts:36-59 (schema)The Zod schema validation for the 'create_integration' tool parameters.
{ workspace_id: z.string().describe('Workspace UUID'), service: z.string().describe('Service: wordpress, webflow, wix, gohighlevel, webhook'), name: z.string().describe('Integration name'), auto_publish: z.boolean().optional().describe('Auto-publish completed articles (default false)'), wordpress_url: z.string().optional().describe('[wordpress] Site URL'), wordpress_username: z.string().optional().describe('[wordpress] Username'), wordpress_application_password: z.string().optional().describe('[wordpress] Application password'), webflow_api_token: z.string().optional().describe('[webflow] API token'), webflow_site_id: z.string().optional().describe('[webflow] Site ID'), webflow_collection_id: z.string().optional().describe('[webflow] Collection ID'), webflow_publication_status: z.string().optional().describe('[webflow] Publication status: published or draft'), wix_api_key: z.string().optional().describe('[wix] API key'), wix_site_id: z.string().optional().describe('[wix] Site ID'), wix_member_id: z.string().optional().describe('[wix] Member ID'), gohighlevel_api_token: z.string().optional().describe('[gohighlevel] API token'), gohighlevel_location_id: z.string().optional().describe('[gohighlevel] Location ID'), gohighlevel_blog_id: z.string().optional().describe('[gohighlevel] Blog ID'), gohighlevel_author_id: z.string().optional().describe('[gohighlevel] Author ID'), gohighlevel_category_id: z.string().optional().describe('[gohighlevel] Category ID'), gohighlevel_publication_status: z.string().optional().describe('[gohighlevel] Publication status: PUBLISHED or DRAFT'), webhook_url: z.string().optional().describe('[webhook] URL to receive POST requests'), webhook_bearer_token: z.string().optional().describe('[webhook] Bearer token for authentication'), }, - src/tools/integrations.ts:33-35 (registration)The registration of the 'create_integration' tool within the MCP server.
server.tool( 'create_integration', 'Create a publishing integration. Provide service-specific credentials. A connection test runs automatically after creation. Supported services: wordpress, webflow, wix, gohighlevel, webhook.',