Agent onboarding flow
This page shows the full lifecycle: account creation, email verification, Stripe setup, listing creation, and sharing the checkout URL. Each step shows the agent-human conversation alongside the API call that drives it.
This is the canonical pattern for an agent operating ListBee on behalf of a human.
Overview
Eight steps. Four require human input. Four are pure API calls the agent makes autonomously.
Step 1: Get email, request OTP
The agent asks the human for their email address, then fires an OTP request. No API key is needed — this is an unauthenticated call.
Agent says:
What’s your email address? I’ll send you a verification code.
Human says:
Agent calls:
Step 2: Human provides the code
The OTP is a 6-digit code sent to the email address. The agent cannot retrieve it — the human must relay it.
Agent says:
Check your inbox. There’s a 6-digit code from ListBee. What is it?
Human says:
847213
Step 3: Verify and get the API key
The agent submits the email and code. The response contains the API key and the account object — including the initial readiness state.
The agent stores the API key. All subsequent requests use Authorization: Bearer lb_....
Step 4: Read readiness
After verification, readiness.operational is false. The account cannot process payments until Stripe is connected.
The response JSON contains api_key and account. Read account.readiness.next to determine what action to take:
Find the action in account.readiness.actions where code matches readiness.next. If kind is "api", the agent can call it directly. If kind is "human", surface resolve.url to the user.
Step 5: Stripe setup — two paths
Path A: Human already has a Stripe key
Agent says:
To accept payments, I need your Stripe secret key. Do you have one? It starts with
sk_live_orsk_test_.
Human says:
Yes — sk_live_51abc…
Agent calls:
Path B: Human does not have a Stripe account
Agent says:
No Stripe account yet? I’ll generate a setup link. You’ll need to complete it in your browser — takes about 2 minutes.
Agent calls:
Agent says:
Open this link to connect Stripe: https://connect.stripe.com/setup/… Come back here when you’re done and I’ll check if everything is ready.
Step 6: Poll until operational
After the human completes Stripe Connect, the agent polls GET /v1/account until readiness.operational is true.
Once operational is true, the account can process payments.
Step 7: Create the listing
The agent collects listing details from the human — or generates them from context. Two paths depending on the product type.
Path A: Digital product (managed fulfillment)
Agent says:
What would you like to sell? Give me a name, price, and the file or URL you want to deliver to buyers.
Human says:
“Python Async Patterns” — $19, here’s the PDF: https://my-bucket.s3.amazonaws.com/python-async.pdf
Agent calls:
Path B: Physical product or custom service (external fulfillment)
Agent says:
What would you like to sell? I’ll set it up so you get notified when someone pays, and you handle delivery.
Human says:
Custom portrait drawings — $49. I need to know their preferred art style.
Agent calls:
Step 8: Share the checkout URL
Managed listing
Agent says:
Your listing is live. Share this URL with buyers: https://buy.listbee.so/python-async-patterns
When someone pays, they receive the PDF automatically by email.
External listing
Agent says:
Your listing is live. Share this URL with buyers: https://buy.listbee.so/custom-portrait
When someone pays, you’ll receive a webhook with their order details and art style preference. Fulfill the order and call the fulfill endpoint when done.
Full flow — compact version
Next steps
- Fulfillment modes — managed vs external, decision tree.
- MCP server — give your agent ListBee tools directly via MCP.
- Readiness system — deep dive into how readiness actions work.