PracticeTrove user guide

Appendix F: Setting up the firm's keys

On this page (7)

Every outside service uses the firm's own account. An owner or practice administrator enters each key in PracticeTrove → Integrations (chapter 28), confirming with a fresh authenticator code. The addresses to paste into the providers are shown ready to copy on the Integrations page, with the firm's ID in them.

Google (Gmail and Drive)

  • In the Google Cloud console, create a project; under APIs & Services enable the Gmail API (and the Google Drive API for file copies).
  • OAuth consent screen: for a Google Workspace firm choose Internal (no Google review needed). An External app that reads Gmail needs Google's verification before people outside its test users can connect.
  • Credentials → Create OAuth client ID → Web application. Authorised redirect URI: the redirect address shown on the Google card (the firm's PracticeTrove address followed by /api/oauth/callback).
  • Paste the Client ID and Client secret into Integrations → Google. PracticeTrove asks for Gmail read and send (and Drive file access for file copies).

Microsoft (Outlook and OneDrive)

  • Microsoft Entra admin centre → App registrations → New registration; supported accounts: this organisation only (or any organisation).
  • Redirect URI, platform Web: the redirect address shown on the Microsoft card.
  • API permissions (Microsoft Graph, delegated): User.Read, Mail.Read, Mail.Send and offline_access (and Files.ReadWrite for OneDrive); grant admin consent.
  • Certificates & secrets → New client secret → copy the Value (not the secret ID). Paste the client ID, the tenant (directory ID, or common) and the secret into Integrations → Microsoft.

Each person then connects their own mailbox under Inbox → Connect.

Termii (SMS and WhatsApp)

  • In the Termii dashboard, register a Sender ID (approval takes a few days; until then use the default).
  • Copy the API key (Settings → API). Paste it, the sender ID and the channel — DND for transactional messages that reach numbers on do-not-disturb, or Generic — into Integrations → Termii. WhatsApp needs a WhatsApp device set up in Termii.
  • Tick Agrees to text messages or Agrees to WhatsApp on each client contact who has agreed (step 27.2).

Paystack

  • Paystack dashboard → Settings → API Keys & Webhooks: copy the secret key (sk_test_… first, then sk_live_…) and the public key.
  • Webhook URL: the address shown on the Paystack card.
  • Paste the keys into Integrations → Paystack, choose Test, then choose Paystack in Billing → Settings.

Flutterwave

  • Flutterwave dashboard → Settings → API keys: copy the secret key (FLWSECK-…).
  • Settings → Webhooks: the address shown on the Flutterwave card; set a secret hash (any long random value) and tick the payment events.
  • Paste the secret key and the same secret hash into Integrations → Flutterwave.

The AI assistant

  • Create an API key with Anthropic (console.anthropic.com) or OpenAI (platform.openai.com), with a spending limit.
  • Integrations → AI assistant: the provider, the key, the model, the daily limit, and whether uploads are checked automatically.

BookTrove (fee notes into the firm's own company)

  • In BookTrove, signed in to the firm's own company: Settings → Auditor access → New access token; tick "Send fee notes — the firm's invoices and credit notes to its clients (PracticeTrove)" and choose the expiry. Copy the btc_… token.
  • PracticeTrove → Integrations → BookTrove: the BookTrove address (https://books.troveuniverse.com) and the token; Test. Then tick Send each issued invoice to BookTrove in Billing → Settings.
  • In BookTrove, fee notes arrive under Auditor, payroll & fee links → Fee notes. Create draft makes a draft sales invoice or credit note — the customer matched by email, TIN or name, or created — to check and post as usual.

The open API and webhooks. Integrations → API and webhooks: API keys with their scopes and expiry (each key is shown once), and webhooks to public https addresses (the secret is shown once; check the X-PracticeTrove-Signature header on each delivery).

Back to top ↑