---
title: "Actions: Q"
description: "How to set up each action of the 4 apps starting with Q."
label: "Q"
generated: "the tool catalog in services/core/src/tool-catalog"
---


Apps starting with Q. Add any of these from **Integrations → n8n → Add tools → Browse apps**; see [Set up an action](/build/set-up-actions) for each way a key is sent, and the [catalog index](/reference/actions) for every app.

## QuestDB

- **n8n node:** [QuestDB](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.questdb/) (`n8n-nodes-base.questDb`, version 1.1), 2 actions.
- **n8n performs it:** runs on the n8n credential *QuestDB* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/questdb/)).
- **Veefore performs it:** not available. QuestDB is not a web API (a database, queue, file transfer or local step), so only n8n can perform it.

**QuestDB in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Execute a SQL query | n8n performs it | `query` |
| Insert rows in database | n8n performs it | `table` |

## Quick Base

- **n8n node:** [Quick Base](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.quickbase/) (`n8n-nodes-base.quickbase`, version 1), 10 actions.
- **n8n performs it:** runs on the n8n credential *Quick Base API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/quickbase/)).
- **Veefore performs it:** 10 of 10 actions, with the key in a header, as `Authorization: QB-USER-TOKEN <key>`.
- **You enter:** User token, Realm hostname (yours.quickbase.com).
- **Also sent:** Realm hostname (yours.quickbase.com) in the `QB-Realm-Hostname` header.
- **API address:** `https://api.quickbase.com/v1`.
- **Get the key:** [helpv2.quickbase.com](https://helpv2.quickbase.com/hc/en-us/articles/4570341709844)

**Quick Base in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Get many fields | `GET /fields` | `tableId` |
| Delete a file | `DELETE /files/{tableId}/{recordId}/{fieldId}/{versionNumber}` | `tableId`, `recordId`, `fieldId`, `versionNumber` |
| Download a file | `GET /files/{tableId}/{recordId}/{fieldId}/{versionNumber}` | `tableId`, `recordId`, `fieldId`, `versionNumber`, `binaryPropertyName` |
| Create a record | `POST /records` | `tableId`, `columns` |
| Create or update a record | `POST /records` | `tableId`, `columns` |
| Delete a record | `DELETE /records` | `tableId`, `where` |
| Get many records | `POST /records/query` | `tableId` |
| Update a record | `POST /records` | `tableId`, `columns` |
| Get a report | `GET /reports/{reportId}` | `tableId`, `reportId` |
| Run a report | `POST /reports/{reportId}/run` | `tableId`, `reportId` |

## QuickBooks Online

- **n8n node:** [QuickBooks Online](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.quickbooks/) (`n8n-nodes-base.quickbooks`, version 1), 42 actions.
- **n8n performs it:** runs on the n8n credential *QuickBooks Online OAuth2 API* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/quickbooks/)).
- **Veefore performs it:** 42 of 42 actions, with OAuth 2.0 with a refresh token; Veefore renews access tokens at `https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer` (scope `com.intuit.quickbooks.accounting`).
- **You enter:** OAuth client ID, Client secret, Refresh token.
- **API address:** `https://quickbooks.api.intuit.com`.
- **Get the key:** [developer.intuit.com](https://developer.intuit.com/app/developer/qbo/docs/get-started/get-client-id-and-client-secret)

**QuickBooks Online in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Create a bill | `POST /v3/company/{companyId}/bill` | `VendorRef`, `companyId` |
| Delete a bill | `POST /v3/company/{companyId}/bill` | `billId`, `companyId` |
| Get a bill | `GET /v3/company/{companyId}/bill/{billId}` | `billId`, `companyId` |
| Get many bills | `GET /v3/company/{companyId}/query` | `companyId` |
| Update a bill | `POST /v3/company/{companyId}/bill` | `billId`, `companyId` |
| Create a customer | `POST /v3/company/{companyId}/customer` | `displayName`, `companyId` |
| Get a customer | `GET /v3/company/{companyId}/customer/{customerId}` | `customerId`, `companyId` |
| Get many customers | `GET /v3/company/{companyId}/query` | `companyId` |
| Update a customer | `POST /v3/company/{companyId}/customer` | `customerId`, `companyId` |
| Create an employee | `POST /v3/company/{companyId}/employee` | `companyId` |
| Get an employee | `GET /v3/company/{companyId}/employee/{employeeId}` | `employeeId`, `companyId` |
| Get many employees | `GET /v3/company/{companyId}/query` | `companyId` |
| Update an employee | `POST /v3/company/{companyId}/employee` | `employeeId`, `companyId` |
| Create an estimate | `POST /v3/company/{companyId}/estimate` | `CustomerRef`, `companyId` |
| Delete an estimate | `POST /v3/company/{companyId}/estimate` | `estimateId`, `companyId` |
| Get an estimate | `GET /v3/company/{companyId}/estimate/{estimateId}` | `estimateId`, `download`, `companyId` |
| Get many estimates | `GET /v3/company/{companyId}/query` | `companyId` |
| Send an estimate | `POST /v3/company/{companyId}/estimate/{estimateId}/send` | `estimateId`, `email`, `companyId` |
| Update an estimate | `POST /v3/company/{companyId}/estimate` | `estimateId`, `companyId` |
| Create an invoice | `POST /v3/company/{companyId}/invoice` | `CustomerRef`, `companyId` |
| Delete an invoice | `POST /v3/company/{companyId}/invoice` | `invoiceId`, `companyId` |
| Get an invoice | `GET /v3/company/{companyId}/invoice/{invoiceId}` | `invoiceId`, `download`, `companyId` |
| Get many invoices | `GET /v3/company/{companyId}/query` | `companyId` |
| Send an invoice | `POST /v3/company/{companyId}/invoice/{invoiceId}/send` | `invoiceId`, `email`, `companyId` |
| Update an invoice | `POST /v3/company/{companyId}/invoice` | `invoiceId`, `companyId` |
| Void an invoice | `POST /v3/company/{companyId}/invoice` | `invoiceId`, `companyId` |
| Get an item | `GET /v3/company/{companyId}/item/{itemId}` | `itemId`, `companyId` |
| Get many items | `GET /v3/company/{companyId}/query` | `companyId` |
| Create a payment | `POST /v3/company/{companyId}/payment` | `CustomerRef`, `companyId` |
| Delete a payment | `POST /v3/company/{companyId}/payment` | `paymentId`, `companyId` |
| Get a payment | `GET /v3/company/{companyId}/payment/{paymentId}` | `paymentId`, `download`, `companyId` |
| Get many payments | `GET /v3/company/{companyId}/query` | `companyId` |
| Send a payment | `POST /v3/company/{companyId}/payment/{paymentId}/send` | `paymentId`, `email`, `companyId` |
| Update a payment | `POST /v3/company/{companyId}/payment` | `paymentId`, `companyId` |
| Void a payment | `POST /v3/company/{companyId}/payment` | `paymentId`, `companyId` |
| Get a purchase | `GET /v3/company/{companyId}/purchase/{purchaseId}` | `purchaseId`, `companyId` |
| Get many purchases | `GET /v3/company/{companyId}/query` | `companyId` |
| Get a report | `GET /v3/company/{companyId}/reports/TransactionList` | `companyId` |
| Create a vendor | `POST /v3/company/{companyId}/vendor` | `displayName`, `companyId` |
| Get a vendor | `GET /v3/company/{companyId}/vendor/{vendorId}` | `vendorId`, `companyId` |
| Get many vendors | `GET /v3/company/{companyId}/query` | `companyId` |
| Update a vendor | `POST /v3/company/{companyId}/vendor` | `vendorId`, `companyId` |

## Qwen Cloud

- **n8n node:** [Qwen Cloud](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-langchain.alibabacloud/) (`@n8n/n8n-nodes-langchain.alibabaCloud`, version 1.1), 5 actions.
- **n8n performs it:** runs on the n8n credential *Qwen Cloud* ([how to set it up](https://docs.n8n.io/integrations/builtin/credentials/alibaba/)).
- **Veefore performs it:** 5 of 5 actions, with a bearer token, sent as `Authorization: Bearer <token>`.
- **You enter:** Token.
- **API address:** `https://dashscope-intl.aliyuncs.com`.
- **Get the key:** [docs.qwencloud.com](https://docs.qwencloud.com/developer-guides/administration/api-keys)

**Qwen Cloud in n8n**

| Action | Veefore calls | Fields to fill |
| --- | --- | --- |
| Message a model | `POST /api/v1/services/aigc/multimodal-generation/generation` | `modelId` |
| Analyze image | `POST /api/v1/services/aigc/multimodal-generation/generation` | `modelId`, `imageUrl`, `question` |
| Generate an image | `POST /api/v1/services/aigc/multimodal-generation/generation` | `modelId`, `prompt` |
| Generate video from text prompt | `POST /api/v1/services/aigc/video-generation/video-synthesis` | `modelId`, `prompt` |
| Generate video from image | `POST /api/v1/services/aigc/video-generation/video-synthesis` | `modelId`, `imgUrl` |
