โ† All skills
Tencent SkillHub ยท Developer Tools

ClickFunnels

ClickFunnels API integration with managed OAuth. Manage contacts, products, orders, courses, forms, and webhooks. Use this skill when users want to create sales funnels, manage contacts, process orders, or build marketing automation. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Requires network access and valid Maton API key.

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

ClickFunnels API integration with managed OAuth. Manage contacts, products, orders, courses, forms, and webhooks. Use this skill when users want to create sales funnels, manage contacts, process orders, or build marketing automation. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Requires network access and valid Maton API key.

โฌ‡ 0 downloads โ˜… 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
SKILL.md, LICENSE.txt

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.

Upgrade existing

I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
1.0.2

Documentation

ClawHub primary doc Primary doc: SKILL.md 32 sections Open source page

ClickFunnels

Access the ClickFunnels 2.0 API with managed OAuth authentication. Manage contacts, products, orders, courses, forms, webhooks, and more.

Quick Start

# List teams python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://gateway.maton.ai/clickfunnels/api/v2/teams') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') req.add_header('User-Agent', 'Maton/1.0') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF

Base URL

https://gateway.maton.ai/clickfunnels/{native-api-path} Replace {native-api-path} with the actual ClickFunnels API endpoint path. The gateway proxies requests to {subdomain}.myclickfunnels.com and automatically injects your OAuth token.

Authentication

All requests require the Maton API key in the Authorization header and a User-Agent header: Authorization: Bearer $MATON_API_KEY User-Agent: Maton/1.0 Environment Variable: Set your API key as MATON_API_KEY: export MATON_API_KEY="YOUR_API_KEY"

Getting Your API Key

Sign in or create an account at maton.ai Go to maton.ai/settings Copy your API key

Connection Management

Manage your ClickFunnels OAuth connections at https://ctrl.maton.ai.

List Connections

python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://ctrl.maton.ai/connections?app=clickfunnels&status=ACTIVE') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF

Create Connection

python <<'EOF' import urllib.request, os, json data = json.dumps({'app': 'clickfunnels'}).encode() req = urllib.request.Request('https://ctrl.maton.ai/connections', data=data, method='POST') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') req.add_header('Content-Type', 'application/json') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF

Get Connection

python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF Response: { "connection": { "connection_id": "21fd90f9-5935-43cd-b6c8-bde9d915ca80", "status": "ACTIVE", "creation_time": "2025-12-08T07:20:53.488460Z", "last_updated_time": "2026-01-31T20:03:32.593153Z", "url": "https://connect.maton.ai/?session_token=...", "app": "clickfunnels", "metadata": {} } } Open the returned url in a browser to complete OAuth authorization.

Delete Connection

python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://ctrl.maton.ai/connections/{connection_id}', method='DELETE') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF

Specifying Connection

If you have multiple ClickFunnels connections, specify which one to use with the Maton-Connection header: python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://gateway.maton.ai/clickfunnels/api/v2/teams') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') req.add_header('User-Agent', 'Maton/1.0') req.add_header('Maton-Connection', '21fd90f9-5935-43cd-b6c8-bde9d915ca80') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF If omitted, the gateway uses the default (oldest) active connection.

Teams

List Teams GET /clickfunnels/api/v2/teams Response: [ { "id": 412840, "public_id": "vPNqAp", "name": "My Team", "time_zone": "Pacific Time (US & Canada)", "locale": "en", "created_at": "2026-02-07T09:28:29.709Z", "updated_at": "2026-02-07T11:14:32.118Z" } ] Get Team GET /clickfunnels/api/v2/teams/{team_id}

Workspaces

List Workspaces GET /clickfunnels/api/v2/teams/{team_id}/workspaces Response: [ { "id": 435231, "public_id": "JZqWGb", "team_id": 412840, "name": "My Workspace", "subdomain": "myworkspace", "created_at": "2026-02-07T09:28:31.268Z", "updated_at": "2026-02-07T09:28:34.498Z" } ] Get Workspace GET /clickfunnels/api/v2/workspaces/{workspace_id}

Contacts

List Contacts GET /clickfunnels/api/v2/workspaces/{workspace_id}/contacts With filtering: GET /clickfunnels/api/v2/workspaces/{workspace_id}/contacts?filter[email_address]=user@example.com Response: [ { "id": 1087091674, "public_id": "PWzmxEx", "workspace_id": 435231, "email_address": "user@example.com", "first_name": "John", "last_name": "Doe", "phone_number": null, "time_zone": null, "uuid": "eb7a970c-727d-4c82-9209-bd8f7457a801", "tags": [], "custom_attributes": {}, "created_at": "2026-02-07T09:28:52.713Z", "updated_at": "2026-02-07T09:28:52.777Z" } ] Get Contact GET /clickfunnels/api/v2/contacts/{contact_id} Create Contact POST /clickfunnels/api/v2/workspaces/{workspace_id}/contacts Content-Type: application/json { "contact": { "email_address": "newuser@example.com", "first_name": "Jane", "last_name": "Smith", "phone_number": "+1234567890" } } Update Contact PUT /clickfunnels/api/v2/contacts/{contact_id} Content-Type: application/json { "contact": { "first_name": "Updated Name", "phone_number": "+1987654321" } } Delete Contact DELETE /clickfunnels/api/v2/contacts/{contact_id} Returns HTTP 204 on success. Upsert Contact Create or update a contact based on matching email: POST /clickfunnels/api/v2/workspaces/{workspace_id}/contacts/upsert Content-Type: application/json { "contact": { "email_address": "user@example.com", "first_name": "Updated" } } GDPR Redact Contact DELETE /clickfunnels/api/v2/workspaces/{workspace_id}/contacts/{contact_id}/gdpr_destroy

