OSTRATA Help

How can we help you?

Search guides for Operations, Live views, Setup, and integrations — or use /guide in chat.

Getting started with OSTRATA

Overview

OSTRATA is a CRM workspace where you manage records (contacts, deals, custom objects) and work with Pilot — an AI assistant — in Operations.

Admins configure the data model and access in Setup. Members spend most of their time in Operations (chat) and Views (saved live views).

Use plain language for CRM tasks (search, create, update records). Use /guide when you want to learn how the platform itself works.

  • Operations — chat with Pilot; threads, slash commands, record cards
  • Views — AI-generated mini-apps over your data
  • Setup (admin) — objects, fields, permissions, integrations, API keys
  • Personal space — connect your Calendar, Gmail, and Telegram

Objects and records

Objects

An object is a record type — Contacts, Companies, Deals, Cases, and any custom types your admin creates. Each object has its own fields and permissions.

  • Standard objects — built into OSTRATA (Contacts, Deals, etc.)
  • Custom objects — added in Setup → Objects for industry-specific data
  • API name — stable identifier Pilot and the REST API use (e.g. contacts, deals)

Records

  • Each row is one record — one contact, one deal, one case
  • Records store values in fields defined on that object
  • Pilot creates, searches, updates, and lists records in Operations
  • Live views and web forms read records from one object at a time

Who configures objects

  • Workspace admins define objects and fields in Setup
  • Members work with records in Operations and Views — they do not change schema
  • Bulk import (Setup → Data import) loads many records from CSV or Excel

Think of objects as tables and records as rows. Fields are the columns.

Fields and field types

Fields

  • Every object has fields — name, email, stage, amount, etc.
  • Label — what members see on record cards and forms
  • API name — fixed after creation; Pilot maps natural language to this name
  • Field order — drag to reorder on the object; affects Operations cards and web forms

Text & contact

  • Text (short) — single-line text, names, titles
  • Text (long) — multi-line notes and descriptions
  • Email — validated email addresses
  • Phone — phone numbers
  • URL — web links

Numbers & dates

  • Number — integers or decimals
  • Percent — percentage values
  • Currency — money; uses workspace default currency for formatting
  • Date — calendar date without time
  • Datetime — date and time (timezone-aware display)
  • Auto number — system-generated sequential IDs

Choice & location

  • Select (picklist) — fixed list of options; order affects dropdowns
  • Checkbox — true/false flags
  • Country — ISO country selection
  • Address — structured street, city, region, postal code, country

Lookup (relationships)

Lookup is a field type that links a record to one record on another object. See Relationships between objects for how links work in Pilot and related-record panels.

Use clear API names (deal_stage, not field_3). Pilot uses them when creating and filtering records.

AI field types

  • AI field (Long text) — AI-generated summary and next-action recommendation from record context
  • AI field (Score) — AI-generated score from 0 to 100; optional scoring prompt on the field
  • Read-only — members cannot type values; generation runs on save (except bulk import) or via manual refresh
  • Status — generating while AI runs, ready when complete, error when generation fails
  • Batch generation — workspace admins use Setup → AI and Agents to fill many records at once

All field types (reference)

OSTRATA supports the following field types when creating columns in Setup → Fields.

  • Text (short) — single-line text
  • Text (long) — multi-line notes and descriptions
  • Email — validated email address
  • Phone — phone number
  • URL — web link
  • Number — integer or decimal
  • Percent — percentage value
  • Currency — money; uses workspace default currency
  • Date — calendar date without time
  • Datetime — date and time
  • Auto number — read-only sequential ID assigned on create
  • Select — fixed picklist of options
  • Checkbox — true/false flag
  • Country — ISO country selection
  • Address — street, city, region, postal code, country
  • Lookup — link to one record on another object
  • AI field (Long text) — AI summary and next action
  • AI field (Score) — AI score 0–100

Relationships between objects

How lookups work

  • A lookup field on object A points to one record on object B
  • Example — Case.Contact points to a Contact; Case.Company points to a Company
  • When you set a lookup, OSTRATA stores the link and a display name for Pilot
  • Clearing a lookup removes the link; deleting a record may orphan lookups that pointed to it

Designing relationships

  • Add a lookup field on the “many” side — many Cases can point to one Contact
  • Choose target object when creating the field in Setup → Fields
  • Name fields clearly — contact, company, deal — so Pilot understands intent
  • One lookup = one related record; use separate fields for multiple relationship types

Reverse lookups

  • When viewing a Contact, Operations can show Cases that link to that contact
  • Reverse relations are discovered automatically from lookup fields on other objects
  • Related-record panels in Operations list linked records without manual configuration

Pilot & permissions

  • Pilot resolves lookup values by display name when creating records (e.g. “contact: Sarah Chen”)
  • Members need view access on both objects to see linked records
  • Field-level permissions can hide lookup columns from certain profiles

Define objects first, then add lookup fields to connect them. Pilot needs both sides to search and relate records.

Registry fields (Companies & Contacts)

  • SIREN / SIRET — French company identifiers used for registry lookup
  • legal_form — official form from the registry (distinct from CRM type/stage picklists)
  • registry_role, contact_source=registry — dirigeants imported from the French registry
  • bodacc_alert — flag when pending BODACC announcements need review on the record

Bulk data import

When to use import

  • Moving data from a spreadsheet or another CRM into OSTRATA
  • Loading hundreds or thousands of rows in one guided job
  • Re-importing an updated export to refresh existing records (Update duplicate mode)
  • Creating primary records and related records from one export (e.g. contacts with company columns)

Supported file types

  • CSV (.csv) — comma- or tab-separated exports
  • Excel (.xlsx, .xls) — first worksheet is used; extra sheets are ignored
  • First row must be column headers; blank data rows are skipped
  • Column headers must be unique within the file

Limits

  • Maximum file size: 10 MB
  • Maximum data rows: 10,000 (excluding the header row)
  • One primary object per import job
  • Optional one embedded related object per job (e.g. Companies on a Contacts import)

Split very large migrations into multiple files or jobs. Remove summary rows, totals, and footers before export.

What imports can do

  • Create new records on any standard or custom object
  • Update existing records when a row matches (email, phone, or name — see duplicate handling)
  • Create or update related records from the same file and link them via a lookup field
  • Map picklist/select values by label or internal value
  • Import dates, currency, URLs, email, phone, and text fields
  • Sync imported Events to Google Calendar when the importing admin has calendar connected

