Opens in a new tab

CRM and contacts

You do not have to retype every person. Connect a CRM or Google Contacts, then sync or pick.

Integrations → the CRM / Contacts card → Connect. Then run Sync or Import.

This is the same Clients list you open from the sidebar. A synced contact becomes a normal client: attach them to a document, fill {{client_name}}, send.

Ways to get people in

PathBest whenGuide
New client / document SettingsOne personAdd and manage
Google ContactsYour address bookThis page
HubSpot, Pipedrive, Salesforce, Zoho CRMThey already live in a CRMThis page
CSVA spreadsheet exportImport and export
Incoming webhook / WordPress / chat agentA form or bot should create themWebhooks

Google Contacts

OAuth, read-only. You choose contacts. They are not auto-selected.

  1. Connect Google Contacts.
  2. Open import, filter/search.
  3. Select the visible rows (or Select all visible), then Import.

While a search filter is active, only visible selected contacts import. If more came in than you wanted, you selected too broadly.

HubSpot, Pipedrive, Salesforce, Zoho CRM

Pull reads contacts into InProQu Clients.

Push (optional, off by default) writes add/update only when a client is created or updated via an incoming webhook. Push never deletes. Enable Push webhook clients to CRM on the card only if you want form/agent intake mirrored back to the CRM.

CRMHow you connect
HubSpotPrivate App token: crm.objects.contacts.read (add write if you enable push)
PipedriveAPI key
SalesforceOAuth (production or sandbox login)
Zoho CRMOAuth (same Zoho data center as your CRM)

After Connect, run Sync. Match on email when you can so you do not duplicate.

After they are in Clients

  • Attach the client on the document.
  • One client, many documents (proposal → invoice → receipt).
  • From the client’s document count, open Documents filtered to that person.
  • Optional: export the Clients list to Google Sheets or Airtable.

Tips

  • Person → {{client_name}}. Org → {{client_company}}.
  • Email is what Share suggests for in-app send. Link-only share works without it.
  • If a webhook created them with external_id, later upserts update the same row instead of cloning.