Claude Prompt Library

30 Claude Prompts That Build Integrations

30 copy-paste prompts

Describe two apps you need to connect and Claude returns the glue: a verified webhook handler, an OAuth flow, a sync job, a notifier, or a precise integration spec. Prompts for webhooks, OAuth, ETL, notifications, payments, and CRM sync. Not "explain how APIs work."

In short: This page contains 30 copy-paste ready prompts, organized into 6 categories with a description and pro tip for each. The first 15 prompts are free instantly โ€” no signup needed. Hand-curated and tested by the AI Academy team.

By Louis Corneloup ยท Founder, Techpresso
Last updated ยทHand-curated & tested by the AI Academy team

Webhook Handlers

5 prompts

Stripe Webhook Handler (Signature-Verified)

1/30

You are a senior backend engineer who ships production-grade payment webhooks. <context> I need a complete, secure Stripe webhook endpoint delivered as one self-contained, ready-to-run file. It must verify signatures, be idempotent, and never trust the payload blindly. </context> <inputs> - Runtime and framework: [E.G. NODE + EXPRESS / NEXT.JS ROUTE / PYTHON FLASK] - Events I care about: [E.G. checkout.session.completed, invoice.paid, customer.subscription.deleted] - What each event should trigger: [E.G. GRANT ACCESS, MARK PAID, REVOKE] - Datastore for idempotency keys: [E.G. POSTGRES, REDIS] - Secret source: [E.G. STRIPE_WEBHOOK_SECRET env var] </inputs> <task> Write the full endpoint: read the raw request body, verify the Stripe-Signature header with the signing secret, parse the event, dedupe on event.id, then route each event type to a clearly named handler function with a TODO body describing the business action. Return 200 fast, do heavy work after acknowledging, and log unhandled event types without failing. </task> <constraints> - Raw body must reach the verifier unparsed (no JSON middleware before it). - Idempotent: reject or skip already-processed event ids. - Never 500 on an event you don't handle; return 200 and log. - Comment every non-obvious line; use env vars for all secrets. </constraints> <format> Return the complete handler as one code block, then a short note on how to register the endpoint and test it with the Stripe CLI. </format>

Produces a signature-verified, idempotent Stripe webhook endpoint with per-event routing, ready to use.

๐Ÿ’ก

Pro tip: Name the exact events you subscribe to in the Stripe dashboard so Claude only wires handlers you'll actually receive.

GitHub Webhook Receiver (HMAC-Verified)

2/30

You are a DevOps engineer who builds CI and automation webhooks. <context> I need a GitHub webhook receiver as one self-contained, ready-to-run file that verifies the HMAC signature and routes by event type. It automates a workflow when repo events fire. </context> <inputs> - Runtime and framework: [E.G. NODE + EXPRESS / PYTHON FASTAPI / SERVERLESS] - Events to handle: [E.G. push, pull_request, issues, release] - Action per event: [E.G. TRIGGER DEPLOY, POST TO SLACK, LABEL ISSUE] - Secret source: [E.G. GITHUB_WEBHOOK_SECRET env var] </inputs> <task> Write the endpoint: read the raw body, compute HMAC SHA-256 and compare against the X-Hub-Signature-256 header using a constant-time compare, reject mismatches with 401, then switch on the X-GitHub-Event header and dispatch to a named handler per event with a documented TODO action. Ignore ping events with a clean 200. </task> <constraints> - Constant-time signature comparison; reject invalid signatures before parsing. - Handle the initial ping event gracefully. - Respond 200 quickly; note where to offload long-running work. - Comment the verification logic; secrets from env only. </constraints> <format> Return the complete receiver as one code block, then a short note on configuring the webhook in repo settings and testing with a redelivery. </format>

Generates an HMAC-verified GitHub webhook receiver with per-event dispatch, ready to use.

๐Ÿ’ก

Pro tip: Tell Claude which single event matters most (e.g. release) and it will build the richest handler there and stub the rest.

Generic Inbound Webhook With Queue + Retry

3/30

You are a distributed-systems engineer who designs reliable ingestion endpoints. <context> I receive webhooks from a third party and need a resilient inbound endpoint delivered as one self-contained, ready-to-run file. It must accept fast, verify, dedupe, enqueue, and process with retries so a slow downstream never drops events. </context> <inputs> - Runtime and framework: [E.G. NODE + EXPRESS / PYTHON] - Provider and auth method: [E.G. SHARED SECRET HEADER, HMAC, BASIC AUTH] - Queue or store available: [E.G. REDIS, SQS, IN-MEMORY FALLBACK] - Downstream action: [WHAT PROCESSING EACH EVENT DOES] - Max retries and backoff: [E.G. 5 TRIES, EXPONENTIAL] </inputs> <task> Write the endpoint plus a worker: validate the auth header, dedupe on a provider event id, enqueue the raw payload, and return 202 immediately. Then a worker function pulls from the queue, processes with a try/catch, and on failure re-enqueues with exponential backoff up to the max, sending exhausted events to a dead-letter list. </task> <constraints> - Acknowledge within the endpoint; do real work in the worker. - Idempotent processing keyed on the event id. - Dead-letter path for permanently failing events; structured logs. - Comment the retry/backoff math; env vars for secrets. </constraints> <format> Return the endpoint and worker as one code block, then a short note on swapping the in-memory queue for a real broker. </format>

Builds a resilient inbound webhook endpoint with dedupe, queue, retry, and dead-letter handling, ready to use.

๐Ÿ’ก

Pro tip: Give Claude your real queue (Redis, SQS) so it wires the enqueue/dequeue calls instead of the in-memory fallback.

Shopify Webhook Verifier + Order Processor

4/30