What imports cannot do

  • Write auto-number fields — OSTRATA generates these; map legacy IDs to a text field instead
  • Generate AI field values — bulk import skips AI; use Setup → AI and Agents after import
  • Override computed quote totals or other read-only calculated fields
  • Import partial data when validation fails — all rows must pass before anything is written
  • Change object schema mid-job — field layout is frozen at validation

How it works

  • Upload → choose source preset → pick primary object → map columns
  • Optionally map a related object (embedded) from extra columns in the same file
  • Choose duplicate handling (Create, Skip, or Update)
  • Validate every row — fix all errors before running
  • Run in the background; admins receive an in-app notification when finished

Who can import

  • Setup → Data import — workspace owners and admins only
  • REST API — POST /api/v1/import/jobs with a workspace admin API key (same rules and limits)

Members create records individually in Operations, Views, or web forms. Bulk load is an admin capability.

Bulk data export

When to use export

  • Periodic backup of workspace records
  • Moving data to spreadsheets or another system
  • Auditing record counts per object at a point in time

Output format

  • One CSV per object (API names as filenames)
  • System fields (id, name, timestamps, authors) plus all custom fields
  • ZIP encoding selectable (UTF-8 default with BOM for Excel)
  • Attachments are not included in v1 — data only

After export

  • Email and in-app notification when the job completes
  • Download from Setup → Data export within 48 hours
  • Permanent log of what was exported, when, and record counts

Operations

Guests

Members without an assigned seat are guests. Operations shows a locked overlay for guests — ask a workspace admin to assign you a seat to chat with Pilot.

Slash commands

Overview

Slash commands are optional shortcuts. Plain language works for the same tasks.

Type / in the composer to see autocomplete. Some commands accept an object name after a space.

  • /create — add a record (or start a create form)
  • /list — list records for an object with optional filters
  • /find — search records (natural language also works)
  • /view or /report — create a live view
  • /help — list commands and examples
  • /guide — ask how the platform works (setup, views, integrations)
  • /update and /link — use plain language to change or relate records until fully wired as slash commands

Creating and updating records

Overview

Pilot can create and update CRM records from Operations using plain language or slash commands. You need create permission on the object (check with your admin if a create fails).

For a guided empty form, use /create with an object name. For a one-shot create with field values, describe the record in plain language or pass name:value pairs.

  • Plain language: “Create contact name: Sarah Chen email: sarah@acme.com”
  • Slash command: /create contact name: Sarah Chen email: sarah@acme.com
  • Empty form: /create contact — Pilot opens a draft you can fill in
  • Natural phrasing: “Add Annie Hidalgo as a contact” or “Create a new deal called Q1 Renewal”
  • Updates: describe the change in plain language, e.g. “Update Sarah Chen’s stage to Closed Won”
  • Pilot maps your words to workspace objects and fields defined in Setup → Objects and Fields

The /guide command

Overview

Use /guide (or ask “how do I…?” in plain language) when you want help using OSTRATA — setup, Pilot, views, integrations, permissions, and how to create or find records.

For direct CRM actions with specific values, skip the how-to phrasing: “Create contact name: Sarah Chen email: sarah@acme.com”.

  • /guide — show usage and link to full documentation
  • /guide how do permissions work?
  • /guide how do I connect Google Calendar?
  • /guide what are live views?
  • /guide how do I invite a member?
  • /guide how do I create a contact?
  • Plain language also works: “How do I create a contact?”

Natural language examples

Overview

Describe outcomes in plain language. Pilot maps your words to the right object and fields.

  • Find contacts created this month
  • Create contact name: Sarah Chen email: sarah@acme.com
  • List deals in stage negotiation
  • Show my calendar for tomorrow
  • Search Drive for the Q1 proposal
  • Create a kanban of deals by stage
  • What's in my inbox from Acme this week?

Threads and sharing

Overview

Personal threads are private. You can share a thread with workspace members; shared threads appear under the Shared tab.

The first message auto-titles a thread unless you rename it manually.

  • New thread — start fresh from the sidebar
  • Share — invite colleagues to continue the same conversation
  • Thread memory — Pilot sees prior turns and structured snapshots (lists, drafts, calendar)

Google in Operations

Overview

Google Drive is connected once per workspace by an admin (Setup → Integrations). All members can ask Pilot to search Drive when connected.

Google Calendar and Gmail are personal — each member connects under Personal space → Connect.

  • Drive — workspace-level; admin connects in Setup
  • Calendar & Gmail — personal OAuth per member
  • Personal Gmail does not grant Drive access

Registry enrichment in Operations

Overview

When an admin enables French registry integration, any member with Companies access can enrich records from plain chat in Operations — English or French.

  • Create a company — “Create company Acme SAS” / « Crée la société Acme SAS » — choose standard creation or registry-enriched context when integration is enabled
  • Enrich a company — “Enrich Acme France from the registry” / « Enrichis cette société »
  • Search registry — find matches by name or SIREN before applying to a record
  • Dirigeants — list officers, then import selected contacts
  • BODACC — fetch announcements; approve or dismiss pending changes
  • In Telegram direct chat, tap inline buttons or reply with the option number or SIREN
  • If integration is disabled, Pilot explains that an admin must enable Setup → Integrations → French registry

Write email with AI

Overview

Ask Pilot to open email compose for a contact in Operations, or use Write email on a Contact or Case record card.

The compose panel opens with the recipient prefilled. Add optional instructions, use ✨ Draft with AI when you want a subject and body from CRM and Gmail context, edit as needed, then click Send. Nothing is sent until you confirm — emails go from your personal Gmail.

  • Natural language: “Write a next steps email to Sarah Chen” opens compose with instructions prefilled
  • Record card: expand a Contact (or Case with a linked contact) → Write email
  • Live views: add data-compose-email buttons and call OSTRATA.composeEmail({ contactId })
  • ✨ Draft with AI uses CRM + Gmail thread history when Gmail read access is connected
  • Send requires Gmail connected with send scope on Personal → Connect

What are Standard views?

What this page is for

Browse and edit CRM records in shared list and kanban layouts. Everyone sees the same starting layout; you can personalize columns and filters for yourself without changing the workspace default.

Who can do what

Roles below are workspace roles. Creating or editing records also depends on your object permissions (Setup → Permissions).

  • Everyone — open Standard views, search, filter, sort, switch list/kanban when both are allowed
  • Everyone — save personal columns, filters, and preferred view type (only you see these overrides)
  • Everyone — organize your sidebar: personal categories, rename/reorder lists, icon and color for yourself
  • Everyone — create, edit, or delete records when your profile allows it on that object
  • Everyone — clone the current layout to a Live view to customize further with AI
  • Workspace admins — add a Standard view for another object (+ in the sidebar)
  • Workspace admins — remove a Standard view for the whole workspace
  • Workspace admins — set the shared default columns and filters that members start from
  • Guests (no assigned seat) — read-only, standard objects only, capped at 25 records

