Docs · Setup
Connect Clover in 5 minutes
One-time setup in Clover's developer dashboard. After this the Connect Clover button works one-click for your merchant and every café you ever onboard.
Open Clover's developer dashboard
Go to clover.com/developers and sign in. If you only have a merchant Clover account, you'll need to enroll in the developer program first (free). For testing, the sandbox at sandbox.dev.clover.com mirrors prod — same UX, fake test merchants.
Create a new app
Click Create New App. Use:
App name
StockPilotDescription
Inventory management for cafés — auto-depletes stock on every Clover sale, drafts supplier POs, forecasts runouts.Configure OAuth + Permissions
Open the app. Left nav → Settings:
- Site URL:
https://stockpilot-app-production-2a53.up.railway.app - Default OAuth Response: Code
- OAuth Redirect URI(s):
Redirect URI
https://stockpilot-app-production-2a53.up.railway.app/api/integrations/clover/callback
Left nav → Permissions → check at minimum: READ_MERCHANT, READ_INVENTORY, READ_ORDERS, READ_PAYMENTS. Save.
Copy App ID + App Secret
Left nav → API Tokens. Two values near the top:
- App ID— Clover's OAuth client_id, ~13 uppercase chars
- App Secret— Clover's OAuth client_secret, UUID format. Click Reveal.
Set up the webhook
Left nav → Webhooks. Add a webhook with:
Webhook URL
https://stockpilot-app-production-2a53.up.railway.app/api/integrations/clover/webhookClick Verify (Clover sends a test challenge — the route handles it automatically). Subscribe to event types:
- O (Orders — new + updated)
- P (Payments)
- I (Inventory items)
Save. Clover shows an X-Clover-Authheader value you'll use to verify inbound webhooks. Copy that too.
Paste all three into Railway
Railway → Variables tab → + New Variable three times:
CLOVER_CLIENT_ID=paste the App IDCLOVER_CLIENT_SECRET=paste the App SecretCLOVER_WEBHOOK_SIGNATURE_KEY=paste the X-Clover-Auth value
Optionally add CLOVER_ENVIRONMENT=production (defaults to production; flip to sandbox if you set up the sandbox app first).
Click Connect Clover from Settings
Reload /settings. The Clover row no longer errors. Click Connect Clover→ Clover's OAuth screen → grant → return. Sales start depleting inventory in real-time.