You are an e-commerce backend engineer who integrates Shopify stores. <context> I need a Shopify webhook endpoint as one self-contained, ready-to-run file that verifies Shopify's HMAC header and processes order events into my system. </context> <inputs> - Runtime and framework: [E.G. NODE + EXPRESS / PYTHON] - Topics to handle: [E.G. orders/create, orders/paid, orders/cancelled, refunds/create] - What to do per topic: [E.G. CREATE INTERNAL ORDER, TRIGGER FULFILLMENT, UPDATE INVENTORY] - Datastore: [WHERE ORDERS ARE STORED] - Secret source: [SHOPIFY_WEBHOOK_SECRET env var] </inputs> <task> Write the endpoint: read the raw body, verify the base64 HMAC in X-Shopify-Hmac-Sha256 with a constant-time compare, capture the shop domain and topic headers, dedupe on the order id, then route each topic to a named handler that maps the Shopify order to your internal shape with a documented TODO. Return 200 on success and on unknown topics. </task> <constraints> - Verify HMAC on the raw body before parsing; reject bad signatures with 401. - Idempotent on order id; safe to receive the same webhook twice. - Include a clean field-mapping function from Shopify order to internal order. - Comment the mapping; secrets from env only. </constraints> <format> Return the complete endpoint as one code block, then a short note on registering webhooks via the Shopify Admin API and testing. </format>

Creates a Shopify HMAC-verified webhook endpoint that maps and processes order events, ready to use.

๐Ÿ’ก

Pro tip: List the exact internal fields your order table needs and Claude will build the Shopify-to-internal mapping around them.

Webhook Relay / Fan-Out Router

5/30

You are an integration engineer who builds event routers between systems. <context> I receive one inbound webhook and need to fan it out to several downstream targets, transformed per target. Deliver a self-contained, ready-to-run relay service that routes by rules and retries per destination. </context> <inputs> - Runtime and framework: [E.G. NODE + EXPRESS / PYTHON] - Inbound source and auth: [PROVIDER + HEADER/HMAC] - Downstream targets: [E.G. SLACK WEBHOOK, INTERNAL API, CRM ENDPOINT] - Routing rules: [WHICH EVENTS GO WHERE, ANY FILTERS] - Per-target transform: [HOW EACH PAYLOAD SHOULD LOOK] </inputs> <task> Write the relay: verify the inbound request, evaluate a declarative routing table (event type or field match -> list of targets), transform the payload for each matched target with a named mapper, and POST to each with independent per-target retry and timeout. Aggregate delivery results and return a summary. Failing one target must not block the others. </task> <constraints> - Declarative routing config at the top so I can add targets without touching logic. - Per-target isolation: independent retries, timeouts, and error capture. - Structured delivery log per target (status, attempts). - Comment the routing table format; secrets from env. </constraints> <format> Return the relay service as one code block, then a short note on adding a new downstream target in the config. </format>

Builds a webhook relay that verifies, transforms, and fans one event out to multiple targets with per-target retries, ready to use.

๐Ÿ’ก

Pro tip: Sketch your routing table in plain English first; Claude turns it into the declarative config it builds around.

XML tags are just the start. Learn the full Claude workflow.

A growing library of 300+ hands-on AI tutorials covering Claude, ChatGPT, and 50+ tools. New tutorials added every week.

Start 7-Day Free Trial

OAuth Connections

5 prompts

Google OAuth 2.0 Flow (Auth Code + Refresh)

6/30

You are a backend engineer who implements OAuth 2.0 flows securely. <context> I need to connect users' Google accounts with the authorization-code flow, delivered as one self-contained, ready-to-run module: the login redirect, the callback exchange, and token refresh. </context> <inputs> - Runtime and framework: [E.G. NODE + EXPRESS / PYTHON FLASK] - Scopes needed: [E.G. gmail.readonly, calendar.events] - Redirect URI: [YOUR CALLBACK URL] - Token storage: [E.G. POSTGRES, ENCRYPTED AT REST] - Credential source: [GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRET env vars] </inputs> <task> Write three endpoints/functions: a start route that builds the consent URL with state, scopes, access_type=offline and prompt=consent; a callback route that validates state, exchanges the code for tokens, and persists them per user; and a getValidAccessToken helper that transparently refreshes an expired access token using the refresh token and updates storage. </task> <constraints> - Generate and verify a CSRF state parameter on the callback. - Store refresh tokens encrypted; never log tokens. - Auto-refresh with a small expiry safety margin. - Comment the flow steps; credentials from env only. </constraints> <format> Return the complete module as one code block, then a short note on the Google Cloud console setup (consent screen, redirect URI, scopes). </format>

Generates a full Google OAuth authorization-code flow with state validation and silent token refresh, ready to use.

๐Ÿ’ก

Pro tip: State the exact scopes you need up front; over-scoping triggers Google's verification review and scares users at consent.

Slack App Install (OAuth) Flow

7/30

You are a Slack platform engineer who ships installable apps. <context> I'm building a Slack app that teams install into their workspace. Deliver a self-contained, ready-to-run OAuth install flow that stores each workspace's bot token so I can post as the app later. </context> <inputs> - Runtime and framework: [E.G. NODE + EXPRESS] - Bot scopes: [E.G. chat:write, channels:read, commands] - Redirect URL: [YOUR CALLBACK URL] - Storage: [WHERE PER-WORKSPACE TOKENS LIVE] - Credentials: [SLACK_CLIENT_ID / SLACK_CLIENT_SECRET / SLACK_STATE_SECRET env vars] </inputs> <task> Write the install route that redirects to Slack's OAuth v2 authorize URL with scopes and a signed state, and the callback route that verifies state, calls oauth.v2.access to exchange the code, and persists the returned team id, bot user id, and bot access token. Add a helper that fetches the stored token for a given team id for later API calls. </task> <constraints> - Signed, expiring state to prevent CSRF. - Store one token record per workspace (team id as key). - Handle the OAuth error querystring gracefully with a friendly page. - Comment the exchange; secrets from env only. </constraints> <format> Return the complete flow as one code block, then a short note on the Slack app config (redirect URL, scopes, Add to Slack button). </format>

Builds a Slack OAuth v2 install flow that stores per-workspace bot tokens for later API calls, ready to use.

๐Ÿ’ก

Pro tip: Ask Claude to also emit the exact 'Add to Slack' button URL so you can drop it straight onto your marketing page.

PKCE OAuth Flow for SPA / Mobile

8/30

