mcpField
A
autumn-create-customer

autumn-create-customer

github.com/useautumnDevelopment150 installsUpdated 3w ago
Repository

About autumn-create-customer

A setup skill for adding Autumn customer management to React and Node.js applications or backend-only services. It covers handler and provider setup, customer creation, and key integration decisions.

Key features

  1. 01React and Node.js integration paths
  2. 02Backend-only customer creation
  3. 03Next.js, Hono, Express, and Fastify handlers
  4. 04React customer provider and hook
  5. 05B2C and B2B customer ID guidance

Use cases

  1. 01Add Autumn customer handling to a React app
  2. 02Create customers from a backend service
  3. 03Choose user or organization customer IDs

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/useautumn/skills --skill autumn-create-customer

After installing, type/autumn-create-customerin Claude Code to confirm it loaded.

Details

From the project README

Autumn Customer Setup

Always consult docs.useautumn.com for code examples and latest API.


Quick Reference

Environment Variables
Installation
npm install autumn-js    # Node.js
pip install autumn-py    # Python

Integration Paths

StackPath
React + Node.jsMount handler + AutumnProvider
Backend onlyInitialize client + call API

Path A: React + Node.js

Handler Setup
FrameworkFileImport
Next.js App Routerapp/api/autumn/[...all]/route.tsautumn-js/next
React Routerapp/routes/api.autumn.tsxautumn-js/react-router
HonoAny fileautumn-js/hono
ExpressAny fileautumn-js/express
FastifyAny fileautumn-js/fastify
import { autumnHandler } from "autumn-js/next";

export const { GET, POST } = autumnHandler({
  identify: async (request) => {
    const session = await getSession(request);
    return {
      customerId: session.user.id,  // or session.org.id for B2B
      customerData: { name: session.user.name, email: session.user.email },
    };
  },
});
Client Setup
import { AutumnProvider } from "autumn-js/react";

<AutumnProvider>{children}</AutumnProvider>

// Different backend URL:
<AutumnProvider backendUrl={process.env.NEXT_PUBLIC_API_URL} />
Verify
import { useCustomer } from "autumn-js/react";

const { customer } = useCustomer();
console.log("Autumn customer:", customer);

Path B: Backend Only

Initialize
import { Autumn } from "autumn-js";

const autumn = new Autumn({ secretKey: process.env.AUTUMN_SECRET_KEY });
from autumn import Autumn

autumn = Autumn('am_sk_test_xxx')
Create Customer
const { data } = await autumn.customers.create({
  id: "user_id_from_auth",
  name: "Test User",
  email: "[email protected]",
});

Common Gotchas

  1. B2C vs B2B - Decide if customerId is user ID or org ID before integrating
  2. Idempotent - customers.create returns existing customer if ID exists
  3. Backend URL - Pass backendUrl to provider if API is on different domain
  4. Secret key - Keep AUTUMN_SECRET_KEY server-side only

Resources

Comments

Markdown supported