If you are just getting started, you can generate a unique, secure link to the QuickBooks Desktop authentication flow to share with your end-users without requiring any frontend code. This is useful if you want to send the link via email or other means.

1

Create an EndUser

If you have not already, create an EndUser for this user.

2

Create an AuthSession

Using the EndUser ID from the previous step, create an AuthSession with linkExpiryMins set to a value that gives your end-users more time to click on the link (default is 30 minutes). For example, to create a link that is valid for 24 hours:

import Conductor from "conductor-node";
const conductor = new Conductor("{{YOUR_SECRET_KEY}}");

const authSession = await conductor.authSessions.create({
  publishableKey: "{{YOUR_PUBLISHABLE_KEY}}",
  endUserId: "{{END_USER_ID}}",
  linkExpiryMins: 60 * 24, // 24 hours
});
console.log("Send this link to your customer to complete the auth flow:", authSession.authFlowUrl);
3

Send the link to your end-user

The response will contain the field authFlowUrl, which you can share with your end-user. The authFlowUrl will resemble the following example but with your publishable key:

https://connect.conductor.is/qbd/auth_sess_client_secret_1234567abcdefg?key={{YOUR_PUBLISHABLE_KEY}}

When your end-user clicks on this link, they will be directed to the authentication flow for connecting QuickBooks Desktop to your application.