From flexport-pack
Deploys Flexport logistics apps including webhook receivers, dashboards, and workers to Vercel, Fly.io, and Cloud Run.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin flexport-packThis skill is limited to using the following tools:
Deploy Flexport-powered applications to production. Webhook receivers need always-on hosting. Dashboards can use serverless. Background sync workers suit containers.
Provides Flexport reference architecture for supply chain integrations: Ingest (webhooks/polling), Core (business logic), Expose (API/dashboard) with TypeScript layout, Postgres/Redis infra.
Deploys Instantly.ai webhook receivers and API integrations to Vercel serverless, Google Cloud Run containers, or Fly.io for production HTTPS endpoints.
Deploys Shopify apps to Vercel, Fly.io, Railway, and Cloud Run with env config, webhooks, secrets, and Shopify CLI extensions.
Share bugs, ideas, or general feedback.
Deploy Flexport-powered applications to production. Webhook receivers need always-on hosting. Dashboards can use serverless. Background sync workers suit containers.
// app/api/webhooks/flexport/route.ts (Next.js App Router)
import crypto from 'crypto';
export async function POST(req: Request) {
const body = await req.text();
const sig = req.headers.get('x-hub-signature') || '';
const expected = 'sha256=' + crypto.createHmac('sha256', process.env.FLEXPORT_WEBHOOK_SECRET!)
.update(body).digest('hex');
if (!crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(expected))) {
return new Response('Invalid signature', { status: 401 });
}
const event = JSON.parse(body);
// Process milestone, booking, invoice events
return new Response('OK');
}
# fly.toml
app = "flexport-webhooks"
primary_region = "iad"
[http_service]
internal_port = 3000
force_https = true
min_machines_running = 1
fly secrets set FLEXPORT_API_KEY="key" FLEXPORT_WEBHOOK_SECRET="secret"
fly deploy
gcloud run deploy flexport-sync \
--source . --region us-central1 \
--set-secrets "FLEXPORT_API_KEY=flexport-key:latest" \
--min-instances 1 --timeout 300
curl -X POST https://your-app.fly.dev/webhooks/flexport \
-H "X-Hub-Signature: sha256=invalid" -d '{"type":"test"}'
# Expected: 401 (signature verification working)
For webhook event handling, see flexport-webhooks-events.