You are a security-focused engineer who implements OAuth for public clients. <context> I have a single-page or mobile app with no secure backend secret, so I need the authorization-code flow with PKCE. Deliver a self-contained, ready-to-run client module. </context> <inputs> - Client platform: [E.G. REACT SPA / REACT NATIVE] - Identity provider and endpoints: [AUTHORIZE + TOKEN URLS] - Client id and redirect URI: [VALUES] - Scopes: [WHAT ACCESS IS NEEDED] </inputs> <task> Write the client flow: generate a cryptographically random code_verifier and its S256 code_challenge, build the authorize URL with the challenge and a state value, handle the redirect back by validating state and exchanging the code plus verifier at the token endpoint (no client secret), then store tokens securely and expose a refresh function. Include the base64url and SHA-256 helpers. </task> <constraints> - PKCE with S256; never embed a client secret in the client. - Store the verifier and state only until the callback completes. - Use secure storage appropriate to the platform; note the tradeoffs. - Comment the PKCE steps clearly. </constraints> <format> Return the complete client module as one code block, then a short note on why PKCE replaces the implicit flow and where tokens should live. </format>

Produces an OAuth PKCE flow for a public SPA or mobile client with secure token handling, ready to use.

๐Ÿ’ก

Pro tip: Name your identity provider so Claude fills in the exact authorize and token endpoints instead of placeholders.

Token Refresh + Encrypted Storage Service

9/30

You are a backend engineer who owns third-party credential storage. <context> I connect many users to several OAuth providers and need one reusable, self-contained token service that stores tokens encrypted and always hands back a valid access token, refreshing when needed. </context> <inputs> - Runtime and framework: [E.G. NODE / PYTHON] - Providers and their token endpoints: [LIST WITH REFRESH URLS] - Encryption key source: [E.G. TOKEN_ENC_KEY env var, KMS] - Datastore: [WHERE TOKEN RECORDS LIVE] </inputs> <task> Write a TokenStore with: saveTokens(userId, provider, tokens) that encrypts access and refresh tokens before persisting with an expiry timestamp; getValidAccessToken(userId, provider) that decrypts, checks expiry with a safety margin, refreshes via the provider's token endpoint if stale, re-persists, and returns the fresh access token; and a provider registry so adding a provider is config, not new code. </task> <constraints> - Authenticated symmetric encryption (e.g. AES-256-GCM) at rest; never log plaintext tokens. - Single refresh path guarded against concurrent double-refresh. - Provider registry keyed by name so new providers are declarative. - Comment the crypto and refresh logic; key from env/KMS only. </constraints> <format> Return the complete service as one code block, then a short note on rotating the encryption key without locking users out. </format>

Builds a reusable encrypted token store that transparently refreshes OAuth access tokens across providers, ready to use.

๐Ÿ’ก

Pro tip: Ask Claude to add a per-record key-version field now so future key rotation is a background re-encrypt, not an outage.

CRM OAuth Connector Spec (HubSpot / Salesforce)

10/30

You are a solutions architect who designs OAuth integrations for enterprise CRMs. <context> Before I write code, I need a precise, self-contained integration spec for connecting to a CRM via OAuth that a developer can implement without guessing. </context> <inputs> - CRM: [HUBSPOT / SALESFORCE / OTHER] - What my app needs to do: [E.G. READ CONTACTS, CREATE DEALS] - App type: [WEB APP WITH BACKEND / PUBLIC APP / MARKETPLACE LISTING] - Multi-tenant?: [ONE ACCOUNT / MANY CUSTOMER ACCOUNTS] - Data residency or compliance notes: [ANY CONSTRAINTS] </inputs> <task> Produce the spec as a structured document: required scopes with justification; the exact authorize and token endpoints; the redirect and install flow step by step; token storage and refresh strategy for multi-tenant; the specific API calls for each capability with method, path, and key fields; rate-limit and pagination handling; error and reconnect handling when a token is revoked; and a testing checklist. </task> <constraints> - Cite the real endpoints, scope names, and rate limits for the named CRM. - Cover multi-tenant token isolation explicitly. - Be implementation-ready: no vague "handle errors" without saying how. - Use tables where they make the spec clearer. </constraints> <format> Return the spec as a structured document with headed sections and tables, then a short note on the riskiest part to prototype first. </format>

Delivers an implementation-ready OAuth integration spec for a named CRM covering scopes, flow, storage, and API calls, ready to use.

๐Ÿ’ก

Pro tip: Tell Claude whether you'll list on the CRM's marketplace; that changes required scopes, review steps, and the install flow.

Data Sync & ETL

5 prompts

Airtable to Postgres One-Way Sync

11/30

You are a data engineer who builds reliable sync jobs. <context> I need a scheduled one-way sync that mirrors an Airtable table into a Postgres table, delivered as one self-contained, ready-to-run script. </context> <inputs> - Airtable base id, table name, and fields: [VALUES] - Target Postgres table and columns: [SCHEMA] - Field-to-column mapping: [WHICH AIRTABLE FIELD -> WHICH COLUMN] - Unique key for upsert: [E.G. AIRTABLE RECORD ID] - Runtime: [E.G. NODE / PYTHON] </inputs> <task> Write the script: page through all Airtable records via the API, map each record to a Postgres row, and upsert on the unique key so re-runs are safe. Detect and soft-delete rows whose Airtable record no longer exists. Wrap writes in a transaction, log a summary of inserted/updated/deleted counts, and exit non-zero on failure so a scheduler can alert. </task> <constraints> - Idempotent upserts; safe to run repeatedly. - Handle Airtable pagination and rate limits with backoff. - Transactional writes; clear counts in the log. - Comment the mapping; API keys and DB URL from env only. </constraints> <format> Return the complete script as one code block, then a short note on scheduling it (cron/GitHub Actions) and handling schema drift. </format>

Generates an idempotent Airtable-to-Postgres sync script with upserts, soft-deletes, and run summary, ready to use.

๐Ÿ’ก

Pro tip: Give Claude the exact column types so it casts Airtable values (dates, checkboxes, linked records) correctly on the way in.

API-to-Warehouse ETL Pipeline

12/30

