It’s possible to build whatever custom integration between Userflow, your own system or any other third-party provider using these simple building blocks:
REST API: Let’s your own back-end send data to or request data from Userflow on demand. You can, for example, update users, get users, track events etc.
Webhooks: Makes Userflow notify your back-end when something changes in Userflow, such as an event being tracked. Your back-end can then sync this change into its own database or pass it on to a third-party provider.
Should you use the API or webhooks?
Two questions usually settle it:
Who starts the exchange?
Your system starts it → REST API. You call Userflow when you're ready. Use this to sync users on sign-up, backfill attributes for existing users, look up a user's current state, or track an event from your backend.
Userflow starts it → webhooks. Userflow calls you when something happens in Userflow. Use this to react to activity — an event being tracked, a flow being completed — without polling for it.
When do you need the data?
On demand, at a moment you choose → REST API. Nightly syncs, backfills, and anything triggered by your own application logic.
As soon as it happens → webhooks. Userflow pushes the change to you, so you don't have to ask repeatedly whether anything is new.
Most non-trivial integrations end up using both: the API to get data into Userflow and read it back, webhooks to keep your own system current as users move through your product.
If the thing you want to react to is a user action in your interface rather than a change in Userflow, you may not need either — see When to use the API instead of no-code tracking.
We’re always happy to give inputs on any thing you’re looking to build. Just email us or write on the live-chat.