Products

List Products GET /clickfunnels/api/v2/workspaces/{workspace_id}/products Response: [ { "id": 962732, "public_id": "jAvBEA", "workspace_id": 435231, "name": "My Product", "current_path": "/my-product", "archived": false, "visible_in_store": true, "visible_in_customer_center": true, "default_variant_id": 5361073, "variant_ids": [5361073], "price_ids": [], "tag_ids": [], "created_at": "2026-02-09T07:23:02.158Z", "updated_at": "2026-02-09T07:23:02.163Z" } ] Get Product GET /clickfunnels/api/v2/products/{product_id} Create Product POST /clickfunnels/api/v2/workspaces/{workspace_id}/products Content-Type: application/json { "product": { "name": "New Product", "visible_in_store": true, "visible_in_customer_center": true } } Update Product PUT /clickfunnels/api/v2/products/{product_id} Content-Type: application/json { "product": { "name": "Updated Product Name" } } Archive Product POST /clickfunnels/api/v2/products/{product_id}/archive Unarchive Product POST /clickfunnels/api/v2/products/{product_id}/unarchive

Orders

List Orders GET /clickfunnels/api/v2/workspaces/{workspace_id}/orders Get Order GET /clickfunnels/api/v2/orders/{order_id} Update Order PUT /clickfunnels/api/v2/orders/{order_id} Content-Type: application/json { "order": { "notes": "Updated order notes" } }

Fulfillments

List Fulfillments GET /clickfunnels/api/v2/workspaces/{workspace_id}/fulfillments Get Fulfillment GET /clickfunnels/api/v2/fulfillments/{fulfillment_id} Create Fulfillment POST /clickfunnels/api/v2/workspaces/{workspace_id}/fulfillments Content-Type: application/json { "fulfillment": { "contact_id": 1087091674, "location_id": 12345, "tracking_url": "https://tracking.example.com/123", "shipping_provider": "ups", "tracking_code": "1Z999AA10123456784", "notify_customer": true } } Cancel Fulfillment POST /clickfunnels/api/v2/fulfillments/{fulfillment_id}/cancel

Courses

List Courses GET /clickfunnels/api/v2/workspaces/{workspace_id}/courses Get Course GET /clickfunnels/api/v2/courses/{course_id}

Enrollments

List Enrollments GET /clickfunnels/api/v2/courses/{course_id}/enrollments Create Enrollment POST /clickfunnels/api/v2/courses/{course_id}/enrollments Content-Type: application/json { "courses_enrollment": { "contact_id": 1087091674 } } Update Enrollment PUT /clickfunnels/api/v2/courses/{course_id}/enrollments/{enrollment_id} Content-Type: application/json { "courses_enrollment": { "suspended": true, "suspension_reason": "Payment failed" } }

Forms

List Forms GET /clickfunnels/api/v2/workspaces/{workspace_id}/forms Response: [ { "id": 442896, "public_id": "NdOxzL", "workspace_id": 435231, "name": "Contact Form", "created_at": "2026-02-07T09:28:33.316Z", "updated_at": "2026-02-07T09:28:33.316Z" } ] Get Form GET /clickfunnels/api/v2/forms/{form_id} List Form Submissions GET /clickfunnels/api/v2/forms/{form_id}/submissions

Images

List Images GET /clickfunnels/api/v2/workspaces/{workspace_id}/images Response: [ { "id": 20670308, "public_id": "mvvWWM", "url": "https://statics.myclickfunnels.com/workspace/JZqWGb/image/20670308/file/image.png", "workspace_id": 435231, "alt_text": null, "name": null, "created_at": "2026-02-07T09:28:40.102Z", "updated_at": "2026-02-07T09:29:01.697Z" } ] Create Image (via URL) POST /clickfunnels/api/v2/workspaces/{workspace_id}/images Content-Type: application/json { "image": { "upload_source_url": "https://example.com/image.png" } }

Webhooks

