Add an integration
How to connect an affiliate program to xuly.io — credentials, sync cadence, health checks.
An integration is one connected affiliate program. Two accounts with the same brand count as two integrations. Integrations are workspace-scoped and encrypted at rest.
Three auth models
The form you see depends on which auth type the brand supports:
- API key — crypto exchanges (Binance, Coinbase, Kraken), most networks (Impact, Awin). You paste a key + secret generated in the brand's portal. No OAuth redirect. Safest option.
- Credentials (username + password) — most iGaming programs. We encrypt and store these in Supabase Vault. We never store plaintext, never log them, and only the sync worker (not the web app) can decrypt them at run-time.
- CSV upload — the universal fallback. If a brand has neither API nor scrapeable portal, you download the report as CSV and upload it. We parse, normalise, and store alongside every other source.
Configure sync cadence
Default sync interval is 120 minutes. You can tune this from 15 minutes (most brands) to 24 hours per integration. We always respect the brand's published rate limit, so setting aggressive cadence on a limited API silently falls back to the safe floor.
Credential rotation
To rotate credentials, open the integration detail page and click Reconnect. This stores the new secret in Vault, deletes the old one, and re-runs the validation call. Sync continues uninterrupted.
Health monitoring
The integration detail page shows the last 20 sync runs with their duration, rows ingested, and errors. A red badge on an integration means the last run failed — click through to see the error message. If the error mentions "selector changed" or "login rejected", the portal UI probably shifted; check the changelog or open a support ticket.