Willow Agent

Email/password auth, AI chat (OpenRouter via Butterbase), and webhook receiver — all on one app.

Sign up

Password: 8+ chars, upper, lower, number, special character. A verification email is sent (you can still log in before verifying).

Log in

Session

Profile from GET /auth/{app_id}/me using your access token.

Not logged in.

Verify email

Use the 6-digit code from the signup email (expires in 24h).

Change password

Step 1 requests a 6-digit code by email. Step 2 sets the new password.

AI chat (cheap model)

Calls POST …/fn/agent-chat with your end-user JWT. The function proxies to Butterbase’s OpenRouter-compatible /chat/completions using the platform key — you never ship API keys to the browser.

Webhook receiver

Serverless function webhook-inbound accepts POST, stores JSON in webhook_events. Send header x-webhook-secret (demo value below) or omit if you clear the env secret.

URL:

Demo secret: whsec_demo_willow_shared_secret

Your items (RLS)

Table user_items uses user isolation — each user only sees their rows.

TitleDone
Log in to load.

Legacy demo data

Original tasks / memory (anon-readable) — same as before.