You are a data engineer who builds extract-transform-load pipelines. <context> I need to pull data from a REST API, clean it, and load it into a warehouse table, delivered as one self-contained, ready-to-run Python script. </context> <inputs> - Source API endpoint and auth: [URL + AUTH METHOD] - Pagination style: [OFFSET / CURSOR / PAGE NUMBER] - Fields to keep and their target types: [LIST] - Warehouse target: [E.G. BIGQUERY, SNOWFLAKE, POSTGRES] and table - Transform rules: [CLEANING, DEDUPE, DERIVED FIELDS] </inputs> <task> Write the pipeline in three clear stages: extract (page through the API with retries and rate-limit backoff), transform (normalize types, apply cleaning and derived-field rules, drop duplicates), and load (batch upsert into the warehouse table with a run timestamp). Add a main function, structured logging per stage, and a row-count reconciliation at the end. </task> <constraints> - Separate extract/transform/load functions; each testable in isolation. - Retries with backoff on the source; batched loads to the warehouse. - Type-safe transforms with explicit null handling. - Comment each stage; all credentials from env. </constraints> <format> Return the complete pipeline as one code block, then a short note on scheduling and making the load incremental later. </format>

Builds a staged extract-transform-load pipeline from a REST API into a warehouse with reconciliation, ready to use.

๐Ÿ’ก

Pro tip: Paste one sample API response; Claude will shape the transform to real field names instead of assuming a schema.

Incremental Sync With Cursor / Watermark

13/30

You are a data engineer who designs efficient incremental syncs. <context> My dataset is too large to full-sync every run. I need an incremental sync that only pulls records changed since the last run, delivered as one self-contained, ready-to-run script. </context> <inputs> - Source and how it exposes change: [E.G. updated_at FIELD / CHANGE CURSOR / WEBHOOK CATCH-UP] - Target store: [WHERE DATA LANDS] - Where to persist the watermark: [E.G. A STATE TABLE OR FILE] - Unique key for upsert: [FIELD] - Runtime: [NODE / PYTHON] </inputs> <task> Write the script: read the last saved watermark (default to a safe backfill start on first run), query the source for records changed after it (with a small overlap window to avoid boundary gaps), upsert them into the target by unique key, then advance and persist the watermark only after a successful load. Handle the first-run backfill and log the window and row counts. </task> <constraints> - Advance the watermark only on confirmed success (no data loss on crash). - Overlap window plus idempotent upsert to tolerate clock skew. - Explicit first-run backfill behavior. - Comment the watermark logic; credentials from env. </constraints> <format> Return the complete script as one code block, then a short note on picking the overlap window and recovering from a bad watermark. </format>

Produces an incremental sync script with watermark persistence, overlap window, and safe first-run backfill, ready to use.

๐Ÿ’ก

Pro tip: Tell Claude whether your source clock is trustworthy; a jittery updated_at needs a wider overlap window to avoid gaps.

Two-Way Sync With Conflict Resolution

14/30

You are a systems engineer who builds bidirectional data sync. <context> Two systems both let users edit the same records and I need them kept in sync both ways. Deliver a self-contained, ready-to-run sync engine with an explicit conflict-resolution policy. </context> <inputs> - System A and B, and the shared entity: [E.G. CONTACTS BETWEEN CRM AND APP] - Fields to sync and direction rules: [WHICH FIELDS, WHICH WIN] - Change detection per side: [TIMESTAMPS / VERSION / WEBHOOK] - Conflict policy: [LAST-WRITE-WINS / SYSTEM-A-WINS / FIELD-LEVEL MERGE] - Mapping store for cross-ids: [WHERE A-ID <-> B-ID LIVES] </inputs> <task> Write the engine: maintain an id-mapping table linking records across systems, pull changes from both sides since the last run, and reconcile. For each changed record, if only one side changed, propagate; if both changed, apply the chosen conflict policy (with field-level merge where specified) and log the resolution. Prevent echo loops by tracking sync origin, and upsert missing records so new items flow both ways. </task> <constraints> - Explicit id-mapping to avoid duplicate creation. - Echo-loop prevention so a synced write doesn't re-trigger a sync. - Deterministic, logged conflict resolution per record. - Comment the reconciliation; credentials from env. </constraints> <format> Return the complete engine as one code block, then a short note on why loop prevention matters and how to audit conflicts. </format>

Builds a bidirectional sync engine with id-mapping, conflict resolution, and echo-loop prevention, ready to use.

๐Ÿ’ก

Pro tip: Decide your conflict policy per field, not globally; email might be last-write-wins while status is CRM-wins.

Google Sheets to Database Sync

15/30

You are an automation engineer who bridges spreadsheets and databases. <context> A team edits data in a Google Sheet and I need it reliably synced into a database table, delivered as one self-contained, ready-to-run script. </context> <inputs> - Sheet id, tab name, and header row: [VALUES] - Column-to-field mapping and types: [MAPPING] - Target table and unique key: [SCHEMA + KEY] - Auth method: [SERVICE ACCOUNT / OAUTH] - Runtime: [NODE / PYTHON] </inputs> <task> Write the script: read the sheet range via the Sheets API, treat the header row as the schema, validate and coerce each row's types, skip or report invalid rows without aborting the whole run, and upsert valid rows into the database by the unique key. Report a summary of synced, skipped, and invalid rows, and optionally write a status column back to the sheet. </task> <constraints> - Robust type coercion and per-row validation (bad rows don't kill the run). - Idempotent upsert on the unique key. - Handle empty cells and trailing blank rows. - Comment the validation; credentials from env or a service-account file path. </constraints> <format> Return the complete script as one code block, then a short note on granting the service account access and scheduling the sync. </format>

Generates a Google Sheets-to-database sync with per-row validation, upserts, and a status report, ready to use.

๐Ÿ’ก

Pro tip: Ask Claude to write a status/error column back to the sheet so editors see exactly which rows failed and why.

Notifications (Slack / Email / SMS)

5 prompts

Slack Notifier With Block Kit

16/30

