Skip to content

Notion Integration

Certum Draft integrates with Notion to manage your client, matter, and lead databases. Search existing clients when creating matters, write new matters back to Notion, sync notes bidirectionally, and capture phone-call enquiries as Leads.

FeatureDirectionDescription
Search clientsReadFind existing clients when creating matters
Search mattersReadLook up matters by number or client
Create mattersWriteNew matters land in Notion with client relation, type, status
Create clientsWriteNew clients are added to your Clients database
Capture LeadsWritePhone-call enquiries logged to a separate Leads database
Watcher taggingWriteDefault firm members tagged on every new Lead
Team taggingWriteSelected team members tagged on every new matter
Shared Note syncBothEdits sync both ways, with conflict resolution if both sides change at once
Address verificationWriteVerified-address metadata round-trips to structured properties
Certum linkWriteA certum:// URL is saved on each matter page for reopening

Notion setup wizard

  1. Create a Notion Integration

    Go to Notion Integrations, click New integration, give it a name (e.g., “Certum Draft”), select your workspace, and click Submit.

    Enable these capabilities:

    • Read content
    • Update content
    • Insert content

    Copy the Internal Integration Token — Notion’s current tokens start with ntn_; older tokens start with secret_. Both are accepted.

  2. Share Databases with the Integration

    In Notion, open your Clients database, click (More) → Connections → find your integration and connect it. Repeat for your Matters database (and later, the Leads database).

  3. Find Your Database IDs

    Each Notion database has a 32-character ID in its URL:

    https://www.notion.so/yourworkspace/abc123def456...?v=...
    ^^^^^^^^^^^^^^
    This is the database ID

    You can also paste the full URL into Certum Draft — it extracts the ID for you.

  4. Configure in Certum Draft

    Open Settings (,) → Notion. Paste your Integration Token and click Save Token — Certum Draft immediately checks the token with Notion, so the tick reads Saved — token works (or you get a clear rejection instead of finding out later). Enter both Database IDs; they save automatically a moment after you stop typing.

  5. (Optional) Set up the Leads database

    To capture phone-call enquiries as Leads, click Find or Create Leads Database… in the Leads section. Certum Draft detects the page hosting your Clients database, searches for an existing Leads database there, and either adopts it or creates a fresh one — only after you confirm. See Potential New Matters for the full Leads workflow.

After configuring, click Test Connection in the Connection section. Four rows show:

CheckWhat it Verifies
AuthenticationThe integration token is valid
Clients DatabaseThe database exists and the integration can read it
Matters DatabaseThe database exists and the integration can read it
Schema ValidationExpected property names are present

A passing run shows record counts (e.g., “1,420 clients”).

Certum Draft reads from and writes to specific property names. The names below match the live O’Neill Solicitors workspace and are verified at compile time against the source code.

PropertyTypeNotes
Client Full NameTitleFormat: SURNAME, Given Names
EmailEmail
PhonePhoneMobile and landline combined with | separator
Address (Legacy)Rich textCombined address — legacy plain-text field
Postal Address (Legacy)Rich text
Client AddressPlaceGoogle-Maps location property — handled separately
Client Postal AddressPlace
UnitRich textStructured unit / level / suite / shop
StreetRich textStreet address only
SuburbRich text
StateRich text
PostcodeRich text
CountryRich textStored only when non-AU
Address VerifiedCheckboxTrue when MapKit-verified or manually confirmed
Address Verified SourceSelectmapkit, manual, migration, or unknown
Address Verified AtDateWhen verification was stamped
Address Verified FingerprintRich textCanonical hash (v1:<16-hex>) for drift detection
Related MattersRelation→ Matters database
S/C Packet NoRich textSafe custody packet number
DeceasedRelationFor estate matters
Last EditedLast edited time
PropertyTypeNotes
DescriptionTitleMatter name / Re: line
No.NumberMatter number (only written when numeric)
TypeMulti-selectMatter type categories
StatusSelectActive, Completed, Closed, On Hold, Not started
ClientRelation→ Clients database
PropertyRich textProperty description for conveyancing matters
S/C Packet NoRich textSafe custody packet number
PeoplePeoplePerson(s) with carriage
Date of InstructionsRich textOpen date stored as text
FinalisedSelectClose-state marker (a select, not a date)
Shared NoteRich textUsed for file reference; syncs bidirectionally with the matter workspace
Rod NoteRich textFree-form note field
PhonePhone
DeceasedRelation
Created timeCreated time
Mel Date / Michael Date / Rod DateDatePer-practitioner date markers
Link to CertumURLcertum://open?matter=000150

