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).

Informações da origem

Repositório
CraftOS-dev/CraftBot
Última atividade na origem
7 de agosto de 2026 às 11:54
Idioma detectado do SKILL.md
inglês
Estrelas
417
Forks
52

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Explorador de arquivos
100 arquivos

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
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` |
Ver no GitHub
Este SKILL.md e muito grande, entao o SkillsMP mostra aqui apenas a primeira secao. Ver no GitHub