You are a developer-experience engineer who builds clean Slack notifications. <context> I want to post rich, formatted alerts to Slack from my app, delivered as one self-contained, ready-to-run notifier module using an incoming webhook or the Web API. </context> <inputs> - Delivery method: [INCOMING WEBHOOK URL / BOT TOKEN + CHANNEL] - Notification types I need: [E.G. NEW SIGNUP, ERROR ALERT, DAILY SUMMARY] - Key fields per type: [WHAT DATA EACH MESSAGE SHOWS] - Runtime: [NODE / PYTHON] </inputs> <task> Write a notifier that exposes one function per notification type, each building a Block Kit message (header, section fields, context, and an action button linking back to the relevant record) and sending it with retry on transient failures. Include a shared send() helper that handles the HTTP call, rate-limit 429 backoff, and error logging. Make messages skimmable with emoji-coded severity. </task> <constraints> - Use Block Kit blocks, not plain text, for structured messages. - Retry on 429/5xx with backoff; never throw into the caller's hot path. - Truncate long fields safely to Slack's limits. - Comment the block structure; webhook/token from env only. </constraints> <format> Return the complete notifier as one code block, then a short note on customizing blocks and testing with a sample payload. </format>

Builds a Slack notifier with typed Block Kit messages, retry, and rate-limit handling, ready to use.

๐Ÿ’ก

Pro tip: Give Claude the URL pattern for your records so every alert includes a deep-link button straight to the item.

Transactional Email Sender (Resend / SendGrid)

17/30

You are a backend engineer who ships reliable transactional email. <context> I need to send templated transactional emails (welcome, receipt, password reset) from my app, delivered as one self-contained, ready-to-run email service. </context> <inputs> - Provider: [RESEND / SENDGRID / POSTMARK] - From address and reply-to: [VALUES] - Email types and their variables: [E.G. WELCOME {name}, RECEIPT {amount, items}] - Runtime: [NODE / PYTHON] </inputs> <task> Write an email service with a typed send function per email type, each rendering an HTML template plus a plain-text fallback from the given variables, and a shared sendEmail() that calls the provider API with retry on transient failures and returns a message id. Include the templates inline, escape user-supplied values to prevent injection, and log delivery attempts with the recipient masked. </task> <constraints> - Always include a plain-text alternative alongside HTML. - Escape all interpolated user values in the HTML. - Retry on transient provider errors; surface hard failures to the caller. - Comment the templating; API key and from-address from env. </constraints> <format> Return the complete service as one code block, then a short note on domain/SPF/DKIM setup so mail lands in the inbox. </format>

Produces a transactional email service with typed templates, text fallbacks, escaping, and retries, ready to use.

๐Ÿ’ก

Pro tip: List the exact variables each email uses; Claude builds strict template functions so a missing field fails loudly, not silently.

SMS Sender via Twilio

18/30

You are a communications engineer who integrates SMS. <context> I need to send SMS alerts and codes from my app via Twilio, delivered as one self-contained, ready-to-run module that handles formatting, retries, and delivery status. </context> <inputs> - Twilio from number or messaging service SID: [VALUE] - Message types: [E.G. OTP CODE, DELIVERY UPDATE, ALERT] - Default country for number formatting: [E.G. US] - Runtime: [NODE / PYTHON] </inputs> <task> Write the module: a sendSms(to, type, vars) that normalizes the destination to E.164 (rejecting invalid numbers), renders the message body per type within the segment limit, sends via the Twilio API with retry on transient errors, and returns the message SID and status. Add an optional status-callback handler stub to record delivered/failed updates. </task> <constraints> - E.164 normalization and validation before sending. - Keep bodies within one segment where possible; warn if multi-segment. - Retry on transient errors; never retry a 400 invalid-number. - Comment the formatting; account SID and auth token from env. </constraints> <format> Return the complete module as one code block, then a short note on opt-in compliance and wiring the delivery-status webhook. </format>

Generates a Twilio SMS module with E.164 validation, per-type messages, retries, and a status-callback stub, ready to use.

๐Ÿ’ก

Pro tip: Tell Claude your default country so it normalizes local numbers to E.164 correctly instead of rejecting valid ones.

Multi-Channel Notification Dispatcher

19/30

You are a platform engineer who builds notification infrastructure. <context> I want to send a notification once and have it routed to each recipient's preferred channels (Slack, email, SMS). Deliver a self-contained, ready-to-run dispatcher that fans out by preference and fails gracefully per channel. </context> <inputs> - Channels available and their send functions: [SLACK / EMAIL / SMS ADAPTERS] - Where per-user channel preferences live: [STORE OR OBJECT SHAPE] - Notification types and default channels: [E.G. SECURITY -> ALL, DIGEST -> EMAIL] - Runtime: [NODE / PYTHON] </inputs> <task> Write a dispatcher with a notify(userId, type, payload) that looks up the user's channel preferences, resolves which channels apply for the type (respecting overrides and a do-not-disturb window), renders the payload per channel via a common adapter interface, sends to each channel independently, and returns a per-channel result. Define the adapter interface so new channels plug in without touching the dispatcher. </task> <constraints> - Common adapter interface; channels are pluggable and isolated. - One channel failing must not block the others. - Respect user preferences and quiet hours. - Comment the routing; secrets from env. </constraints> <format> Return the complete dispatcher and adapter interface as one code block, then a short note on adding a new channel adapter. </format>

Builds a preference-aware multi-channel notification dispatcher with a pluggable adapter interface, ready to use.

๐Ÿ’ก

Pro tip: Define the adapter interface first with Claude; every future channel (push, WhatsApp) then drops in without touching routing.

Threshold Monitor to Alert

20/30

You are a reliability engineer who builds lightweight alerting. <context> I want to watch a metric or query and fire a notification when it crosses a threshold, without alert spam. Deliver a self-contained, ready-to-run monitor. </context> <inputs> - What to check and how: [E.G. A SQL COUNT, AN API HEALTH FIELD, ERROR RATE] - Threshold and comparison: [E.G. > 100, < 99.9%] - Alert channel and target: [SLACK / EMAIL + WHERE] - Check interval and cooldown: [E.G. EVERY 5 MIN, RE-ALERT AFTER 30 MIN] - Runtime: [NODE / PYTHON] </inputs> <task> Write the monitor: run the check, compare against the threshold, and manage alert state so it fires once on breach, stays quiet while still breached (until the cooldown elapses), and sends a recovery notification when the value returns to normal. Persist state between runs, include the current value and threshold in the message, and log every evaluation. </task> <constraints> - Stateful de-duplication: alert on transition, not every run. - Recovery/resolved notification when back to normal. - Cooldown to cap re-alert frequency. - Comment the state machine; secrets and endpoints from env. </constraints> <format> Return the complete monitor as one code block, then a short note on tuning the threshold and cooldown to avoid noise. </format>

