인터페이스는 현지화되어 있으며, Skill 소개와 설명 문서는 선택한 언어로 AI가 자동 번역합니다. 코드·명령어·경로·전문 용어는 원문을 유지하며 원작자 문서가 우선합니다.
Skills 둘러보기
배포 및 운영 · SKILL.md

klaviyo-deploy-integration

klaviyo-deploy-integration

Deploy Klaviyo integrations to Vercel, Fly.io, and Cloud Run platforms. Use when deploying Klaviyo-powered applications to production, configuring platform-specific secrets, or setting up deployment pipelines. Trigger with phrases like "deploy klaviyo", "klaviyo Vercel", "klaviyo production deploy", "klaviyo Cloud Run", "klaviyo Fly.io".

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill 문서

GitHub

name: klaviyo-deploy-integration description: 'Deploy Klaviyo integrations to Vercel, Fly.io, and Cloud Run platforms.

Use when deploying Klaviyo-powered applications to production,

configuring platform-specific secrets, or setting up deployment pipelines.

Trigger with phrases like "deploy klaviyo", "klaviyo Vercel",

"klaviyo production deploy", "klaviyo Cloud Run", "klaviyo Fly.io".

' allowed-tools: Read, Write, Edit, Bash(vercel:), Bash(fly:), Bash(gcloud:*) version: 1.7.0 license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags:

  • saas
  • klaviyo
  • email-marketing
  • cdp compatibility: Designed for Claude Code

Klaviyo Deploy Integration

Overview

Deploy Klaviyo-powered applications to Vercel, Fly.io, and Google Cloud Run with proper secrets management and health checks. Every platform follows the same shape — store the private key + webhook secret, wire a config file, deploy, verify. The lean skeleton lives here; full per-platform recipes live in references/platform-deployments.md.

Prerequisites

  • Klaviyo production API key (pk_*)
  • Platform CLI installed (vercel, fly, or gcloud)
  • Application tested with klaviyo-api SDK
  • klaviyo-prod-checklist completed

Instructions

The workflow is identical across platforms; only the CLI verbs change. Read the target platform's section in references/platform-deployments.md, then:

  1. Store secrets — inject KLAVIYO_PRIVATE_KEY and KLAVIYO_WEBHOOK_SIGNING_SECRET via the platform's secret store (vercel env add, fly secrets set, or gcloud secrets create). Never commit these to the repo.
  2. Write the platform config — use Write/Edit to create vercel.json, fly.toml, or a Dockerfile that binds the secrets and exposes a health path. See the reference for the exact file contents.
  3. Add the universal health check — expose src/health.ts (identical on all platforms) at the path each platform probes (/api/health on Vercel, /health on Fly.io and Cloud Run).
  4. Deploy — run vercel --prod, fly deploy, or gcloud run deploy.
  5. Verify — curl the health endpoint and confirm services.klaviyo.connected is true.

Vercel skeleton (first example)

vercel env add KLAVIYO_PRIVATE_KEY production          # paste pk_*** when prompted
vercel env add KLAVIYO_WEBHOOK_SIGNING_SECRET production
# configure vercel.json (see reference), then:
vercel --prod
curl -s https://your-app.vercel.app/api/health | jq '.services.klaviyo'

Fly.io (fly secrets set + fly.toml + fly deploy) and Cloud Run (gcloud secrets create + Dockerfile + gcloud run deploy --set-secrets) follow the same five steps — full commands and config files are in the reference walkthroughs.

Output

  • Application deployed with Klaviyo secrets configured
  • Health check endpoint verifying Klaviyo connectivity
  • Webhook endpoint with HMAC signature verification
  • Platform-specific best practices applied

Error Handling

IssueCauseSolution
Secret not found at runtimeMissing env configVerify secret binding in platform
Cold start timeoutKlaviyo API slow on first callSet min_instances=1
Webhook 401Wrong signing secretVerify secret matches Klaviyo dashboard
Health check failsWrong API key per envSeparate keys for staging/prod

Examples

Deploy to Fly.io with a health check. Set the two secrets, deploy, and confirm connectivity:

fly secrets set KLAVIYO_PRIVATE_KEY=pk_*** \
  KLAVIYO_WEBHOOK_SIGNING_SECRET=whsec_***
fly deploy
curl -s https://my-klaviyo-app.fly.dev/health | jq '.services.klaviyo'
# → { "connected": true, "latencyMs": 142 }

Verify a webhook signature (HMAC-SHA256). Every platform's webhook route must timing-safe-compare the klaviyo-webhook-signature header against an HMAC of the raw body keyed with the signing secret — a 401 otherwise. The full Vercel handler, vercel.json, fly.toml, the Cloud Run Dockerfile, and the universal src/health.ts are in references/platform-deployments.md.

For webhook event handling beyond signature verification, see the klaviyo-webhooks-events skill.

Resources

저장한 Skills