Skip to main content

api-gateway

Connect to 100+ APIs (Google Workspace, Microsoft 365, Notion, Slack, Airtable, HubSpot, etc.) with managed OAuth. Use this skill when users want to interact with external services. Security: The MATON_API_KEY authenticates with Maton.ai but grants NO access to third-party services by itself. Each service requires explicit OAuth authorization by the user through Maton's connect flow. Access is strictly scoped to connections the user has authorized. Provided by Maton (https://maton.ai).

소스 정보

저장소
CraftOS-dev/CraftBot
최근 소스 활동
2026년 8월 7일 11:54
감지된 SKILL.md 언어
영어
스타
417
포크
52

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
100 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
api-gateway
description
Connect to 100+ APIs (Google Workspace, Microsoft 365, Notion, Slack, Airtable, HubSpot, etc.) with managed OAuth. Use this skill when users want to interact with external services. Security: The MATON_API_KEY authenticates with Maton.ai but grants NO access to third-party services by itself. Each service requires explicit OAuth authorization by the user through Maton's connect flow. Access is strictly scoped to connections the user has authorized. Provided by Maton (https://maton.ai).
compatibility
Requires network access and valid Maton API key
metadata
{"author":"maton","version":"1.0","clawdbot":{"emoji":"🧠","homepage":"https://maton.ai","requires":{"env":"[Truncated]"}}}
# API Gateway Passthrough proxy for direct access to third-party APIs using managed OAuth connections, provided by [Maton](https://maton.ai). The API gateway lets you call native API endpoints directly. ## Quick Start ```bash # Native Slack API call python <<'EOF' import urllib.request, os, json data = json.dumps({'channel': 'C0123456', 'text': 'Hello from gateway!'}).encode() req = urllib.request.Request('https://gateway.maton.ai/slack/api/chat.postMessage', 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 ``` ## Base URL ``` https://gateway.maton.ai/{app}/{native-api-path} ``` Replace `{app}` with the service name and `{native-api-path}` with the actual API endpoint path. IMPORTANT: The URL path MUST start with the connection's app name (eg. `/google-mail/...`). This prefix tells the gateway which app connection to use. For example, the native Gmail API path starts with `gmail/v1/`, so full paths look like `/google-mail/gmail/v1/users/me/messages`. ## Authentication All requests require the Maton API key in the Authorization header: ``` Authorization: Bearer $MATON_API_KEY ``` The API gateway automatically injects the appropriate OAuth token for the target service. **Environment Variable:** You can set your API key as the `MATON_API_KEY` environment variable: ```bash export MATON_API_KEY="YOUR_API_KEY" ``` ## Getting Your API Key 1. Sign in or create an account at [maton.ai](https://maton.ai) 2. Go to [maton.ai/settings](https://maton.ai/settings) 3. Click the copy button on the right side of API Key section to copy it ## Connection Management Connection management uses a separate base URL: `https://ctrl.maton.ai` ### List Connections ```bash python <<'EOF' import urllib.request, os, json req = urllib.request.Request('https://ctrl.maton.ai/connections?app=slack&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 ``` **Query Parameters (optional):** - `app` - Filter by service name (e.g., `slack`, `hubspot`, `salesforce`) - `status` - Filter by connection status (`ACTIVE`, `PENDING`, `FAILED`) **Response:** ```json { "connections": [ { "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=5e9...", "app": "slack", "metadata": {} } ] } ``` ### Create Connection ```bash python <<'EOF' import urllib.request, os, json data = json.dumps({'app': 'slack'}).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 ```bash 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:** ```json { "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=5e9...", "app": "slack", "metadata": {} } } ``` Open the returned URL in a browser to complete OAuth. ### Delete Connection ```bash 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 connections for the same app, you can specify which connection to use by adding the `Maton-Connection` header with the connection ID: ```bash python <<'EOF' import urllib.request, os, json data = json.dumps({'channel': 'C0123456', 'text': 'Hello!'}).encode() req = urllib.request.Request('https://gateway.maton.ai/slack/api/chat.postMessage', data=data, method='POST') req.add_header('Authorization', f'Bearer {os.environ["MATON_API_KEY"]}') req.add_header('Content-Type', 'application/json') 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 for that app. ## Supported Services | Service | App Name | Base URL Proxied | |---------|----------|------------------| | ActiveCampaign | `active-campaign` | `{account}.api-us1.com` | | Acuity Scheduling | `acuity-scheduling` | `acuityscheduling.com` | | Airtable | `airtable` | `api.airtable.com` | | Apollo | `apollo` | `api.apollo.io` | | Asana | `asana` | `app.asana.com` | | Attio | `attio` | `api.attio.com` | | Basecamp | `basecamp` | `3.basecampapi.com` | | beehiiv | `beehiiv` | `api.beehiiv.com` | | Box | `box` | `api.box.com` | | Brevo | `brevo` | `api.brevo.com` | | Calendly | `calendly` | `api.calendly.com` | | Cal.com | `cal-com` | `api.cal.com` | | CallRail | `callrail` | `api.callrail.com` | | Chargebee | `chargebee` | `{subdomain}.chargebee.com` | | ClickFunnels | `clickfunnels` | `{subdomain}.myclickfunnels.com` | | ClickSend | `clicksend` | `rest.clicksend.com` | | ClickUp | `clickup` | `api.clickup.com` | | Clockify | `clockify` | `api.clockify.me` | | Coda | `coda` | `coda.io` | | Confluence | `confluence` | `api.atlassian.com` | | CompanyCam | `companycam` | `api.companycam.com` | | Cognito Forms | `cognito-forms` | `www.cognitoforms.com` | | Constant Contact | `constant-contact` | `api.cc.email` | | Dropbox | `dropbox` | `api.dropboxapi.com` | | Dropbox Business | `dropbox-business` | `api.dropboxapi.com` | | ElevenLabs | `elevenlabs` | `api.elevenlabs.io` | | Eventbrite | `eventbrite` | `www.eventbriteapi.com` | | Fathom | `fathom` | `api.fathom.ai` | | Firebase | `firebase` | `firebase.googleapis.com` | | Fireflies | `fireflies` | `api.fireflies.ai` | | GetResponse | `getresponse` | `api.getresponse.com` | | GitHub | `github` | `api.github.com` | | Gumroad | `gumroad` | `api.gumroad.com` | | Granola | `granola` | `mcp.granola.ai` (MCP) | | Google Ads | `google-ads` | `googleads.googleapis.com` | | Google BigQuery | `google-bigquery` | `bigquery.googleapis.com` | | Google Analytics Admin | `google-analytics-admin` | `analyticsadmin.googleapis.com` | | Google Analytics Data | `google-analytics-data` | `analyticsdata.googleapis.com` | | Google Calendar | `google-calendar` | `www.googleapis.com` | | Google Classroom | `google-classroom` | `classroom.googleapis.com` | | Google Contacts | `google-contacts` | `people.googleapis.com` | | Google Docs | `google-docs` | `docs.googleapis.com` | | Google Drive | `google-drive` | `www.googleapis.com` | | Google Forms | `google-forms` | `forms.googleapis.com` | | Gmail | `google-mail` | `gmail.googleapis.com` | | Google Merchant | `google-merchant` | `merchantapi.googleapis.com` | | Google Meet | `google-meet` | `meet.googleapis.com` | | Google Play | `google-play` | `androidpublisher.googleapis.com` | | Google Search Console | `google-search-console` | `www.googleapis.com` | | Google Sheets | `google-sheets` | `sheets.googleapis.com` | | Google Slides | `google-slides` | `slides.googleapis.com` | | Google Tasks | `google-tasks` | `tasks.googleapis.com` | | Google Workspace Admin | `google-workspace-admin` | `admin.googleapis.com` | | HubSpot | `hubspot` | `api.hubapi.com` | | Instantly | `instantly` | `api.instantly.ai` | | Jira | `jira` | `api.atlassian.com` | | Jobber | `jobber` | `api.getjobber.com` | | JotForm | `jotform` | `api.jotform.com` | | Keap | `keap` | `api.infusionsoft.com` | | Kit | `kit` | `api.kit.com` | | Klaviyo | `klaviyo` | `a.klaviyo.com` | | Lemlist | `lemlist` | `api.lemlist.com` | | Linear | `linear` | `api.linear.app` | | LinkedIn | `linkedin` | `api.linkedin.com` | | Mailchimp | `mailchimp` | `{dc}.api.mailchimp.com` | | MailerLite | `mailerlite` | `connect.mailerlite.com` | | Mailgun | `mailgun` | `api.mailgun.net` | | ManyChat | `manychat` | `api.manychat.com` | | Microsoft Excel | `microsoft-excel` | `graph.microsoft.com` | | Microsoft Teams | `microsoft-teams` | `graph.microsoft.com` | | Microsoft To Do | `microsoft-to-do` | `graph.microsoft.com` | | Monday.com | `monday` | `api.monday.com` | | Motion | `motion` | `api.usemotion.com` | | Netlify | `netlify` | `api.netlify.com` | | Notion | `notion` | `api.notion.com` | | OneDrive | `one-drive` | `graph.microsoft.com` | | Outlook | `outlook` | `graph.microsoft.com` | | PDF.co | `pdf-co` | `api.pdf.co` |
GitHub에서 보기
이 SKILL.md는 매우 커서 SkillsMP가 여기에는 첫 섹션만 미리 보여줍니다. GitHub에서 보기