Created by Find or Create Leads Database… in Settings → Notion → Leads, or adopted from an existing database in the same page. The schema is fixed; Certum Draft creates it with these properties:

PropertyTypeNotes
NameTitleLead name (caller name or matter description)
StageSelectnew, contacted, quoted, instructed, declined
SourceSelectreferral, repeat client, google or web, other
First contact channelSelectphone, email, walk-in, web form, other
Practitioner with carriageRich text
Next action byDateWhen to follow up
ContactRelation→ Clients database (linked once client created)
Raw caller nameRich textThe caller’s name as captured on first contact
Raw caller phoneRich text
Raw caller emailRich text
Likely matter typeRich text
NotesRich text
Decline reasonSelectno response, client declined, conflict, out of scope, referred elsewhere, other
Linked matterRelation→ Matters database (linked on conversion)
Conversion stateSelectnot_converted, matter_creation_attempted, matter_created, lead_linked, needs_repair
WatchersPeopleFirm members notified on every new Lead

Client surnames are stored uppercased in the Client Full Name title field. Format: SURNAME, Given Names (e.g., SCHRUTE, Dwight Kurt). When reading back from Notion, Certum Draft parses this title into separate surname and given_name fields for templates.

Matter numbers are stored in Notion’s No. field, which is a Number type. Certum Draft only writes when the matter number is purely numeric — non-numeric prefixes (custom identifiers, legacy formats) skip this field to avoid API errors.

  1. Client selected from Notion — Name parsed into components; phone split on | into mobile/landline; verified-address metadata round-tripped if present.
  2. Matter created — New page created in the Matters database with:
    • Description (matter name), Type (multi-select), Status set to “Active”
    • Client relation linked
    • Date of Instructions written as today’s date (text)
    • People property populated with selected team members (if Team Tagging is configured)
    • Link to Certum URL saved
  3. New client created (if not found in Notion) — Added to the Clients database with structured address fields and verification metadata.
  4. Shared Note initialised — Available for editing in the workspace.

If Notion is unreachable partway through, the app says so honestly instead of pretending the sync worked. A client that couldn’t be created in Notion is flagged Local only — not in CRM at the selection step, and a matter that couldn’t be linked shows Not linked to CRM on its Overview with a one-click Link to Notion retry.

Certum Draft separates mobile and landline numbers in the matter form, but Notion has a single Phone field.

Writing to Notion:

  • Both numbers combined with a pipe separator: {mobile} | {landline}
  • If only one number exists, no pipe is added

Reading from Notion:

  • If the value contains |, it’s split: first part is mobile, second is landline
  • If no pipe, the value is treated as a mobile number

When an address is confirmed in the Matter Workspace (via the MapKit-assisted AddressField), Certum Draft writes the structured components (Unit, Street, Suburb, State, Postcode, Country) plus the verification metadata (Address Verified checkbox, source, timestamp, fingerprint) to the Clients database. Re-opening the matter on a different machine preserves the “verified” state — the address won’t ask to be re-confirmed unless it materially changes.

