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).