Produces a stateful threshold monitor that alerts on breach and recovery with cooldown de-duplication, ready to use.

๐Ÿ’ก

Pro tip: Ask Claude to include a recovery message; teams trust an alert channel far more when it also says when things are fixed.

E-commerce & Payments

5 prompts

Stripe Checkout + Fulfillment Webhook

21/30

You are a payments engineer who ships end-to-end Stripe checkout. <context> I need the full purchase loop: create a Checkout Session and fulfill the order when payment confirms. Deliver a self-contained, ready-to-run backend with both the session-creation route and the fulfillment webhook. </context> <inputs> - Runtime and framework: [E.G. NODE + EXPRESS / NEXT.JS] - What's being sold: [PRODUCTS/PRICES OR DYNAMIC LINE ITEMS] - Success and cancel URLs: [VALUES] - Fulfillment action: [WHAT HAPPENS ON PAID, E.G. GRANT ACCESS, CREATE ORDER] - Datastore for orders and idempotency: [STORE] </inputs> <task> Write two parts: a create-checkout-session route that builds the session with line items, metadata linking to my internal order, and the URLs; and a webhook that verifies the signature, handles checkout.session.completed (and payment_intent.succeeded), reads the metadata, marks the order paid, and runs fulfillment exactly once via idempotency on the event id. Return 200 fast and log unhandled events. </task> <constraints> - Verify webhook signatures on the raw body; fulfill idempotently. - Never fulfill from the client success redirect alone; only from the webhook. - Store order state transitions; handle the same event arriving twice. - Comment the flow; keys from env only. </constraints> <format> Return both routes as one code block, then a short note on testing the full loop with the Stripe CLI and test cards. </format>

Builds the full Stripe Checkout loop: session creation plus a signature-verified, idempotent fulfillment webhook, ready to use.

๐Ÿ’ก

Pro tip: Put your internal order id in session metadata; the webhook reads it back so fulfillment maps cleanly to your records.

Stripe Subscription Lifecycle Handler

22/30

You are a billing engineer who manages SaaS subscription state. <context> I need my app's access to follow Stripe subscription status. Deliver a self-contained, ready-to-run webhook that keeps a user's plan and access in sync across the subscription lifecycle. </context> <inputs> - Runtime and framework: [E.G. NODE + EXPRESS] - Plans and their entitlements: [PRICE IDS -> WHAT THEY UNLOCK] - How users map to Stripe customers: [MAPPING] - Datastore: [WHERE SUBSCRIPTION STATE LIVES] </inputs> <task> Write the webhook handling customer.subscription.created/updated/deleted, invoice.paid, and invoice.payment_failed: verify the signature, resolve the internal user from the customer id, and update plan, status (active, past_due, canceled), current-period-end, and entitlements accordingly. Grant access on active/paid, flag past_due with a grace window, and revoke on canceled or after grace. Keep it idempotent on event id. </task> <constraints> - Drive access purely from subscription status, not from client calls. - Handle past_due with a configurable grace period before revoking. - Idempotent updates; log every state transition. - Comment the state mapping; keys from env only. </constraints> <format> Return the complete handler as one code block, then a short note on testing lifecycle events with the Stripe CLI and clocks. </format>

Generates a Stripe subscription webhook that syncs plan, status, and entitlements across the lifecycle with a grace window, ready to use.

๐Ÿ’ก

Pro tip: Map each price id to its entitlements in a config block; Claude drives access off that table so new plans are one-line adds.

PayPal Order Capture Integration

23/30

You are a payments engineer integrating PayPal Orders v2. <context> I need server-side PayPal payments: create an order and capture it after buyer approval. Deliver a self-contained, ready-to-run backend with the create and capture routes plus token handling. </context> <inputs> - Runtime and framework: [E.G. NODE + EXPRESS] - Environment: [SANDBOX / LIVE] - Order amount source: [FIXED / FROM CART] - Post-capture action: [WHAT HAPPENS ON SUCCESS] - Credentials: [PAYPAL_CLIENT_ID / PAYPAL_SECRET env vars] </inputs> <task> Write the backend: a helper that fetches and caches an OAuth access token from PayPal; a create-order route that builds an Orders v2 order with the amount and returns the order id; and a capture-order route that captures by id, verifies the completed status, runs the post-capture action idempotently, and handles the already-captured and declined cases. Use the correct base URL per environment. </task> <constraints> - Cache and refresh the access token; don't fetch one per request. - Verify capture status server-side before fulfilling; never trust the client. - Idempotent fulfillment; handle duplicate capture attempts. - Comment the flow; credentials and base URL from env. </constraints> <format> Return both routes and the token helper as one code block, then a short note on sandbox testing and going live. </format>

Builds a server-side PayPal Orders v2 integration with token caching, create/capture routes, and safe fulfillment, ready to use.

๐Ÿ’ก

Pro tip: Confirm capture status on the server before granting anything; the client approval alone is not proof of payment.

Shopify Order to Fulfillment + Inventory Sync

24/30

