> ## Documentation Index
> Fetch the complete documentation index at: https://xerg.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Recognized services

> The 145 outside services Xerg recognizes in code, and what it finds each one from.

Xerg recognizes 145 outside services. It finds each from any of: a package in a manifest, an environment variable name in an example env file, a Docker image, a Terraform provider, a GitHub Action, a config file, or an API host in source code. Variable names that look like a service's key but match none of these show on the map as unrecognized (a dotted, faded outline).

A trailing … matches anything after it.

## Hosting

* **Cloudflare** ([connect](https://xerg.ai/docs/connect/cloudflare.md)): npm `@cloudflare/*`, `wrangler`, `agents`, `@opennextjs/cloudflare`, `@astrojs/cloudflare`, `@marsidev/react-turnstile` · env `CLOUDFLARE_…`, `CF_(API_TOKEN|ACCOUNT_ID|ZONE_ID)`, `TURNSTILE_(SITE_KEY|SECRET_KEY)` · Terraform `cloudflare` · GitHub Actions `cloudflare/wrangler-action…`, `cloudflare/pages-action…` · files `wrangler.(toml|json|jsonc)` · API hosts `api.cloudflare.com`, `.r2.cloudflarestorage.com`, `challenges.cloudflare.com/turnstile`, `imagedelivery.net`, `static.cloudflareinsights.com`, `cloudflareinsights.com`
* **Fly.io**: env `FLY_(API_TOKEN|APP_NAME)` · GitHub Actions `superfly/flyctl-actions…` · files `fly.toml` · API hosts `api.machines.dev`, `api.fly.io`
* **Heroku**: env `HEROKU_…` · GitHub Actions `heroku…` · files `Procfile`, `app.json` · API hosts `api.heroku.com`
* **Netlify**: npm `@netlify/*`, `netlify-cli` · env `NETLIFY_…` · GitHub Actions `netlify…` · files `netlify.toml` · API hosts `api.netlify.com`
* **Railway**: env `RAILWAY_TOKEN` · files `railway.(json|toml)` · API hosts `backboard.railway.app`, `backboard.railway.com`
* **Render**: env `RENDER_(API_KEY|DEPLOY_HOOK)…` · files `render.ya?ml` · API hosts `api.render.com`
* **Vercel** ([connect](https://xerg.ai/docs/connect/vercel.md)): npm `@vercel/*`, `vercel` · env `VERCEL_(TOKEN|ORG_ID|PROJECT_ID|TEAM_ID)`, `TURBO_(TOKEN|TEAM)` · Terraform `vercel` · GitHub Actions `vercel-action…`, `vercel/…` · files `vercel.json` · API hosts `api.vercel.com`, `.blob.vercel-storage.com`

## Cloud

* **AWS** ([connect](https://xerg.ai/docs/connect/aws.md)): npm `@aws-sdk/*`, `aws-sdk`, `aws-cdk-lib`, `sst`, `@ai-sdk/amazon-bedrock` · PyPI `boto3`, `botocore`, `aws-cdk-lib` · Go `github.com/aws/aws-sdk-go` · gems `aws-sdk-*` · env `AWS_…` · Terraform `aws` · GitHub Actions `aws-actions/…` · files `serverless.ya?ml`, `cdk.json`, `amplify.ya?ml` · API hosts `.amazonaws.com`, `.on.aws`
* **Azure** ([connect](https://xerg.ai/docs/connect/azure.md)): npm `@azure/*`, `@ai-sdk/azure` · PyPI `azure-*` · env `AZURE_…`, `AZUREAD_…`, `AZURE_AD_…` · Terraform `azurerm`, `azuread` · GitHub Actions `azure/(login|webapps-deploy|functions-action|container-apps-deploy-action|aks-set-context|static-web-apps-deploy)…` · files `azure-pipelines.ya?ml` · API hosts `.blob.core.windows.net`, `.queue.core.windows.net`, `.table.core.windows.net`, `.servicebus.windows.net`, `.documents.azure.com`, `.openai.azure.com`, `.cognitiveservices.azure.com`, `management.azure.com`, `api.bing.microsoft.com`
* **DigitalOcean**: PyPI `python-digitalocean`, `pydo` · Go `github.com/digitalocean/godo` · env `DIGITALOCEAN_…`, `DO_(API_TOKEN|ACCESS_TOKEN|SPACES_(KEY|SECRET|ENDPOINT|BUCKET))` · Terraform `digitalocean` · GitHub Actions `digitalocean/action-doctl…` · files `.do/(app|deploy.template).ya?ml` · API hosts `api.digitalocean.com`, `.digitaloceanspaces.com`
* **Firebase**: npm `firebase`, `firebase-admin`, `firebase-functions` · PyPI `firebase-admin` · env `FIREBASE_…` · files `firebase.json` · API hosts `.firebaseio.com`, `firestore.googleapis.com`, `identitytoolkit.googleapis.com`, `securetoken.googleapis.com`, `firebasestorage.googleapis.com`, `fcm.googleapis.com`
* **Google Cloud** ([connect](https://xerg.ai/docs/connect/gcp.md)): npm `@google-cloud/*`, `googleapis`, `@ai-sdk/google-vertex` · PyPI `google-cloud-*` · Go `cloud.google.com/go` · env `GOOGLE_APPLICATION_CREDENTIALS`, `GCP_…`, `GCLOUD_…`, `GOOGLE_CLOUD_PROJECT` · Terraform `google`, `google-beta` · GitHub Actions `google-github-actions/…` · files `cloudbuild.ya?ml` · API hosts `storage.googleapis.com`, `bigquery.googleapis.com`, `pubsub.googleapis.com`, `aiplatform.googleapis.com`, `.aiplatform.googleapis.com`, `translation.googleapis.com`, `vision.googleapis.com`, `speech.googleapis.com`, `texttospeech.googleapis.com`

## Databases

* **Algolia**: npm `algoliasearch`, `react-instantsearch`, `@algolia/*` · PyPI `algoliasearch` · env `ALGOLIA_…` · API hosts `.algolia.net`, `.algolianet.com`, `.algolia.io`
* **ClickHouse**: npm `@clickhouse/*` · PyPI `clickhouse-connect`, `clickhouse-driver` · Go `github.com/ClickHouse/clickhouse-go` · env `CLICKHOUSE_…` · Docker images `clickhouse/clickhouse-server`, `clickhouse`, `bitnami/clickhouse` · API hosts `.clickhouse.cloud`
* **Elasticsearch**: npm `@elastic/elasticsearch` · PyPI `elasticsearch` · env `ELASTIC(SEARCH)?_…` · Docker images `elasticsearch`, `docker.elastic.co/elasticsearch`, `opensearchproject/opensearch` · API hosts `.found.io`, `.elastic-cloud.com`
* **MongoDB** ([connect](https://xerg.ai/docs/connect/mongodb.md)): npm `mongodb`, `mongoose` · PyPI `pymongo`, `motor`, `mongoengine` · Go `go.mongodb.org/mongo-driver` · gems `mongoid` · env `MONGO(DB)?_…` · Docker images `mongo`, `bitnami/mongodb` · Terraform `mongodbatlas` · API hosts `.mongodb.net`, `cloud.mongodb.com`
* **MySQL**: npm `mysql`, `mysql2` · PyPI `pymysql`, `mysqlclient` · Go `github.com/go-sql-driver/mysql` · gems `mysql2` · env `MYSQL_…` · Docker images `mysql`, `mariadb`
* **Neon** ([connect](https://xerg.ai/docs/connect/neon.md)): npm `@neondatabase/*` · env `NEON_…` · Terraform `neon` · API hosts `.neon.tech`
* **Pinecone**: npm `@pinecone-database/*` · PyPI `pinecone-client`, `pinecone` · env `PINECONE_…` · API hosts `.pinecone.io`
* **PlanetScale**: npm `@planetscale/*` · env `PLANETSCALE_…` · API hosts `.psdb.cloud`, `api.planetscale.com`
* **PostgreSQL**: npm `pg`, `postgres`, `pg-promise`, `@vercel/postgres`, `slonik` · PyPI `psycopg2`, `psycopg2-binary`, `psycopg`, `asyncpg` · Go `github.com/lib/pq`, `github.com/jackc/pgx` · gems `pg` · env `POSTGRES_…`, `PG(HOST|USER|PASSWORD|DATABASE|PORT)` · Docker images `postgres`, `postgis/postgis`, `bitnami/postgresql`, `pgvector/pgvector`
* **Redis**: npm `redis`, `ioredis`, `bullmq`, `bull` · PyPI `redis`, `rq` · Go `github.com/redis/go-redis`, `github.com/go-redis/redis` · gems `redis`, `sidekiq` · env `REDIS_…` · Docker images `redis`, `bitnami/redis`, `valkey/valkey` · API hosts `.redis-cloud.com`, `.redislabs.com`
* **Snowflake**: npm `snowflake-sdk` · PyPI `snowflake-connector-python`, `snowflake-sqlalchemy` · env `SNOWFLAKE_…` · Terraform `snowflake` · API hosts `.snowflakecomputing.com`
* **Supabase** ([connect](https://xerg.ai/docs/connect/supabase.md)): npm `@supabase/*` · PyPI `supabase` · env `SUPABASE_…` · Terraform `supabase` · files `supabase/config.toml` · API hosts `.supabase.co`, `api.supabase.com`, `.pooler.supabase.com`
* **Tinybird**: npm `@tinybirdco/*`, `@chronark/zod-bird` · PyPI `tinybird`, `tinybird-cli` · env `TINY_?BIRD_…` · API hosts `.tinybird.co`
* **turbopuffer**: npm `@turbopuffer/*` · PyPI `turbopuffer` · env `TURBOPUFFER_…` · API hosts `.turbopuffer.com`
* **Turso**: npm `@libsql/*` · env `TURSO_…`, `LIBSQL_…` · API hosts `.turso.io`, `api.turso.tech`
* **Upstash** ([connect](https://xerg.ai/docs/connect/upstash.md)): npm `@upstash/*` · PyPI `upstash-redis` · env `UPSTASH_…`, `KV_REST_API_…`, `QSTASH_…` · API hosts `.upstash.io`

## Queues and jobs

* **Inngest**: npm `inngest` · PyPI `inngest` · env `INNGEST_…` · API hosts `api.inngest.com`, `inn.gs`
* **Kafka**: npm `kafkajs` · PyPI `confluent-kafka`, `kafka-python` · env `KAFKA_…` · Docker images `confluentinc/cp-kafka`, `bitnami/kafka`, `apache/kafka`, `redpandadata/redpanda` · API hosts `.confluent.cloud`
* **RabbitMQ**: npm `amqplib` · PyPI `pika`, `aio-pika` · env `RABBITMQ_…`, `AMQP_URL` · Docker images `rabbitmq` · API hosts `.cloudamqp.com`
* **Trigger.dev**: npm `@trigger.dev/*` · env `TRIGGER_(SECRET_KEY|API_KEY|API_URL)` · API hosts `api.trigger.dev`

## Storage and media

* **Cloudinary**: npm `cloudinary`, `next-cloudinary` · PyPI `cloudinary` · env `CLOUDINARY_…` · API hosts `.cloudinary.com`
* **Mux**: npm `@mux/*` · env `MUX_…` · API hosts `.mux.com`
* **UploadThing**: npm `uploadthing`, `@uploadthing/*` · env `UPLOADTHING_…` · API hosts `.uploadthing.com`, `utfs.io`, `.ufs.sh`

## Payments

* **Lemon Squeezy**: npm `@lemonsqueezy/*` · env `LEMON_?SQUEEZY_…` · API hosts `.lemonsqueezy.com`
* **Paddle**: npm `@paddle/*` · env `PADDLE_…` · API hosts `.paddle.com`
* **PayPal**: npm `@paypal/*` · env `PAYPAL_…` · API hosts `.paypal.com`, `www.paypal.com/sdk`
* **Stripe** ([connect](https://xerg.ai/docs/connect/stripe.md)): npm `stripe`, `@stripe/*` · PyPI `stripe` · Go `github.com/stripe/stripe-go` · gems `stripe` · env `STRIPE_…` · API hosts `.stripe.com`, `.stripe.network`

## Monitoring

* **Axiom**: npm `@axiomhq/*`, `next-axiom` · env `AXIOM_…` · API hosts `.axiom.co`
* **Better Stack**: npm `@logtail/*` · env `(LOGTAIL|BETTERSTACK|BETTER_STACK)_…` · API hosts `.betterstack.com`, `.logtail.com`
* **Checkly**: npm `checkly`, `@checkly/*` · env `CHECKLY_…` · API hosts `api.checklyhq.com`
* **Datadog** ([connect](https://xerg.ai/docs/connect/datadog.md)): npm `dd-trace`, `@datadog/*` · PyPI `ddtrace`, `datadog` · Go `gopkg.in/DataDog/dd-trace-go`, `github.com/DataDog/dd-trace-go` · gems `ddtrace`, `datadog` · env `DD_…`, `DATADOG_…` · Docker images `datadog/agent`, `gcr.io/datadoghq/agent` · Terraform `datadog` · GitHub Actions `datadog…` · API hosts `.datadoghq.com`, `.datadoghq.eu`, `.ddog-gov.com`, `browser-intake-datadoghq.com`
* **Grafana**: env `GRAFANA_…` · Docker images `grafana/grafana`, `prom/prometheus`, `grafana/loki` · Terraform `grafana` · API hosts `.grafana.net`
* **Honeycomb**: npm `@honeycombio/*` · env `HONEYCOMB_…` · API hosts `.honeycomb.io`
* **incident.io**: env `INCIDENT_?IO_…` · Terraform `incident` · API hosts `api.incident.io`
* **New Relic**: npm `newrelic` · PyPI `newrelic` · env `NEW_?RELIC_…` · Terraform `newrelic` · API hosts `.newrelic.com`, `.nr-data.net`
* **OpenTelemetry**: npm `@opentelemetry/*`, `@vercel/otel` · PyPI `opentelemetry-*` · Go `go.opentelemetry.io/otel` · env `OTEL_…` · Docker images `otel/opentelemetry-collector`
* **Opsgenie**: npm `opsgenie-sdk` · PyPI `opsgenie-sdk` · env `OPSGENIE_…` · API hosts `api.opsgenie.com`, `api.eu.opsgenie.com`
* **PagerDuty**: npm `@pagerduty/*` · env `PAGERDUTY_…` · Terraform `pagerduty` · API hosts `.pagerduty.com`
* **Sentry** ([connect](https://xerg.ai/docs/connect/sentry.md)): npm `@sentry/*`, `@hono/sentry` · PyPI `sentry-sdk` · Go `github.com/getsentry/sentry-go` · gems `sentry-ruby`, `sentry-rails` · env `SENTRY_…` · GitHub Actions `getsentry/…` · files `sentry.(client|server|edge).config.(t|j)s`, `.sentryclirc` · API hosts `.sentry.io`, `sentry.io/api`, `.sentry-cdn.com`

## Analytics

* **Amplitude**: npm `@amplitude/*` · env `AMPLITUDE_…` · API hosts `.amplitude.com`
* **Google Analytics**: npm `react-ga4`, `@next/third-parties` · env `(GA|GA4|GOOGLE_ANALYTICS)_…`, `GA_MEASUREMENT_ID` · API hosts `www.google-analytics.com`, `.google-analytics.com`, `www.googletagmanager.com/gtag`
* **HubSpot**: npm `@hubspot/*` · PyPI `hubspot-api-client` · env `HUBSPOT_…` · API hosts `.hubapi.com`, `.hs-scripts.com`, `.hsforms.com`
* **LinkedIn Insight Tag**: env `LINKEDIN_(PARTNER_ID|INSIGHT_TAG_ID)` · API hosts `snap.licdn.com`, `px.ads.linkedin.com`
* **Meta Pixel**: npm `react-facebook-pixel` · env `(META|FB|FACEBOOK)_PIXEL_ID` · API hosts `connect.facebook.net`, `www.facebook.com/tr`
* **Mixpanel**: npm `mixpanel`, `mixpanel-browser` · PyPI `mixpanel` · env `MIXPANEL_…` · API hosts `.mixpanel.com`
* **OpenPanel**: npm `@openpanel/*` · env `OPENPANEL_…` · API hosts `api.openpanel.dev`
* **Plausible**: npm `next-plausible`, `plausible-tracker` · env `PLAUSIBLE_…` · API hosts `plausible.io/js`, `plausible.io/api`
* **PostHog** ([connect](https://xerg.ai/docs/connect/posthog.md)): npm `posthog-js`, `posthog-node` · PyPI `posthog` · env `POSTHOG_…` · API hosts `.posthog.com`
* **RB2B**: env `RB2B_…`
* **Reddit Pixel**: env `REDDIT_PIXEL_ID` · API hosts `www.redditstatic.com/ads`, `alb.reddit.com`
* **Segment**: npm `@segment/*`, `analytics-node` · PyPI `segment-analytics-python`, `analytics-python` · env `SEGMENT_…` · API hosts `.segment.io`, `.segment.com`
* **X Pixel**: env `(X|TWITTER)_PIXEL_ID` · API hosts `static.ads-twitter.com`, `analytics.twitter.com`

## AI models

* **Anthropic** ([connect](https://xerg.ai/docs/connect/anthropic.md)): npm `@anthropic-ai/*`, `@ai-sdk/anthropic`, `@langchain/anthropic` · PyPI `anthropic`, `langchain-anthropic` · env `ANTHROPIC_…` · API hosts `api.anthropic.com`
* **AssemblyAI**: npm `assemblyai` · PyPI `assemblyai` · env `ASSEMBLY_?AI_…` · API hosts `api.assemblyai.com`
* **Brave Search**: env `BRAVE_(SEARCH_)?API_KEY` · API hosts `api.search.brave.com`
* **Cohere**: npm `cohere-ai`, `@ai-sdk/cohere`, `@langchain/cohere` · PyPI `cohere`, `langchain-cohere` · env `(COHERE|CO)_API_KEY` · API hosts `api.cohere.com`, `api.cohere.ai`
* **Composio**: npm `@composio/*`, `composio-core` · PyPI `composio`, `composio-core` · env `COMPOSIO_…` · API hosts `.composio.dev`
* **Deepgram**: npm `@deepgram/*` · PyPI `deepgram-sdk` · env `DEEPGRAM_…` · API hosts `api.deepgram.com`
* **ElevenLabs**: npm `elevenlabs`, `@elevenlabs/*` · PyPI `elevenlabs` · env `ELEVEN_?LABS_…` · API hosts `api.elevenlabs.io`
* **Exa**: npm `exa-js` · PyPI `exa-py` · env `EXA_API_KEY` · API hosts `api.exa.ai`
* **Firecrawl**: npm `@mendable/firecrawl-js`, `firecrawl` · PyPI `firecrawl-py`, `firecrawl` · env `FIRECRAWL_…` · API hosts `api.firecrawl.dev`
* **Fireworks AI**: npm `@ai-sdk/fireworks` · PyPI `fireworks-ai` · env `FIREWORKS_(AI_)?API_KEY` · API hosts `api.fireworks.ai`
* **Google Gemini**: npm `@google/generative-ai`, `@google/genai`, `@ai-sdk/google` · PyPI `google-generativeai`, `google-genai` · env `GEMINI_…`, `GOOGLE_GENERATIVE_AI_…` · API hosts `generativelanguage.googleapis.com`
* **Groq**: npm `groq-sdk`, `@ai-sdk/groq`, `@langchain/groq` · PyPI `groq`, `langchain-groq` · env `GROQ_API_KEY` · API hosts `api.groq.com`
* **Hugging Face**: npm `@huggingface/*` · PyPI `huggingface-hub`, `transformers` · env `(HF|HUGGINGFACE|HUGGING_FACE)_…` · API hosts `.huggingface.co`, `huggingface.co/api`
* **Langfuse**: npm `langfuse`, `langfuse-*`, `@langfuse/*` · PyPI `langfuse` · env `LANGFUSE_…` · API hosts `cloud.langfuse.com`, `.cloud.langfuse.com`
* **LangSmith**: npm `langsmith` · PyPI `langsmith` · env `LANGSMITH_…`, `LANGCHAIN_(API_KEY|TRACING)…` · API hosts `.smith.langchain.com`
* **Mistral AI**: npm `@mistralai/*`, `@ai-sdk/mistral`, `@langchain/mistralai` · PyPI `mistralai`, `langchain-mistralai` · env `MISTRAL_…` · API hosts `api.mistral.ai`, `codestral.mistral.ai`
* **OpenAI** ([connect](https://xerg.ai/docs/connect/openai.md)): npm `openai`, `@ai-sdk/openai`, `@langchain/openai` · PyPI `openai`, `langchain-openai` · Go `github.com/sashabaranov/go-openai`, `github.com/openai/openai-go` · env `OPENAI_…` · API hosts `api.openai.com`
* **OpenRouter**: npm `@openrouter/*` · env `OPENROUTER_…` · API hosts `openrouter.ai/api`
* **Perplexity**: npm `@ai-sdk/perplexity`, `@perplexity-ai/*` · PyPI `perplexityai` · env `(PERPLEXITY|PPLX)_API_KEY` · API hosts `api.perplexity.ai`
* **Replicate**: npm `replicate` · PyPI `replicate` · env `REPLICATE_…` · API hosts `api.replicate.com`, `.replicate.delivery`
* **Serper**: env `SERPER_API_KEY` · API hosts `google.serper.dev`
* **Tavily**: npm `@tavily/*` · PyPI `tavily-python` · env `TAVILY_…` · API hosts `api.tavily.com`
* **Together AI**: npm `together-ai`, `@ai-sdk/togetherai` · PyPI `together` · env `TOGETHER_(AI_)?API_KEY` · API hosts `api.together.xyz`, `api.together.ai`
* **Vercel AI Gateway**: npm `@ai-sdk/gateway` · env `AI_GATEWAY_API_KEY` · API hosts `ai-gateway.vercel.sh`
* **xAI**: npm `@ai-sdk/xai` · PyPI `xai-sdk` · env `(XAI|GROK)_API_KEY` · API hosts `api.x.ai`

## Sign-in

* **Auth0**: npm `@auth0/*`, `auth0` · PyPI `auth0-python` · env `AUTH0_…` · Terraform `auth0` · API hosts `.auth0.com`
* **Clerk** ([connect](https://xerg.ai/docs/connect/clerk.md)): npm `@clerk/*` · PyPI `clerk-backend-api` · env `CLERK_…` · API hosts `api.clerk.com`, `api.clerk.dev`, `.clerk.accounts.dev`
* **GitHub sign-in**: env `(AUTH_)?GITHUB_(ID|SECRET|CLIENT_ID|CLIENT_SECRET|OAUTH_CLIENT_ID|OAUTH_CLIENT_SECRET)` · API hosts `github.com/login/oauth`
* **Google sign-in**: env `(AUTH_)?GOOGLE_(ID|SECRET|CLIENT_ID|CLIENT_SECRET|OAUTH_CLIENT_ID|OAUTH_CLIENT_SECRET)` · API hosts `accounts.google.com`, `oauth2.googleapis.com`, `www.googleapis.com/oauth2`, `www.googleapis.com/auth`
* **hCaptcha**: npm `@hcaptcha/*`, `hcaptcha` · env `HCAPTCHA_…` · API hosts `js.hcaptcha.com`, `api.hcaptcha.com`, `hcaptcha.com/siteverify`
* **Kinde**: npm `@kinde-oss/*` · env `KINDE_…` · API hosts `.kinde.com`
* **Microsoft sign-in**: env `(AUTH_)?(MICROSOFT|ENTRA_ID|AZURE_AD)_(CLIENT_ID|CLIENT_SECRET|TENANT_ID)` · API hosts `login.microsoftonline.com`, `login.microsoft.com`, `login.live.com`
* **Okta**: npm `@okta/*` · env `OKTA_…` · Terraform `okta` · API hosts `.okta.com`, `.oktapreview.com`
* **reCAPTCHA**: npm `react-google-recaptcha`, `react-google-recaptcha-v3` · env `(GOOGLE_)?RECAPTCHA_…` · API hosts `www.google.com/recaptcha`, `www.recaptcha.net`, `recaptchaenterprise.googleapis.com`
* **Unkey**: npm `@unkey/*` · env `UNKEY_…` · API hosts `api.unkey.dev`, `api.unkey.com`
* **WorkOS**: npm `@workos-inc/*` · PyPI `workos` · env `WORKOS_…` · API hosts `api.workos.com`

## Email and messaging

* **Bird**: npm `messagebird` · PyPI `messagebird` · env `BIRD_(ACCESS_KEY|WORKSPACE_ID|CHANNEL_ID)`, `MESSAGEBIRD_…` · API hosts `api.bird.com`, `rest.messagebird.com`
* **Cal.com**: npm `@calcom/*` · env `CAL_(COM_)?(API_KEY|[A-Z_]*LINK|[A-Z_]*URL)` · API hosts `api.cal.com`, `app.cal.com`
* **Discord**: npm `discord.js` · PyPI `discord.py` · env `DISCORD_…` · API hosts `discord.com/api`, `discordapp.com/api`
* **Loops**: npm `loops` · env `LOOPS_…` · API hosts `app.loops.so`
* **MailChannels**: env `MAILCHANNELS_…` · API hosts `api.mailchannels.net`
* **Mailgun**: npm `mailgun.js`, `mailgun-js` · env `MAILGUN_…` · API hosts `.mailgun.net`
* **Microsoft Teams**: npm `@microsoft/teams-js`, `@microsoft/teams-ai`, `@microsoft/teams.apps`, `botbuilder` · PyPI `pymsteams`, `botbuilder-core` · env `(MS_?)?TEAMS_(WEBHOOK|APP_ID|APP_PASSWORD|BOT)…`, `MICROSOFT_TEAMS_…` · API hosts `.webhook.office.com`, `outlook.office.com/webhook`
* **Novu**: npm `@novu/*` · env `NOVU_…` · API hosts `.novu.co`
* **ntfy**: env `NTFY_…` · API hosts `ntfy.sh`
* **Postmark**: npm `postmark` · PyPI `postmarker` · gems `postmark`, `postmark-rails` · env `POSTMARK_…` · API hosts `api.postmarkapp.com`
* **Pusher**: npm `pusher`, `pusher-js` · PyPI `pusher` · env `PUSHER_…` · API hosts `.pusher.com`
* **Resend** ([connect](https://xerg.ai/docs/connect/resend.md)): npm `resend` · PyPI `resend` · env `RESEND_…` · API hosts `api.resend.com`
* **SendGrid**: npm `@sendgrid/*` · PyPI `sendgrid` · gems `sendgrid-ruby` · env `SENDGRID_…` · API hosts `api.sendgrid.com`
* **Slack** ([connect](https://xerg.ai/docs/connect/slack.md)): npm `@slack/*` · PyPI `slack-sdk`, `slack_sdk`, `slack-bolt` · env `SLACK_…` · GitHub Actions `slackapi/…`, `slack…` · API hosts `hooks.slack.com`, `slack.com/api`, `slack.com/oauth`
* **Telegram**: npm `telegraf`, `grammy`, `node-telegram-bot-api` · PyPI `python-telegram-bot`, `aiogram`, `pyTelegramBotAPI` · env `TELEGRAM_…` · API hosts `api.telegram.org`
* **Twilio**: npm `twilio` · PyPI `twilio` · gems `twilio-ruby` · env `TWILIO_…` · API hosts `.twilio.com`

## Dev tools

* **Apple Developer**: env `APPLE_(ID|TEAM_ID|APP_SPECIFIC_PASSWORD|API_KEY|API_KEY_ID|API_ISSUER|DEVELOPER_ID…|CERTIFICATE…)`, `APP_STORE_CONNECT_…` · API hosts `api.appstoreconnect.apple.com`, `api.push.apple.com`, `api.sandbox.push.apple.com`
* **Bitly**: npm `bitly` · env `BITLY_…` · API hosts `api-ssl.bitly.com`
* **Brandfetch**: env `BRANDFETCH_…` · API hosts `.brandfetch.io`
* **ClawHub**: npm `clawhub` · env `CLAWHUB_…`
* **Contentful**: npm `contentful`, `contentful-management` · env `CONTENTFUL_…` · API hosts `.contentful.com`, `.ctfassets.net`
* **Doppler**: npm `@dopplerhq/*` · PyPI `doppler-sdk` · env `DOPPLER_…` · Terraform `doppler` · GitHub Actions `dopplerhq/…` · files `doppler.ya?ml` · API hosts `api.doppler.com`
* **GitHub API**: npm `@octokit/*`, `octokit` · PyPI `pygithub`, `PyGithub` · env `GITHUB_(TOKEN|APP_ID|PRIVATE_KEY|WEBHOOK_SECRET|APP_PRIVATE_KEY)`, `GH_TOKEN` · API hosts `api.github.com`, `uploads.github.com`
* **Google Workspace**: env `GOOGLE_WORKSPACE_…` · API hosts `gmail.googleapis.com`, `sheets.googleapis.com`, `docs.googleapis.com`, `slides.googleapis.com`, `admin.googleapis.com`, `www.googleapis.com/drive`, `www.googleapis.com/calendar`, `www.googleapis.com/gmail`, `chat.googleapis.com`
* **Intercom**: npm `@intercom/*`, `react-use-intercom`, `intercom-client` · env `INTERCOM_…` · API hosts `.intercom.io`, `.intercom.com`
* **Jira**: npm `jira-client`, `jira.js`, `jira-connector` · PyPI `jira`, `atlassian-python-api` · env `JIRA_…` · GitHub Actions `atlassian/gajira…` · API hosts `.atlassian.net`
* **LaunchDarkly**: npm `launchdarkly-*`, `@launchdarkly/*` · PyPI `launchdarkly-server-sdk` · env `LAUNCHDARKLY_…` · API hosts `.launchdarkly.com`
* **Linear** ([connect](https://xerg.ai/docs/connect/linear.md)): npm `@linear/*` · env `LINEAR_…` · API hosts `api.linear.app`
* **Mapbox**: npm `mapbox-gl`, `@mapbox/*`, `react-map-gl` · env `MAPBOX_…` · API hosts `api.mapbox.com`
* **Mintlify**: npm `mintlify`, `mint`, `@mintlify/*` · env `MINTLIFY_…` · GitHub Actions `mintlify/…`
* **Notion**: npm `@notionhq/*` · PyPI `notion-client` · env `NOTION_…` · API hosts `api.notion.com`
* **npm**: env `NPM_(TOKEN|AUTH_TOKEN|PUBLISH_TOKEN)`, `NODE_AUTH_TOKEN` · API hosts `registry.npmjs.org`
* **Plain**: npm `@team-plain/*` · env `PLAIN_(API_KEY|WEBHOOK_SECRET|WORKSPACE_ID)` · API hosts `.plain.com`
* **Rebrandly**: env `REBRANDLY_…` · API hosts `api.rebrandly.com`
* **Sanity**: npm `@sanity/*`, `next-sanity`, `sanity` · env `SANITY_…` · API hosts `.sanity.io`
* **Short.io**: env `SHORT_?IO_…` · API hosts `api.short.io`, `api-v2.short.cm`
* **Statsig**: npm `statsig-*`, `@statsig/*` · env `STATSIG_…` · API hosts `.statsigapi.net`, `api.statsig.com`, `featuregates.org`
* **Tiingo**: PyPI `tiingo` · env `TIINGO_…` · API hosts `api.tiingo.com`

## CI/CD

* **CircleCI**: files `.circleci/config.ya?ml` · API hosts `circleci.com/api`
* **GitHub Actions**: files `.github/workflows/[^/]+.ya?ml`
* **GitLab CI**: files `.gitlab-ci.ya?ml`

## Infrastructure

* **Alchemy**: npm `alchemy-sdk`, `@alchemy/*` · env `ALCHEMY_…` · API hosts `.g.alchemy.com`, `.alchemyapi.io`
* **Docker Hub** ([connect](https://xerg.ai/docs/connect/docker-hub.md)): env `DOCKER_?HUB_…`, `DOCKER_(USERNAME|PASSWORD|TOKEN)` · GitHub Actions `docker/login-action…`, `docker/build-push-action…` · API hosts `hub.docker.com/v2`
* **HCP Terraform**: env `TF_API_TOKEN`, `TFC_…` · GitHub Actions `hashicorp/tfc-workflows…` · API hosts `app.terraform.io`
* **Kubernetes**: env `KUBE_?CONFIG` · Terraform `kubernetes`, `helm` · GitHub Actions `azure/k8s-…`, `azure/setup-kubectl…`, `azure/setup-helm…` · files `Chart.ya?ml`, `(k8s|kubernetes)/.+.ya?ml`, `kustomization.ya?ml`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.