Personal overrides never change what teammates see. Only admin defaults are shared.

Admin: categories, layout, and objects

Overview

Workspace admins create and rename sidebar categories (like Confluence spaces), set each object’s icon and color, and define the shared default columns and filters for a Standard view.

Use the + control to add a Standard view for another object. Choose list or kanban; for kanban, pick a picklist field (many values means horizontal scrolling).

Members can still save personal column and filter overrides without changing the workspace default.

Operations shortcuts and cloning

Overview

Seeded Standard views appear as shortcuts in the Operations header. Up to 5 show inline; more open from the caret menu. The workspace can pin at most 15 Standard views to Operations.

Clicking a shortcut opens a large modal (about 90% of the screen). Use Open in new tab for the full page under Views.

Clone to Live view creates an AI Live view from the current Standard layout so you can refine it with Modify chat.

  • Max 15 Operations shortcuts per workspace
  • First 5 shortcuts are inline; the rest are in the caret dropdown
  • Deals ships as list + kanban (stage); other seeded views are lists

Enrich a company from Standard views

Overview

When an admin enables French registry in Setup → Integrations, members who can update Companies see Enrich on the company record sidebar in Standard views.

Click Enrich to search the registry by the company name, pick a match, confirm that registry-related fields will be overwritten, then save. AI fields on the record recalculate after enrichment.

  • Button appears only when registry is enabled and you can update Companies
  • Search uses the company name on the record (SIREN is not required beforehand)
  • Confirm overwrites mapped registry fields already filled on the record (name, address, SIREN, legal form, and other mapped fields)
  • Operations chat enrichment still uses pending diffs for manual conflicts — Standard views Enrich is an explicit overwrite after confirm

What are Dashboards?

What this page is for

Use Dashboards when your team needs a recurring reporting surface — pipeline reviews, activity summaries, leadership snapshots — that stays aligned with your schema without regenerating HTML each week.

You design the layout once in a visual builder. Teammates reopen the same tabs, widgets, and chart settings from Views → Dashboards.

Where to open them

In the main navigation, open Views, then choose Dashboards. That entry sits next to Standard views and Live views under the Views menu.

  • Views → Dashboards — create and open dashboard records (grid builder)
  • Views → Standard views — shared list and kanban layouts for CRM objects
  • Views → Live views — AI-generated HTML mini-apps from Operations

Dashboards are their own Views entry. You do not create them from the Standard views list.

Create and edit a dashboard

From the Dashboards list, create a record, then open Edit to enter the builder. Arrange widgets on a 12-column grid, add tabs if you need separate reporting slices, and Save so everyone with access sees the same layout.

  • Create a dashboard record from the list
  • Open Edit to enter the builder
  • Add tabs and widgets, then Save
  • Close without saving discards unsaved layout changes
Dashboard builder edit mode with a line chart, embedded contacts view, and iframe widget on a 12-column grid

Charts on live CRM data

Chart widgets read current workspace records from a source object you pick. Configure type, axes, aggregates, and filters in Chart settings — numbers refresh when someone opens the dashboard.

  • Bar, line, and gauge charts
  • Source object from your workspace schema (including custom objects)
  • Optional filters and relative date windows
Chart settings sidebar for a bar chart over Contacts with source, filter, and X-axis controls

Dashboards vs Live views

Pick the surface that matches how the layout should be authored.

  • Dashboards — you place widgets on a grid; best for persistent, shared reporting
  • Live views — Pilot generates HTML from Operations (/view or plain language); best for one-off or exploratory layouts
  • Both respect workspace schema and permission profiles

Dashboard builder

Edit mode

While editing you see tabs, Add widget, and Cancel / Save. Widgets show drag handles and delete controls on the grid.

Add tabs to split related reporting (for example Pipeline and Activity). Each tab has its own widget set. Save writes the page layout for everyone who can open that dashboard.

  • Up to 20 tabs per dashboard
  • Up to 50 widgets per tab
  • Title the dashboard from the builder header before saving
  • Close without saving discards unsaved layout changes
Dashboard builder edit mode with a chart, embedded view, and iframe widget on the grid

Mix chart, view, and iframe widgets on one tab when a review needs numbers and context together.

Saving and sharing

Save persists the layout on the dashboard record. Anyone with permission to open that record sees the same tabs and widgets the next time they open it.

  • Edits are not live for others until you Save
  • Cancel exits edit mode without writing layout changes
  • Reopen Edit anytime to adjust placement or add widgets

Dashboard widgets

Widget types

Four widget types cover most reporting needs. Add as many as you need per tab (up to the per-tab limit).

  • Chart — bar, line, or gauge from a CRM object (source schema)
  • View — embed a Standard view by view ID
  • iFrame — show an external http(s) URL
  • Rich text — notes, headings, or context beside charts

Chart settings

Select a chart widget to open Chart settings: title, chart type, source object, filter, and X-axis field, granularity, and sort.

Data refreshes from current workspace records when you open the dashboard — charts are not static exports.

Chart settings sidebar for a bar chart with Contacts source and creation date on the X axis

Use Hide zeros / omit empty buckets when sparse dates clutter the axis.

Dashboard chart filters

Edit filter from chart settings

Open Edit filter on the chart settings panel without leaving the builder. Combine rules with AND or OR.

Operators cover text, empty/not empty, comparisons, and relative dates (past 7 days, this month, this quarter, and similar).

  • Filters apply to that chart’s source object only
  • Empty categories can be omitted from the chart when configured
  • Change filters and save the dashboard so teammates see the same scoped metrics

Save after changing filters — unsaved filter edits stay local to your edit session.

What are Live views?

Overview

Live views are AI-generated HTML mini-apps over your CRM data. Each view is saved in your workspace and listed at Views in the main navigation.

When Pilot creates a view, a link appears in your Operations thread. Open it anytime from Views or from that link.

How Live views are built

Overview

Behind the scenes, creating a live view follows a consistent pipeline:

  • Pilot resolves which objects (Contacts, Deals, custom types) apply from your prompt and /view arguments
  • The server loads matching records and pre-aggregated datasets (counts, sums, stage breakdowns) as a runtime seed
  • A dedicated model generates self-contained HTML that binds to OSTRATA.renderDataset and other runtime APIs
  • The view is stored with its original prompt, schema context, and HTML version
  • When you open the view, fresh seed data is injected at load time so numbers stay current