You are an e-commerce integration engineer. <context> When a Shopify order is paid, I need to push it to my fulfillment system and decrement inventory in another system. Deliver a self-contained, ready-to-run integration triggered by the paid order. </context> <inputs> - Trigger: [SHOPIFY orders/paid WEBHOOK PAYLOAD SHAPE] - Fulfillment system API: [ENDPOINT + AUTH + REQUIRED FIELDS] - Inventory system API: [ENDPOINT + AUTH + SKU FIELD] - SKU mapping: [SHOPIFY VARIANT -> INTERNAL SKU] - Runtime: [NODE / PYTHON] </inputs> <task> Write the handler: map the Shopify order line items to internal SKUs, create a fulfillment request with shipping address and items, and decrement inventory per SKU. Make each downstream call retryable and idempotent (keyed on the Shopify order id) so a replayed webhook doesn't double-fulfill or double-decrement. Aggregate results and, on partial failure, report exactly which step failed for manual follow-up. </task> <constraints> - Idempotent per order id across both downstream systems. - SKU mapping with a clear error if a variant is unmapped. - Partial-failure reporting; don't silently drop the inventory step. - Comment the mapping; credentials from env. </constraints> <format> Return the complete handler as one code block, then a short note on reconciling inventory if the two systems drift. </format>

Produces a Shopify paid-order handler that creates fulfillment and decrements inventory idempotently with partial-failure reporting, ready to use.

๐Ÿ’ก

Pro tip: Ask Claude to fail loudly on an unmapped SKU; a silent skip there is how inventory quietly drifts out of sync.

Refund & Dispute Automation Spec

25/30

You are a payments operations architect. <context> I want to automate handling of refunds and Stripe disputes/chargebacks end to end. Before coding, I need a precise, self-contained automation spec a developer can implement without guessing. </context> <inputs> - Payment provider: [STRIPE / OTHER] - Refund policy rules: [ELIGIBILITY, WINDOW, PARTIAL RULES] - Systems to update on refund/dispute: [E.G. ORDERS DB, CRM, MAILING LIST, ENTITLEMENTS] - Who gets notified: [TEAM CHANNELS] - Evidence sources for disputes: [WHAT PROVES A LEGITIMATE CHARGE] </inputs> <task> Produce the spec: the trigger events (refund requested, charge.dispute.created, dispute.closed); a decision tree classifying each case as auto-refund, defend, or manual review with the exact criteria; the ordered side effects per outcome (revoke access, update order, clean up mailing lists, notify) with the specific API calls; the dispute-evidence bundle to assemble and submit; idempotency and audit-log requirements; and edge cases (partial refund, already refunded, dispute after refund). </task> <constraints> - Every branch names the concrete API call and system update, not "handle it". - Idempotent and fully audit-logged actions. - Cover the tricky ordering (refund vs dispute) explicitly. - Use tables/decision-tree formatting for clarity. </constraints> <format> Return the spec as a structured document with a decision tree and side-effect tables, then a short note on which branch to automate first. </format>

Delivers an implementation-ready refund and dispute automation spec with a decision tree and per-outcome side effects, ready to use.

๐Ÿ’ก

Pro tip: List every system that must be cleaned up on a refund; the miss that causes churn is usually a stale mailing-list or entitlement.

Most people use 10% of Claude. Tutorials unlock the rest.

AI Academy: 300+ hands-on tutorials on Claude, ChatGPT, Midjourney, and 50+ AI tools. New tutorials added every week.

Start Your Free Trial

CRM & Marketing Sync

5 prompts

Form Submission to HubSpot Contact

26/30

You are an integration engineer who connects marketing forms to CRMs. <context> When someone submits my website form, I want a HubSpot contact created or updated and the right lifecycle stage set. Deliver a self-contained, ready-to-run endpoint. </context> <inputs> - Runtime and framework: [E.G. NODE + EXPRESS / SERVERLESS] - Form fields: [NAME, EMAIL, COMPANY, MESSAGE, UTM PARAMS, ETC] - HubSpot property mapping: [FORM FIELD -> HUBSPOT PROPERTY] - Dedupe key: [EMAIL] - Extra actions: [E.G. ASSOCIATE WITH A COMPANY, SET LIFECYCLE STAGE, ADD TO A LIST] </inputs> <task> Write the endpoint: validate and normalize the submission (trim, lowercase email, validate format), map fields to HubSpot properties including UTM/source, then upsert the contact by email via the HubSpot API (create if new, update if existing) and apply the extra actions. Return a clear success/error response, retry transient failures, and never lose a submission on a downstream hiccup (queue or log for replay). </task> <constraints> - Upsert by email; don't create duplicate contacts. - Validate input server-side; capture UTM/source attribution. - Retry transient CRM errors; log failed submissions for replay. - Comment the mapping; HubSpot token from env only. </constraints> <format> Return the complete endpoint as one code block, then a short note on capturing UTM params on the front end and wiring the form to this URL. </format>

Builds a form-to-HubSpot endpoint that validates, maps, and upserts contacts by email with attribution, ready to use.

๐Ÿ’ก

Pro tip: Pass UTM params from the landing page into the form's hidden fields so Claude's mapping stamps real source data on each contact.

Salesforce Lead Upsert Integration

27/30

You are a Salesforce integration engineer. <context> I need to push leads into Salesforce from my app, upserting on an external id so re-sends don't duplicate. Deliver a self-contained, ready-to-run module. </context> <inputs> - Auth method: [OAUTH / CONNECTED APP + JWT] - Object and fields: [LEAD OR CONTACT, FIELD LIST] - External id field for upsert: [E.G. External_Id__c] - Extra logic: [E.G. ASSIGN OWNER, SET LEAD SOURCE, TRIGGER ASSIGNMENT RULE] - Runtime: [NODE / PYTHON] </inputs> <task> Write the module: obtain and cache an access token, then a upsertLead(record) that maps my fields to Salesforce API names and PATCHes to the sObject upsert endpoint keyed on the external id (create-or-update in one call), setting lead source and owner as specified. Handle field-validation errors from Salesforce by surfacing the field-level messages, respect API limits with backoff, and refresh the token on 401. </task> <constraints> - Upsert by external id (single call, no duplicates). - Surface Salesforce field-level validation errors clearly. - Token caching with refresh on expiry; backoff on API limits. - Comment the field mapping; credentials from env. </constraints> <format> Return the complete module as one code block, then a short note on creating the external-id field and the connected app. </format>

Generates a Salesforce lead upsert module keyed on an external id with token caching and error surfacing, ready to use.

๐Ÿ’ก

Pro tip: Create a dedicated External_Id__c field first; upserting on it is what makes re-runs safe instead of duplicating leads.

Email List Sync (Mailchimp / MailerLite)

