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
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
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?”
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
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
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
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
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
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
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
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
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
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.
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>
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.
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.
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