Creating views

Overview

Create views in Operations using /view or /report, or describe what you want in plain language.

  • /view deals by stage
  • /report pipeline by stage
  • Dashboard of deals closing this quarter
  • Contacts created this month as a table
  • Kanban of deals in negotiation

Opening and sharing

Overview

All workspace members with access to the underlying objects can open a view from Views or from a thread link.

Views live at /dashboard/views/[id]. Non-owners can view but cannot modify.

Refining a view

Overview

Open a view you own and use the Modify chat dock to describe changes — layout, colors, filters, chart type, column order.

Use the element picker to select part of the view and ask for a targeted change. Pilot regenerates HTML while keeping the original prompt context.

Only the view owner can modify. Others see a read-only version.

  • Make the kanban columns wider
  • Add a bar chart for revenue by stage
  • Filter to deals over $50,000
  • Use a darker theme for the dashboard

View types and layout

Overview

Pilot chooses layout from your wording: tables for lists, kanban for stage columns, dashboards for multi-widget summaries, charts when you ask for bar/line/pie views.

Mention the object, grouping field (e.g. stage), and any filters in your prompt for best results.

Permissions and data

Overview

Live views respect your permission profile — you only see objects and fields you can read in Operations.

If the workspace has no matching records, the view may appear empty. Date filters (e.g. “created this month”) are applied when seed data is built.

Live view examples

Overview

Copy or adapt these prompts in Operations:

  • /view deals by stage
  • /report pipeline by stage
  • Contacts created this month as a table
  • Kanban of deals in negotiation
  • Dashboard: revenue by stage with a bar chart
  • Case queue of open support tickets sorted by priority
  • Table of contacts at Acme with email and phone
  • Chart: deal count by owner for this quarter
  • Modify: make the kanban columns wider
  • Modify: add a filter for deals over $50k
  • Modify: switch the chart to a horizontal bar
  • Regenerate the view with the same prompt but include close date

Setup

What this page is for

Choose a section from the Setup sidebar. The guide panel updates to match the page you are on.

  • Objects & Fields — define record types and columns
  • Data import — bulk load records from CSV or Excel
  • AI and Agents — batch-generate AI Insights and AI Score fields
  • Members & Permissions — control who can access data
  • Logs — audit record changes, Pilot turns, and MCP tool use (14-day retention)

Workspace settings

What this page is for

Workspace settings controls branding, onboarding, and org defaults. Everything on this page applies to the whole workspace — not individual members.

Workspace name

The label members see for your organization. It does not change CRM data or object names.

  • Shown in the Setup sidebar header and workspace switcher surfaces
  • Used in join-request and approval emails when someone asks to access this workspace
  • Visible in the Telegram mini-app header when members open OSTRATA from Telegram

Renaming the workspace updates labels immediately after save. Existing records, permissions, and integrations are unchanged.

Pilot name & avatar

Pilot is the AI assistant in Operations. One avatar image is shared for both the workspace and Pilot.

  • Pilot name — appears on assistant messages, empty states, and thread UI in Operations
  • Avatar — shown next to Pilot in chat and in Setup; upload JPEG, PNG, WebP, or GIF
  • Save names — click Save identity after editing workspace or Pilot name

Changing Pilot name or avatar only affects UI labels. It does not retrain Pilot or alter conversation history.

Joining this workspace

The workspace code is how new users request access after creating an account.

  • Copy the code from the panel at the top of this page and share it with teammates
  • New users enter the code during onboarding; their request appears in Setup → Approvals
  • You approve or reject there and assign a permission profile on approve

Default currency

The ISO currency code used for money fields across the workspace.

  • Controls how money values are formatted in Operations record cards and live views
  • Applies to new money fields you create after the change
  • Does not convert existing stored amounts — only display formatting and defaults for new columns

Pick currency before defining money fields if you operate in a single region. Changing later does not rewrite historical values.

Details panel

  • Read-only snapshot: your role, workspace status, member count, created date
  • Useful for confirming you are in the correct workspace before making changes

Company & billing

Legal name, address, and billing email for invoices and payment records. This is separate from workspace branding and does not appear in Operations.

  • Legal company name and address — used on billing documents
  • Billing email — where invoice notifications are sent
  • Tax / VAT ID — optional; include if required for your region

When you save changes

  • Identity (name, Pilot, avatar) — visible to all members on next page load
  • Currency — affects formatting going forward; review money fields after changing
  • Billing — stored for account records only; no impact on CRM or Pilot behavior
  • Join code — tied to workspace slug; share the current code after any slug change

Seats

Seats

Platform admins grant seats to the workspace. Workspace admins assign seats to people. One user = one seat.

Setup → Settings shows consumed vs total seats. Members without a seat are guests with the system Guest profile only.

  • Invite or approve join with Assign seat — seat is consumed when they accept/join
  • Toggle seat on/off per member (needs an available seat)
  • Revoking an admin’s seat auto-demotes them to guest
  • Expired seats return the user to guest

Guest limits: read-only standard objects (max 25 records), no Operations interaction, no integrations, no live-view sharing.

Members

What this page is for

Members lists everyone with access. Use email invites for people you know; join-code requests are handled on the Approvals page.

Inviting by email

  • Open the invite flow and enter an email address
  • Choose a permission profile before sending — this sets their access from day one
  • Check Assign seat to give them full access on acceptance; leave it unchecked to add them as a guest
  • The recipient receives a join link by email
  • Pending invites appear in the members list until accepted or expired

Managing members

  • View role, permission profile, and status for each person
  • Change profile — reassign access without removing the member
  • Toggle the seat switch to grant or revoke a seat (needs an available seat to turn on)
  • Deactivate — revokes login and Pilot access; records they created stay in the CRM

Roles on this page

  • Owner / Admin — can open Setup
  • Member — Operations and Views only
  • Guest — no seat assigned; read-only standard objects, no Operations interaction

Join-code requests (someone who signed up and entered your workspace code) are reviewed under Setup → Approvals, not here.

Approvals

What this page is for

When a new user signs up and enters your workspace code, their request lands here until you approve or reject it.

Reviewing a request

  • Each row shows the requester’s name, email, and when they asked to join
  • Select a permission profile before approving — required for access to start
  • Assign seat is checked by default — uncheck it to add them as a guest instead
  • Approve — adds them as a member; they receive a confirmation email
  • Reject — dismisses the request; they receive a notification email