The Shared Note card on the matter’s Overview syncs both ways with Notion:

  • From Notion: Loads when you open the matter, showing @mentions with highlighting. Edits made in Notion pull back into the app.
  • To Notion: Your edits push to Notion automatically as you type (after a short pause), with proper Notion @mention formatting.
  • @mentions: Typing @Name creates a real Notion mention — the person is notified.
  • Conflicts: If the note changed in Notion while you were editing, a banner says so instead of overwriting anyone’s work. Choose Use Notion to take the Notion version, or Keep Mine to push your draft over it.
  • A save that fails keeps your draft and retries — you won’t lose a note to a dropped connection.

When you edit a Lead in the inspector, the change always saves to Notion — if two Macs edit the same Lead at once, the last write wins. (An older version used to silently refuse saves it thought were stale; that check is gone, because it sometimes blocked perfectly good edits.) Rapid edits are coalesced so they don’t flood the API.

The app also writes only the columns your Leads database actually has. If your board is missing a column the app knows about, that field is skipped rather than making the whole save fail — and Certum Draft never creates or alters columns; your database schema stays yours to control.

Settings → Notion → Leads lets you select firm members who should appear on every new Lead’s Watchers people property. Notion notifies them automatically. If a watcher is later removed from the workspace, Certum Draft silently drops them from new Leads and shows a one-shot dismissable banner so you know to refresh the selection.

Each matter in Notion has a Link to Certum URL:

  • Format: certum://open?matter=000150
  • Purpose: Click the URL to reopen the matter in Certum Draft from anywhere — Notion mobile, a Slack message, a calendar invite.

When Notion is connected, the home dashboard shows three signal columns that pull from your Notion data:

  • Open Leads — Active Leads grouped by stage. Drives the firm’s intake pipeline at a glance.
  • Recent — Matters you’ve opened recently on this machine.
  • Recently Updated in Notion — Matters most recently edited in the Notion workspace (anyone’s edits), so you see what colleagues have been working on.

All three columns pull from Notion lazily and refresh on dashboard re-entry. Client names are resolved from the local matter index rather than per-row API calls.

Notion integration is optional. Without it:

  • Client details are entered manually for each matter.
  • Client information is stored in the local matter metadata.
  • All other features work exactly the same.
  • Matters exist only on disk (no cloud sync).
  • The dashboard signal columns are hidden.
  • The Leads capture flow is hidden.

”Test Connection” button is greyed out

Section titled “”Test Connection” button is greyed out”

All three credentials must be set: Integration Token (click Save Token), plus the Clients and Matters Database IDs (both save automatically as you type).

  • Check the token is valid (regenerate at Notion Integrations if unsure)
  • Verify the integration is shared with the database (Connections menu in Notion)
  • Verify the database ID is 32 characters (or paste the full URL — Certum Draft extracts the ID)
  • Ensure the integration is shared with the database
  • Check that you haven’t copied a view ID instead of the database ID
  • Schema validation found expected property names missing from your database
  • For new workspaces, this can fire because you haven’t added the optional structured-address properties yet. The integration still works — only writes to missing fields are skipped.
  • Add the missing property in Notion if you need it
  • Check the integration has Insert content capability
  • Verify the Matters database is shared with the integration
  • The matter may be filtered out of your default view — switch to “All matters” or remove the filter
  • The person must be a member of your Notion workspace
  • The name in the Shared Note must match exactly (case-insensitive) as it appears in Notion
  • The integration needs permission to mention users

Leads database setup says “Configured database isn’t reachable right now”

Section titled “Leads database setup says “Configured database isn’t reachable right now””

A previously-configured Leads database ID exists but the integration can’t currently see it (transient network blip, or the database was unshared from the integration). Click Retry — Certum Draft preserves your configured ID until you explicitly adopt a different database or create a new one.

  • Notion permits roughly 3 requests per second
  • Certum Draft throttles writes via a built-in rate limiter
  • Bursty operations (bulk client import) may still trigger 429 responses — wait a few seconds and the next write succeeds