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.


Create an EndUser

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


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);

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:


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