What triggers a sync
- Initial sync runs when you first connect Stripe — existing customers are imported in a batch.
- Ongoing sync runs on Stripe webhooks. New customers and updates to existing customers propagate to ShingleAI automatically.
Sync scope
- Only the Stripe account you linked via Stripe Connect is synced.
- The linked account is scoped to your primary business. In a multi-business setup, the other businesses’ customers don’t appear here.
What gets synced
- Name
- Customer ID (
stripeCustomerId, used to detect that a row is synced) - Customer creation date (displayed as “Customer since”)
Detecting sync status
- Synced customers have a green Stripe badge in the list and a populated
stripeCustomerId. - Not synced customers are rows added in ShingleAI directly — today this path is rare because the UI doesn’t expose customer creation, but some API/MCP callers do.
What does NOT sync
- ShingleAI → Stripe. Edits in the Customers list do not push back to Stripe. Customer data in Stripe is authoritative.
- Deletion. Deleting a customer in Stripe does not delete the ShingleAI record automatically — it stays visible until support removes it (or a future sync pass handles soft-deletes).
When sync breaks
| Symptom | Likely cause | Fix |
|---|---|---|
| New Stripe customer not showing | Webhook delivery delay or failure | Wait a few minutes; if still missing, check Stripe’s event log |
| Stripe disconnected | OAuth revoked | Reconnect from Stripe Connect |
| Initial import didn’t populate everything | Rate limits on large Stripe accounts | Contact support |
Next steps
Customers list
Back to the list view
Stripe Connect
Link or relink Stripe