List Webhook Endpoints GET /clickfunnels/api/v2/workspaces/{workspace_id}/webhooks/outgoing/endpoints Response: [ { "id": 96677, "public_id": "vBZlEl", "workspace_id": 435231, "url": "https://example.com/webhook", "name": "My Webhook", "event_type_ids": ["contact.created"], "api_version": 2, "webhook_secret": "e779d4b2faa7d986...", "created_at": "2026-02-09T07:23:22.295Z", "updated_at": "2026-02-09T07:23:22.295Z" } ] Create Webhook Endpoint POST /clickfunnels/api/v2/workspaces/{workspace_id}/webhooks/outgoing/endpoints Content-Type: application/json { "webhooks_outgoing_endpoint": { "url": "https://example.com/webhook", "name": "New Webhook", "event_type_ids": ["contact.created", "order.created"] } } Get Webhook Endpoint GET /clickfunnels/api/v2/webhooks/outgoing/endpoints/{endpoint_id} Update Webhook Endpoint PUT /clickfunnels/api/v2/webhooks/outgoing/endpoints/{endpoint_id} Content-Type: application/json { "webhooks_outgoing_endpoint": { "name": "Updated Webhook", "event_type_ids": ["contact.created", "contact.updated"] } } Delete Webhook Endpoint DELETE /clickfunnels/api/v2/webhooks/outgoing/endpoints/{endpoint_id} Returns HTTP 204 on success.

Pagination

ClickFunnels uses cursor-based pagination. Each list endpoint returns a maximum of 20 items. Use the after parameter with the ID of the last item to get the next page: GET /clickfunnels/api/v2/workspaces/{workspace_id}/contacts?after=1087091674 Response Headers: Pagination-Next: ID of the last item (use for next page) Link: Full URL for the next page Example pagination flow: # First page GET /clickfunnels/api/v2/workspaces/{workspace_id}/images # Response header: Pagination-Next: 20670327 # Next page GET /clickfunnels/api/v2/workspaces/{workspace_id}/images?after=20670327

Filtering

Use the filter query parameter to filter list results: # Filter by email GET /clickfunnels/api/v2/workspaces/{workspace_id}/contacts?filter[email_address]=user@example.com # Filter by multiple emails (OR) GET /clickfunnels/api/v2/workspaces/{workspace_id}/contacts?filter[email_address]=user1@example.com,user2@example.com # Multiple filters (AND) GET /clickfunnels/api/v2/workspaces/{workspace_id}/contacts?filter[email_address]=user@example.com&filter[id]=1087091674

JavaScript

const response = await fetch( 'https://gateway.maton.ai/clickfunnels/api/v2/teams', { headers: { 'Authorization': `Bearer ${process.env.MATON_API_KEY}`, 'User-Agent': 'Maton/1.0' } } ); const teams = await response.json();

Python

import os import requests response = requests.get( 'https://gateway.maton.ai/clickfunnels/api/v2/teams', headers={ 'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}', 'User-Agent': 'Maton/1.0' } ) teams = response.json()

Create Contact Example

import os import requests response = requests.post( 'https://gateway.maton.ai/clickfunnels/api/v2/workspaces/435231/contacts', headers={ 'Authorization': f'Bearer {os.environ["MATON_API_KEY"]}', 'Content-Type': 'application/json', 'User-Agent': 'Maton/1.0' }, json={ 'contact': { 'email_address': 'newuser@example.com', 'first_name': 'Jane', 'last_name': 'Smith' } } ) contact = response.json()

Notes

Team IDs, workspace IDs, and resource IDs are integers Each resource also has a public_id (string) for public-facing URLs List endpoints return max 20 items per page by default Use after parameter for pagination Delete operations return HTTP 204 with empty response Request bodies use nested resource keys (e.g., {"contact": {...}}) Images max size: 10MB, max dimensions: 10,000 x 10,000 pixels Supported image formats: JPEG, PNG, WebP, GIF, SVG IMPORTANT: When using curl commands, use curl -g when URLs contain brackets to disable glob parsing IMPORTANT: When piping curl output to jq or other commands, environment variables like $MATON_API_KEY may not expand correctly in some shell environments

Error Handling

StatusMeaning400Missing ClickFunnels connection401Invalid or missing Maton API key404Resource not found422Validation error (check response body)429Rate limited4xx/5xxPassthrough error from ClickFunnels API

Troubleshooting: API Key Issues

Check that the MATON_API_KEY environment variable is set: echo $MATON_API_KEY Verify the API key is valid by listing connections: python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://ctrl.maton.ai/connections') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') print(json.dumps(json.load(urllib.request.urlopen(req)), indent=2)) EOF

Troubleshooting: Invalid App Name

Ensure your URL path starts with clickfunnels. For example: Correct: https://gateway.maton.ai/clickfunnels/api/v2/teams Incorrect: https://gateway.maton.ai/api/v2/teams

Resources

ClickFunnels API Introduction ClickFunnels API Reference Pagination Guide Filtering Guide Webhooks Overview Maton Community Maton Support

Category context

Code helpers, APIs, CLIs, browser automation, testing, and developer operations.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
1 Docs1 Files
  • SKILL.md Primary doc
  • LICENSE.txt Files