> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qubesync.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Onboarding Your Customers

> Getting your customers connected to QuickBooks is as simple as sending them to a URL.

You'll want a button on your site that says "Connect to QuickBooks Desktop" or something similar. This button should do two things:

1. Use the `Connections` API to [create a connection](/api-reference/connections/create-a-new-connection) for the customer, and pass a `redirect_url` to redirect them to once they've completed the setup process.
2. Send them to the `links.onboarding` url returned with the connection you created.

<Note>
  Ask the user to start this process from the Windows computer where they have QuickBooks installed. If they are using a QuickBooks server, we highly suggest the onboarding is performed there. You may wish to warn them they'll be redirected to qubesync.com to complete the setup.
</Note>

Once they've completed the short setup process, they'll be redirected to the `redirect_url` you provided with a query parameter `state=connected` .

## What if they don't complete the process?

If for some reason they choose to cancel the process, they'll be redirected back to you with `state=cancelled`. You can choose to let them try again, or delete the connection using the [Delete a Connection API](/api-reference/connections/delete-a-connection).

Onboarding links expire after 48 hours, and can be [regenerated using the API](/api-reference/connections/regenerate-onboarding-url-for-a-connection). If a user attempts to use an expired onboarding url, they'll be redirected to the `redirect_url` with `state=expired`.

## Start making requests!

Use the [pre-built requests](/api-reference/pre-built-queries/query-customers) or build your own using the [Queued Requests API](/api-reference/queued-requests/queue-a-new-request).

## Do you want full control over the onboarding experience?

Instead of using the `onboarding` url, once you've created the connection your user will need two essentials to get set up. Use the corresponding connection endpoints to provide them:

1. [Generate a QWC file](/api-reference/connections/get-qwc-file-for-a-connection) for their web connector and let them download it.
2. [Generate a password](/api-reference/connections/generate-or-set-password-for-a-connection) to enter into their web connector once they've added the QWC file.