28/30

You are a marketing-automation engineer. <context> I need my app's users kept in sync with an email marketing audience, including tags and subscription status. Deliver a self-contained, ready-to-run sync module. </context> <inputs> - Provider and audience/list id: [MAILCHIMP / MAILERLITE + LIST ID] - What to sync: [EMAIL, MERGE FIELDS, TAGS, STATUS] - Status mapping: [APP STATE -> SUBSCRIBED / UNSUBSCRIBED / CLEANED] - Trigger: [ON USER CHANGE / SCHEDULED BATCH] - Runtime: [NODE / PYTHON] </inputs> <task> Write the module: an upsertSubscriber(user) that maps user data to merge fields and tags and upserts the member (by the email hash for Mailchimp or by email for MailerLite), setting the correct subscription status, plus addTags/removeTags helpers. Respect unsubscribes as the source of truth (never resubscribe someone who opted out), batch large syncs within rate limits, and report per-record results. </task> <constraints> - Never override an explicit unsubscribe/opt-out. - Idempotent upsert by the provider's member key. - Batch and backoff to respect provider rate limits. - Comment the mapping; API key from env only. </constraints> <format> Return the complete module as one code block, then a short note on compliance (consent, unsubscribe honoring) and scheduling the batch sync. </format>

Produces an email-list sync module that upserts subscribers with tags and honors opt-outs, ready to use.

๐Ÿ’ก

Pro tip: Tell Claude to treat provider unsubscribes as the source of truth; re-subscribing opted-out users is a fast way to get flagged.

Lead Enrichment + CRM Routing

29/30

You are a revenue-operations engineer who automates lead handling. <context> When a new lead arrives, I want it enriched with firmographic data and routed to the right owner and pipeline before it hits the CRM. Deliver a self-contained, ready-to-run pipeline. </context> <inputs> - Lead source and fields: [WHERE LEADS COME FROM] - Enrichment API: [ENDPOINT + AUTH + FIELDS RETURNED] - Routing rules: [E.G. BY COMPANY SIZE, REGION, INDUSTRY -> OWNER/PIPELINE] - CRM target: [WHERE THE ENRICHED LEAD LANDS] - Runtime: [NODE / PYTHON] </inputs> <task> Write the pipeline: normalize the incoming lead, call the enrichment API (with a timeout and graceful fallback if it fails so the lead is never lost), merge enrichment fields, evaluate a declarative routing table to assign owner and pipeline, then upsert into the CRM with the enriched data and assignment. Log the routing decision and flag low-confidence enrichment for review. </task> <constraints> - Enrichment failure must not drop the lead (fallback to unenriched routing). - Declarative routing rules editable without touching core logic. - Idempotent CRM upsert; audit the routing decision. - Comment the rules; API keys from env only. </constraints> <format> Return the complete pipeline as one code block, then a short note on tuning routing rules and handling enrichment gaps. </format>

Builds a lead enrichment and routing pipeline with graceful fallback and declarative assignment rules, ready to use.

๐Ÿ’ก

Pro tip: Always give enrichment a fallback path; a slow or down enrichment API should never be the reason a hot lead gets lost.

Event Tracking Forwarder (Segment-Style)

30/30

You are an analytics engineer who builds an event pipeline. <context> I want one internal track() call that forwards events to several marketing and analytics destinations with per-destination formatting. Deliver a self-contained, ready-to-run forwarder. </context> <inputs> - Event types and properties: [E.G. signup, purchase, feature_used + PROPS] - Destinations and their APIs: [E.G. GA4, A CRM, A WEBHOOK, A WAREHOUSE] - Identity fields: [USER ID, ANONYMOUS ID, EMAIL] - Which events go to which destination: [ROUTING] - Runtime: [NODE / PYTHON] </inputs> <task> Write the forwarder: a track(event, properties, identity) that validates the event against a lightweight schema, then for each destination that subscribes to the event, maps to that destination's payload shape via an adapter and sends it, with per-destination retry and independent failure isolation. Buffer/queue on failure for replay, and expose an identify() for user traits. Define the adapter interface so new destinations are pluggable. </task> <constraints> - Lightweight event-schema validation before forwarding. - Per-destination adapters with isolated retry and failure handling. - Buffer failed sends for replay; don't lose events. - Comment the adapter contract; credentials from env. </constraints> <format> Return the complete forwarder and adapter interface as one code block, then a short note on adding a destination and versioning event schemas. </format>

Generates a Segment-style event forwarder that validates and fans events out to pluggable destination adapters, ready to use.

๐Ÿ’ก

Pro tip: Version your event schema from day one; Claude can add a schema version field so old and new event shapes coexist safely.

Frequently Asked Questions

It writes real, runnable code. Each prompt asks for one self-contained file or module you can drop into your stack: a signature-verified webhook handler, an OAuth flow, a sync job, or a notifier. For enterprise CRM and payments cases the prompt asks for a precise, implementation-ready spec instead, so a developer can build it without guessing.
Fill in every bracketed placeholder: your runtime and framework, the exact events or fields, your datastore, and where secrets live. The more concrete your inputs, the less Claude has to assume. Pasting one real sample payload or API response is the single biggest upgrade to the output's accuracy.
Every prompt tells Claude to read secrets from environment variables, never hardcode them, and never log tokens. You paste your config values as placeholders, not live keys. Always review generated code and rotate any credential that ends up in a chat before shipping to production.
Yes. The prompts explicitly require signature verification, idempotency keys, retries with backoff, and graceful per-target failure isolation, because those are what separate a demo from a production integration. Webhook prompts dedupe on event id and payment prompts fulfill exactly once.
The examples name Stripe, PayPal, Shopify, Slack, Twilio, Google, HubSpot, Salesforce, Mailchimp, and MailerLite, but every prompt is parameterized. Swap the provider and endpoints in the inputs and Claude adapts the same battle-tested structure to whatever two apps you need to connect.

Prompts are the starting line. Tutorials are the finish.

A growing library of 300+ hands-on tutorials on ChatGPT, Claude, Midjourney, and 50+ AI tools. New tutorials added every week.

7-day free trial. Cancel anytime.