Badge & empty state

  • A count badge on Approvals in the sidebar shows pending requests
  • When no requests are pending, the list is empty — nothing to action

Email invites sent from Members skip this page because you pre-assign a profile when sending the invite.

Permissions

What this page is for

Profiles are reusable access templates. Assign them when inviting members, approving join requests, or creating API keys.

Profile list

  • Each profile shows how many members and API keys use it
  • Open a profile to edit object and field rules
  • Create profile — start from scratch with a descriptive name (e.g. Sales, Read-only)
  • Admin profile — locked full access; cannot be deleted

What profiles control

  • Object access — view, create, update, delete per record type
  • Field access — optional read/edit overrides per column
  • Pilot and REST API both enforce the active member’s or key’s profile

Create restrictive profiles before inviting people or issuing API keys. You can widen access later.

Create permission profile

What this page is for

Build a new access template before assigning it to members or API keys.

Naming

  • Use a clear name — e.g. Sales rep, Read-only analyst, Integration bot
  • Members see profile names when admins assign access

Setting rules

  • Start with object-level rules — which record types can be viewed or edited
  • Add field overrides only where you need to hide or lock specific columns
  • Save the profile, then assign it from Members, Approvals, or API keys

Least privilege first. Deny delete on objects where members should only read or update.

Edit permission profile

What this page is for

Changes apply immediately to every member and API key using this profile.

Object rules

  • Toggle view / create / update / delete per object type
  • Members lose access to objects you remove from their profile on next request

Field rules

  • Optional per-field read and edit overrides
  • Useful to hide internal fields from certain roles

Before you delete

  • Reassign members and revoke or reissue API keys that use this profile
  • The locked Admin profile cannot be deleted

Pilot respects these rules in real time — test with a member account after major changes.

Objects

What this page is for

Objects define what kinds of records exist: Contacts, Deals, Companies, and any custom types you add.

Object list

  • Standard objects — built-in CRM types; cannot be deleted
  • Custom objects — create for industry-specific record types
  • Open an object to manage its fields, order, and settings

Creating a custom object

  • Choose a display name and API name at creation
  • API name is used by Pilot and REST API — avoid changing it after go-live
  • Add fields on the Fields page or from the object detail view

Define objects before fields. Add lookup fields to connect objects — see Fields for relationship types.

Object settings

What this page is for

Manage one object’s display name, API name, attachments, field list, and field order.

Rename & API name

  • Display name — updates labels in Operations, Views, and forms
  • API name — stable identifier for Pilot and integrations; changing it breaks existing API calls

Fields on this object

  • Drag to reorder — affects Operations record cards and web forms
  • Show in layout — hide optional fields from Operations, Live Views, and Telegram while keeping them searchable
  • Required fields cannot be hidden from the layout
  • Add field — create a new column on this object
  • Open a field — edit type, picklist values, or delete

Attachments

  • Enable when members should upload files on records of this type
  • Disable to hide attachment UI for this object

Deleting a custom object is irreversible and removes all its records and fields.

Fields

What this page is for

Fields are columns on each object. Pilot reads field types and API names when searching, filtering, creating, and updating records.

Browsing fields

  • Fields are grouped by object — expand an object to see its columns
  • Open a field to edit label, type-specific options, or delete
  • Create field — add a column to the selected object

Text & contact types

  • Text (short) — names, titles, single-line values
  • Text (long) — notes and descriptions
  • Email, Phone, URL — validated formats for contact data

Numbers & dates

  • Number, Percent — numeric values
  • Currency — money; formatted with workspace default currency
  • Date, Datetime — scheduling and filters
  • Auto number — read-only sequential IDs generated by the system

Choice & location types

  • Select — picklist of fixed options; drag to reorder options
  • Checkbox — yes/no flags
  • Country — ISO country dropdown
  • Address — structured street, city, region, postal code

Lookup — linking objects

Lookup fields connect a record to one record on another object. They are how relationships are modeled in OSTRATA.

  • Example — Case.Contact → one Contact; Case.Company → one Company
  • Choose target object when creating the lookup field
  • Pilot sets lookups by display name (e.g. “contact: Sarah Chen”)
  • Related records appear on record cards when other objects link back

See CRM basics → Relationships in the help center for the full data model. Use clear API names — deal_stage, not field_3.

AI field types

  • AI field (Long text) — generates a summary and next-action recommendation from record context
  • AI field (Score) — generates a 0–100 score; optional scoring prompt on the field
  • Read-only in forms — values are filled by AI, not typed by members
  • Status — generating, ready, or error; Operations shows a sparkle control to refresh one record
  • Bulk import skips AI generation — use Setup → AI and Agents after import

Field settings

What this page is for

Edit one field’s label, help text, type-specific options, and API name.

Label & help text

  • Label — what members see on record cards and forms
  • Help text — optional hint shown during data entry

Select (picklist)

  • Add, reorder, or deactivate options
  • Option order affects dropdowns and filters in Operations
  • API names for options are fixed after creation

Lookup (relationship)

  • Target object — which record type this field can point to
  • Each lookup stores one related record ID plus a display name
  • Changing target object after data exists can invalidate existing links — plan before go-live
  • Reverse lookups — other objects that point here show as related records automatically

Other types

  • Currency — inherits workspace default currency for display
  • Address — sub-fields for street, city, region, postal code, country
  • API name — fixed after creation; used by Pilot and REST API

Delete field

Removes that column’s data from every record on this object. This cannot be undone.

To hide a field from some roles without deleting data, use permission field rules instead.

Web forms

What this page is for

Web forms let external visitors submit data that creates records on a chosen object.

Form list

  • Each form targets one object type
  • Open a form to edit fields, publish embed code, or view submissions
  • Create form — start a new public form

Typical workflow

  • Create form → map inputs to object fields → publish embed snippet
  • Submissions create records; deleting a form does not delete records already created

Ensure your team’s permission profiles allow create access on the target object.

Create web form

What this page is for

Define a new public form and choose which object receives submissions.

Setup steps

  • Name the form for internal reference
  • Select target object — each submission creates a record of that type
  • Add and map fields after creation

Edit web form

What this page is for

Map form inputs to object fields, customize copy, publish the embed snippet, and review submissions.

Fields & mapping

  • Add inputs and map each to an object field
  • Help text — optional guidance for respondents
  • Reorder fields to control layout in the embed

Publish & submissions

  • Copy embed code to your website or landing page
  • Submissions log — see what was received and when
  • Each successful submission creates a CRM record

Data import

What this page is for

