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

> ## Agent Instructions
> Automate.ax automations are TypeScript programs.
> Use Bun for installation and command examples.
> Use Automate.ax for the product name and automate.ax for the package, CLI, and domain.
> Treat documented public APIs as current; do not invent transitional or deprecated names.

# Create customer

> Create a Stripe customer for payments, invoices, and subscriptions.

Use `stripe.createCustomer` to create a Stripe customer for payments, invoices, and subscriptions.

## Example

```ts automations/stripe-create-customer.automation.ts theme={null}
import { automation, onDashboardRun } from "automate.ax"
import { stripe } from "automate.ax/stripe"

export default automation("Create customer", () => {
  onDashboardRun({ title: "Create customer" })

  stripe.createCustomer({
    email: "buyer@example.com",
    name: "Ada Lovelace",
    metadata: { crmId: "crm_123" },
  })
})
```

## Inputs

Provide any Stripe customer creation fields in camel case. `idempotencyKey` is optional and prevents duplicate mutations when the same request is retried.

Inputs use camel case and accept compatible signals. Automate.ax converts provider fields to Stripe's wire format. Metadata keys remain unchanged.

## Output

Returns the created Stripe Customer. Output fields use camel case. Nested Stripe decimal fields such as `unitAmountDecimal` are lossless strings.
