> ## Documentation Index > Fetch the complete documentation index at: https://docs.conductor.is/llms.txt > Use this file to discover all available pages before exploring further. # Quickstart > Connect to QuickBooks Desktop via a modern API in 5 minutes. export const Image = ({src, alt, width, align = "center", noShadow = false, noBorder = false, noZoom = false}) => {alt}; Quickstart hero Welcome! 👋 Follow the instructions below to connect your QuickBooks Desktop instance and start working with your data in just a few minutes. You'll be able to fetch, create, and update any object type in real-time with our modern APIs and SDKs. ## Part 1: Set up your Conductor account Sign up for a Conductor account [here](https://dashboard.conductor.is/sign-up) with your work email. Create an organization in the Conductor dashboard. This should be the name of your company. Create an organization In the organization you created, let's select the **"testing"** project. An organization can have multiple projects, but we'll use this one for now. Select the testing project ## Part 2: Connect to QuickBooks Desktop **Important**: A QuickBooks Desktop instance for testing is **required**. If you do not have one, you can [create a free test instance](/qbd/test-instance). After selecting the **"testing"** project in the Conductor dashboard, click the **"Create end user"** button. An end-user represents the user or organization within *your* application for whom we are connecting to their QuickBooks Desktop instance. Each end-user maps to a single QuickBooks Desktop company file because each company file represents an individual legal entity. Create an end-user After creating an end-user in the dashboard, it will automatically create an auth session. Visit this URL in your browser on the same computer or instance as your QuickBooks Desktop installation. This authentication flow will guide you through connecting your QuickBooks Desktop instance to Conductor. *Read every step carefully!* Conductor authentication flow for QuickBooks Desktop In the Conductor dashboard, navigate to the **API Keys** tab and click the **"Create secret key"** button. Be sure to save the secret key in a secure location. Create a secret key Navigate to the **End Users** tab and find your end-user's **ID**. You'll need this in Step 6 to identify the end-user in your requests. End users table ```sh Node.js theme={"system"} # npm npm install conductor-node # yarn yarn add conductor-node # pnpm pnpm add conductor-node ``` ```sh Python theme={"system"} pip install conductor-py ``` ```sh cURL theme={"system"} # Continue to the next step to access our REST API directly via `curl`. ``` Try fetching a list of QBD Customers: ```ts Node.js theme={"system"} import Conductor from "conductor-node"; const conductor = new Conductor({ apiKey: "{{YOUR_SECRET_KEY}}" }); async function main() { const invoices = await conductor.qbd.invoices.list({ conductorEndUserId: "{{YOUR_END_USER_ID}}", limit: 10, }); console.log(invoices.data); } main(); ``` ```py Python theme={"system"} from conductor import Conductor conductor = Conductor(api_key="{{YOUR_SECRET_KEY}}") invoices = conductor.qbd.invoices.list( conductor_end_user_id="{{YOUR_END_USER_ID}}", ) print(invoices.data) ``` ```sh cURL theme={"system"} curl --request GET \ --url 'https://api.conductor.is/v1/quickbooks-desktop/customers' \ --header 'Authorization: Bearer {{YOUR_SECRET_KEY}}' \ --header 'Conductor-End-User-Id: {{YOUR_END_USER_ID}}' ``` ```json Example QBD response theme={"system"} { "objectType": "list", "url": "/v1/quickbooks-desktop/customers", "data": [ { "id": "80000001-1234567890", "objectType": "qbd_customer", "createdAt": "2024-10-01T17:34:56.000Z", "name": "ABC Corporation", "isActive": true, // ... } // ... ], // ... } ```