Import rows from a spreadsheet or CRM export into standard or custom objects. Every row is validated before any data is written.

Wizard steps

  • Upload — CSV or Excel, up to 10 MB and 10,000 rows
  • Source — Spreadsheet, External CRM (suggested mappings), or custom mapping
  • Map columns — match file headers to OSTRATA fields
  • Related object — optional embedded company (or other) data in the same file
  • Duplicates — create, skip, or update matched records
  • Validate — all-or-nothing check; fix every error before import runs

After import

  • Imports run in the background — check Import history for status
  • You receive an in-app notification when the job finishes
  • Re-importing the same file with Update merges non-empty values into matched records
  • Bulk import does not generate AI fields — use Setup → AI and Agents to fill them in batch
  • REST API — same workflow at POST /api/v1/import/jobs (workspace admin key)

Schema is frozen at validation. If you add fields mid-import, start a new import.

Data export

What this page is for

Download a copy of your workspace data for backup, migration, or analysis. Each object is exported as a separate CSV inside a ZIP file.

Export now

  • Choose file encoding (UTF-8 recommended)
  • Optionally replace line breaks with spaces for easier re-import
  • Include all objects or pick specific objects with the searchable multi-select
  • Export runs in the background — you receive an email and in-app notification when it finishes

Retention

  • ZIP download links expire after 48 hours
  • Export history log entries are permanent and cannot be deleted
  • Expired exports remain in the history table with an Expired status

Use Include all objects on scheduled exports so newly created objects are included on each run.

Data export — schedule

Schedule options

  • Weekly — pick a day of the week
  • Monthly — pick a day of the month (1–28)
  • Start and end dates define the active window
  • Preferred start hour uses the admin’s personal timezone from Personal settings

Queue note

Exact start time depends on background job queue activity, similar to other scheduled workspace tasks.

Import — upload file

Supported formats

  • CSV (.csv)
  • Excel (.xlsx, .xls) — only the first sheet is imported
  • UTF-8 or standard Excel encoding; dates are parsed from cell values

Limits

  • Maximum file size: 10 MB
  • Maximum data rows: 10,000 (header row not counted)
  • Blank rows are skipped; completely empty files are rejected

File structure

  • First row must be column headers — every column needs a unique header name
  • One primary object per file (e.g. all rows are Contacts, or all rows are Companies)
  • Related object columns are optional — map them in a later wizard step
  • At least one data row is required after the header

Before you upload

  • Remove totals, subtotals, footers, and notes rows from the export
  • Delete or hide extra worksheets you do not need (Excel)
  • Export one object type per file when data is not combined in one row
  • For separate company and contact files, import Companies first, then Contacts

One file with contact rows and company columns can use embedded related-object mapping instead of two separate imports.

Import — column mapping

Source presets

  • Spreadsheet — generic CSV or Excel; map columns manually
  • External CRM — suggests common export column names (contacts, companies, deals)
  • Custom mapping — no automatic suggestions

Field mapping rules

  • Text, email, phone, URL, date, and currency fields accept typical export values
  • Select / picklist fields accept option labels or internal values
  • Lookup fields on the primary object are not filled from arbitrary columns — use embedded related-object mapping instead
  • Required fields must be mapped; validation fails if a required value is missing

Fields that behave differently

  • Auto-number — generated by OSTRATA on create; map legacy IDs (e.g. CASE-1234) to a text field
  • Computed quote totals — read-only; cannot be imported
  • Events — imported records sync to Google Calendar when your account is connected

If a column looks like a legacy ID but maps to an auto-number field, OSTRATA warns you to use a text field instead.

Import — related records

When to use embedded mapping

  • Your export combines primary and related data in one row (common CRM contact exports)
  • You want Companies (or another object) created and linked without a separate import file
  • Each row shares a match key for the related record (usually company name)

How it works

  • Choose the related object type (e.g. Companies)
  • Map file columns to fields on that object (name, website, industry, etc.)
  • Pick the column that identifies each related record — rows with the same value share one related record
  • Choose the lookup field on the primary object that should point to the related record (e.g. Contact → Company)
  • OSTRATA creates or updates related records first, then creates primary records with the link set

Example

A contact export with columns Email, First name, Company name, and Company website: map Email and names to Contacts, enable embedded Companies, map Company name → Name and Company website → Website, set Company name as the match key, and link via the Company lookup on Contacts.

Duplicate handling applies to both

  • Related records use the same Create / Skip / Update mode as primary records
  • Companies and name-based objects match on normalized name
  • Validation shows separate create, update, and skip counts for primary and related records

If companies and contacts are in separate files, import Companies first, then import Contacts without embedded mapping.

Import — duplicate handling

Modes

  • Create — always insert a new record, even when a match exists
  • Skip — leave existing records unchanged; unmatched rows are still created
  • Update — merge non-empty import values into matched records (recommended for re-imports and migrations)

How records are matched

  • Contacts — email address first, then normalized phone number
  • Companies and most name-based objects — normalized name
  • Embedded related records — match key column you choose (usually company name)

Update mode behavior

  • Only non-empty values in the file overwrite existing field values
  • Empty cells leave the current value unchanged
  • Re-importing an updated CRM export refreshes changed fields without duplicating records

Update is the default. Use Create only when you intentionally want duplicates.

Import — validate

What validation checks

  • Required fields have values on every row
  • Email, phone, date, currency, and select values are valid for their field type
  • Duplicate match preview — counts of creates, updates, and skips for primary and related records
  • Embedded mapping — match key, link field, and related field mappings are complete
  • Events — Google Calendar connection when importing Events (warning if disconnected)

All-or-nothing commit

  • No partial imports — if any row fails, nothing is written
  • Schema is frozen at validation — adding fields mid-import requires starting a new job
  • After validation passes, run the import; large jobs execute in the background

Duplicate matching (summary)

  • Contacts — email, then normalized phone
  • Companies and name-based objects — normalized name
  • Update mode merges only non-empty import values into matched records

Review the validation summary counts before running. They reflect your duplicate mode and embedded mapping.

Import history

Job statuses

  • Draft — upload started but import not finished; no CRM data written
  • Running — import in progress
  • Completed — records created or updated
  • Failed — no partial data; fix the file and import again

Cleaning up drafts

  • Remove — delete a single history row (any job that is not running)
  • Clear drafts — remove all draft sessions for the workspace
  • Starting a new import discards your other draft and ready sessions
  • Drafts older than 7 days are removed automatically when you open this page

AI and Agents

What this page is for

