If a service is not available as a built-in connection, your app may be able to call its HTTP API from server code. Verify that the provider offers the operation you need and that your account may use it before spending time building the integration.
Start with one operation
Find the provider's current API documentation, authentication requirements, limits and pricing. Ask the builder to explain how it would perform one specific operation before changing the app. An answer from the builder is a plan to verify, not proof that the provider has approved your account.
Store private credentials in Dashboard → Env Vars, marked secret. The server should read those values; do not paste keys into chat or expose them through VITE_ variables.
Test success, an invalid credential and a provider failure. Show users a useful error and avoid retrying a charge or sending operation blindly.
Maps and route calculators
A map, route or distance lookup can use a mapping provider without using AI. The provider's account, browser-key restrictions, limits and pricing still matter. Keep private keys on the server; use a browser key only when that provider explicitly supplies one for browser use.
Calls to your own outside provider use that provider's billing. Built-in AI and connected integration actions have their own workspace-credit charges, and builder messages use credits. There is no promise of unlimited requests or compatibility with every API.
QuickBooks
Check which QuickBooks actions are actually available in your workspace's Integrations catalog. A catalog result is not proof that every accounting workflow is supported.
For a custom connection, Intuit's QuickBooks Online developer documentation describes its API and authorization setup. This is an authorized company connection, not a place to paste a QuickBooks password. Confirm the required read or write operations and account access before building; keep credentials in server-side secrets.
Start with a read-only test against the intended company. For writes, test duplicate prevention before retrying invoices or other accounting records. Exporting a CSV from your app is a separate, manual option, and the receiving product must accept that CSV's format.