After bulk import or when older records never received AI values, run a batch job here instead of refreshing records one by one in Operations.

  • Only objects that already have AI fields appear in the object dropdown
  • One batch job runs at a time per workspace
  • Progress, cancel, and recent job history are shown on this page

Filters

  • Object — the record type whose AI fields should be generated
  • Created from / Created to — include records whose created_at falls in this date range (inclusive)
  • Preview count — updates when you change object, dates, or mode

Use a narrow date range first to confirm counts before running a large batch.

Which records to process

  • Missing or failed only — skips records that already have ready AI values; includes empty and error states
  • Regenerate all — recalculates AI fields even when values already exist
  • Records with AI fields currently generating are skipped until they finish

Limits & behavior

  • Maximum 500 records per batch — if more match, only the earliest 500 by created date are queued
  • Each record refreshes all AI fields on that object in one pass
  • Bulk import does not auto-generate AI fields — run a batch here after import when needed
  • Manual sparkle refresh in Operations still works for individual records

During and after a batch

  • Start batch — job moves to running; progress bar shows processed / total
  • Leave the page — the job continues in the background
  • Cancel — stops after the current chunk; already-finished records keep their new values
  • Recent jobs — lists past batches with succeeded, failed, and status

API keys

What this page is for

API keys authenticate programmatic access to your workspace. Each key inherits exactly one permission profile.

Creating a key

  • Create a permission profile first if you need custom access
  • Issue key — name it for the integration (Zapier, internal ETL, etc.)
  • Copy the secret immediately — it is only shown once

Managing keys

  • Revoke — disable a compromised or unused key
  • Keys inherit the attached profile — use workspace admin for bulk import APIs
  • Use Bearer authentication on /api/v1 endpoints

Bulk import jobs live at /api/v1/import/jobs. See REST API documentation for the full workflow.

Webhooks

Outbound webhooks

  • OSTRATA POSTs JSON when selected objects are created, updated, or deleted.
  • Point each rule at a subscriber URL (your automation platform, custom service, etc.).
  • Header auth, basic auth, or HMAC signature — match what the subscriber expects.
  • Per-rule toggle to include bulk import events (off by default).
  • Editable test payload sends webhook.test without touching live records.

Inbound webhooks

  • External systems POST JSON to /api/webhooks/inbound/{id} with Bearer whk_… token.
  • Map JSON paths to CRM fields: create, update, or upsert on a target object.
  • Assign a permission profile to cap what the endpoint can write.

Event logs

  • Filter by direction (inbound/outbound), date, status, and webhook rule.
  • Inspect received payload, mapped fields, HTTP response, and record link.
  • Logs retained 14 days.

Example: n8n

These steps use n8n as a concrete reference. The same flow works on any tool that can receive authenticated POST webhooks or send Bearer-authenticated HTTP requests.

  • Outbound — In n8n, add a Webhook node: HTTP Method POST, Authentication Header Auth.
  • Copy the Production URL (e.g. https://your-n8n.example/webhook/abc-123).
  • In OSTRATA Setup → Webhooks → Outbound, add a rule: pick objects and events, paste the URL, choose Header auth.
  • Save and copy the header secret shown once. In n8n Header Auth, use the same header name (default X-OSTRATA-Webhook-Key) and secret value.
  • Activate the workflow, click Test in OSTRATA, and confirm the delivery in Event logs.
  • Inbound — In OSTRATA Setup → Webhooks → Inbound, create an endpoint, map JSON paths, and copy the URL plus whk_… token shown once.
  • In n8n, add an HTTP Request node: POST to the inbound URL, Bearer Auth, JSON body from the prior node.
  • Run the workflow and verify payload, mapped fields, and record link under Event logs (Inbound).

Changing authentication on an existing outbound rule generates new credentials on save. Update the subscriber credential (e.g. n8n Header Auth) before sending live traffic.

Authentication: Header Auth
Name: X-OSTRATA-Webhook-Key
Value: <secret copied from OSTRATA after save>
Method: POST
URL: https://your-ostrata.example/api/webhooks/inbound/<webhook-id>
Authentication: Bearer Auth
Token: whk_<token copied once from Setup>
{
  "customer": {
    "email": "ada@example.com",
    "name": "Ada Lovelace"
  }
}

Logs

Activity tab

  • Record create, update, and delete events with object API name and record id.
  • Pilot turn summaries (channel, turn kind, tools used) without message content.
  • Filter by category, source, member, and date range.
  • Export the current filters to CSV (up to 5,000 rows per download).

MCP tab

  • Every MCP tool call with connection name and member who owns the connection.
  • Success or error status, duration, and compact input summary.
  • Export the current filters to CSV (up to 5,000 rows per download).
  • High-volume read tools log object names and limits only — not full filter payloads.

Retention

  • Logs older than 14 days are purged automatically.
  • Revoking an MCP connection or removing a member preserves historical rows; actor may show as unknown if the user was deleted.

Integrations

What this page is for

Choose which integrations to configure for this workspace. Each card opens a dedicated setup page.

Available integrations

  • Google — workspace Drive (admin) plus personal Calendar & Gmail (each member)
  • Telegram — workspace bot enablement, then per-member account linking
  • French registry — on-demand SIREN enrichment and BODACC for Companies (admin enables)
  • MCP — members connect Claude or Cursor from Personal space → MCP (personal omk_ keys)
  • Webhooks — outbound CRM events and inbound JSON endpoints (Setup → Webhooks); pairs well with automation tools (e.g. n8n)

Workspace vs personal

  • Workspace — admin connects once; applies to all members (Google Drive, Telegram enable)
  • Personal — each member connects under Personal space → Connect (Calendar, Gmail, Telegram) or Personal space → MCP (AI tools)

Open the integration card for step-by-step instructions specific to that service.

Google

What this page is for

Authorize Google Drive at the workspace level so Pilot can search files shared with the connected account.

Google Drive (here)

  • Connect — admin signs in with the Google account that owns or can access team files
  • Disconnect — revokes Drive access for the whole workspace
  • Refresh index — manually re-index Drive files for Pilot search (workspace admins)
  • Tokens are encrypted at rest on the server

Drive index refresh (manual)

After Drive is connected, OSTRATA builds a searchable index for Pilot. Admins can trigger a manual refresh from this page.

While indexing is in progress, the refresh button stays visible but cannot be clicked.

After the index is up to date, manual refresh is limited to once per hour. The one-hour window starts when indexing finishes successfully. Use the info icon beside the refresh button to see when the next refresh is allowed.

If indexing fails, you can force a refresh immediately — the hourly limit does not apply after an error.

Calendar & Gmail (not here)

  • Configured per member under Personal space → Connect
  • Pilot uses personal Calendar for scheduling and Gmail for inbox tasks
  • Personal Gmail does not grant Drive access

Members can use Calendar and Gmail before Drive is connected, but Drive search requires admin setup on this page.

Telegram

What this page is for

Turn Telegram on or off for the workspace. Members link their own accounts after you enable it here.

Admin actions

  • Enable — allows members to connect Telegram from Personal space → Connect
  • Disable — blocks new links; existing links stop working
  • Requires TELEGRAM_BOT_TOKEN and webhook configuration on the server

After enabling

  • Each member opens Personal space → Connect → Connect Telegram
  • They tap Start in the bot chat to finish linking
  • Bot commands: /new, /history, /help, /guide, /app, /unlink

If Telegram is disabled here, members cannot link even when the bot is configured globally.

French registry

What this page is for

Enable French registry enrichment for the workspace. When enabled, members can enrich companies from Operations (Pilot), from the Enrich button on a Companies record in Standard views, and admins can enrich from this page.

Creating a new company in Pilot or Standard views offers standard creation or registry-enriched context (INSEE fields only — no BODACC on create).

Disabled by default — no automatic enrichment when creating records without choosing the enriched path.

Data sources

  • recherche-entreprises — SIREN, address, legal form, NAF, dirigeants
  • BODACC — legal announcements stored as pending events until approved
  • VIES — VAT validation when applicable

Approval & conflicts

  • In Operations (Pilot), fields you edited manually are not overwritten — Pilot shows pending diffs
  • In Standard views, Enrich asks you to confirm, then overwrites mapped registry fields on the company
  • Approve or dismiss BODACC / pending Pilot diffs from the company record banner or via Pilot follow-up
  • BODACC data includes DILA / Etalab attribution on display

Reopen the company record to act on pending registry changes — there is no notification bell in v1.

Dirigeants import

  • List officers from the registry, then import selected dirigeants as Contacts
  • Natural persons map to first/last name; legal entities use full legal name
  • Registry contacts never include email or phone

Personal settings

What this page is for

Personal settings belong to you — not the workspace. Changes here affect how you appear to teammates and how timestamps display for you.

Profile photo

  • Upload or remove your avatar — shown in Operations and member lists
  • If you signed in with Google, your OAuth profile picture may already be used
  • Avatar is per workspace membership, not global across all OSTRATA accounts

Name & contact

  • First and last name — visible to workspace admins and in shared threads
  • Phone — optional; stored on your membership profile
  • Email — your sign-in address; changing it may require confirmation in a future release

Timezone

  • Used for displaying dates and times in Operations and record cards
  • Defaults to your browser timezone when not set
  • Does not change workspace-wide settings or other members’ timezones

Password

  • Shown only when your account uses email/password sign-in
  • Enter current password before setting a new one
  • OAuth-only accounts (e.g. Google) manage passwords through that provider

For Google Calendar, Gmail, and Telegram, use Personal space → Connect — not this page.

Guest badge

If you have no seat in this workspace, a Guest badge shows here. Ask a workspace admin to assign you a seat for full access.

Connect

What this page is for

Personal connections belong to you — not the whole workspace. Pilot uses them in your Operations threads and Telegram chats only.

  • Google Calendar & Gmail — OAuth for scheduling and inbox tasks
  • Telegram — link your account after an admin enables the workspace bot

Guests (no assigned seat) cannot connect personal integrations. Ask a workspace admin to assign you a seat.

Google Calendar & Gmail

  • Connect — OAuth sign-in with your Google account
  • Calendar — Pilot checks availability and schedules on your behalf
  • Gmail — Pilot searches and summarizes your inbox in your threads
  • Reconnect if Google scopes change or access expires

Telegram

  • Requires workspace admin to enable Telegram in Setup → Integrations first
  • Connect — opens deep link to the workspace bot; tap Start to finish
  • Disconnect — removes Pilot access from your Telegram account

Privacy

  • Other workspace members cannot see your personal tokens
  • Workspace Google Drive is separate — admin connects it in Setup → Integrations → Google

Personal Gmail access does not include Google Drive.

Connect AI tools (MCP)

What this page is for

Create and manage personal MCP connections so Claude, Cursor, and other AI tools can read and write CRM data within your permission profile.

Each member has their own omk_ keys — separate from admin REST API keys (osk_) on Setup → API.

What MCP does

MCP (Model Context Protocol) lets external AI tools call OSTRATA on your behalf — search records, create contacts, update deals — with the same object and field access you have in Operations.

Step 1 — Create a connection

  • Open Personal space → MCP
  • Name your connector and create a connection
  • Copy the omk_ secret and OAuth Client ID + Secret immediately — OSTRATA cannot show them again
  • Store credentials in a password manager — never paste them into chat

Step 2 — Server URL

  • Use https://YOUR_APP/api/mcp (HTTPS required in production)
  • Copy the URL from the MCP page — it matches your current workspace host

Step 3 — Claude (custom connector)

  • Claude: Settings → Connectors → Add custom connector
  • Name — connector name from Step 1 (e.g. OSTRATA)
  • Remote MCP server URL — copy from Step 2
  • Advanced settings — OAuth Client ID and OAuth Client Secret from Step 1
  • When Claude connects, sign in with the OSTRATA account that created this connection
Claude Add custom connector dialog with Name, Remote MCP server URL, and OAuth fields in Advanced settings

Claude Code or Cursor

  • Claude Code — terminal command with Bearer omk_ key (Claude Code tab)
  • Cursor — JSON config with Authorization header and omk_ key

Claude Desktop/web uses OAuth credentials. Claude Code and Cursor use the omk_ key directly.

Tools

  • search_records — text query, structured filters, and pagination (offset + limit, max 50 per page)
  • list_objects / describe_object — discover object and field apiNames before searching

Security

  • Revoke a connection immediately if the key is exposed
  • MCP keys inherit your current permission profile — profile changes apply on the next request
  • omk_ keys work only on /api/mcp; admin osk_ keys work only on /api/v1

Troubleshooting

  • 401 — check Bearer prefix, key not revoked, and HTTPS URL
  • Wrong workspace data — confirm you used the production URL for your workspace
  • Claude Desktop not connecting — confirm name and URL match Step 1 and Step 2
  • Import tools unavailable — bulk import requires a workspace-admin permission profile

Request access

Tell us about your team. We'll reach out when your workspace is ready.

Help — OSTRATA CRM