DocsSign inInstall Kastel
All connectors

Your Kastel only files a Salesforce record once it can prove who is entitled to read it.

With Kastel

An account, opportunity, contact, case or lead comes into your Kastel when its real audience fits inside a single department, owner, sharing rules, team and queue all added up. Logged activities and your custom objects stay out. A record whose audience spills over waits for an administrator's decision.

In Salesforce, no single field says who may read a record

Visibility on a Salesforce record is assembled. The object's organisation-wide default sets a floor, the role hierarchy opens upwards, sharing rules open towards groups and roles, account and opportunity teams add named people, and a manual share adds whoever you like. The result is exact inside Salesforce, and it is written nowhere as one readable answer.

A connector has two ways to face that. It can reimplement the sharing engine, which amounts to betting on a faithful copy of a mechanism the publisher keeps changing without telling us. Or it can file only the records whose audience it can prove, and leave the rest waiting. The Kastel connector takes the second route, and this page shows where that leads.

What your Salesforce says, and what your Kastel does with it

Every row is verifiable in your own organisation, in the object's sharing settings and on the record itself.

What your Salesforce saysWhat your Kastel does with it
The object's organisation-wide default is PrivateThe baseline condition holds, and the audience calculation continues
The organisation-wide default is Public Read OnlyNo record of that object is filed. All of them wait for an administrator
The organisation-wide default is Controlled by ParentThe record waits, because its audience is read on the parent
The owner is a person in a single departmentThe record is filed under that department, and nobody outside it reaches the record
The owner is a queueThe queue's members are expanded, and they must all fit in one department
A sharing rule opens the record to a group or a roleThe group is expanded into people. A nested group makes the record wait
An account, opportunity or case team is filled inIts members join the calculation. A member from another department makes it wait
The connected token cannot read the object's share tableThe record waits, because its audience cannot be proven

One rule produces every row above. A record is filed under a single department or no AI reaches it, and no failed calculation ever opens a record to the whole company. An administrator can file what is waiting, and that decision is recorded.

Four standard objects, none of your own

The CRM is the source where taking everything is most tempting. Here are the five objects the connector reads, and what it leaves in Salesforce.

What your Kastel reads in Salesforce

  • Accounts, with their industry, website and description
  • Opportunities, with their stage, amount and close date
  • Contacts, with their job title and business contact details
  • Cases, with their subject, status and priority
  • Leads, with their company, status and description

What it never reads

  • Tasks, events and emails logged in Salesforce
  • Internal discussion feeds attached to a record
  • Your custom objects and custom fields
  • Files attached to records
  • Quotes, product line items, reports and dashboards

Description fields are free text, so what they hold is whatever your teams write there. A customer case can carry personal information in one, which is one more reason a record is readable only by a proven department.

A sharing change does not show up in the stream of modifications

The connector follows a record's system timestamp, the one that also moves when Salesforce recalculates its sharing. A new share row, a role change, an edited team or a change to the organisation-wide default do not move it reliably, though, and they emit no per-record signal. A connector relying on the modification stream alone would therefore keep yesterday's filing forever.

A periodic reconciliation pass exists for that precise reason. It recalculates the audience of every record already known from its current owner, shares, teams and organisation-wide default, then moves the record when the result has changed. An audience that widened, or became impossible to prove, sends the record back to waiting, and an audience that moved retires the version filed under the old department.

That pass does not run on every read. In between, a record keeps the department it was filed under, so a sharing change takes a while to reach the AIs plugged in. We write it here because it is the connector's real lag, and nobody should discover it in a meeting.

Your Kastel keeps a projection, it does not replicate Salesforce

From each record, the connector keeps a list of fields named in its code, rendered as readable text. An account gives its name, industry, website, phone and description. An opportunity gives its name, stage, amount, close date and description. A contact, a case and a lead follow the same principle with their own fields.

What the connector does not name does not come in, including a field you might add tomorrow. Your custom objects and custom fields therefore stay out, and that is often where your sales method lives. The limit shows up immediately, so it may as well be read here.

Logged activities stay out too. A task, an event, an email logged on an opportunity or an internal discussion feed does not come into your Kastel, because the connector queries only the five objects in its perimeter. Another CRM makes a different choice on that exact point, and the HubSpot page says so plainly.

What this connector does not do

It does not reimplement Salesforce sharing, and that costs something on the first connection. An organisation whose object is set to public read, a common and entirely legitimate setting, will see every record of that object stay in waiting. An administrator can file them, and nothing unlocks on its own.

It files by department, where Salesforce reasons by person. A record proven confined to its owner becomes readable by that person's whole department, so more widely than in Salesforce, where the role hierarchy decides case by case. The connector's grain is the department, and a heavily compartmented sales organisation should know that before connecting a sensitive book of business.

It reads no activity at all, which is the most visible difference from the other CRMs in the catalogue. A whole negotiation can live in the tasks and logged emails of an opportunity, and none of it comes in. That perimeter can be extended; it has not been.

A record deleted in Salesforce is not erased from your Kastel. It is marked there as gone at the source and retained, with the same readership as before, until an administrator decides to erase it. Connecting itself happens organisation by organisation, each with its own authorisation and its own domain, so a group running three organisations sets up three connections that cannot see one another.

The core of Kastel is free, Salesforce connector included.

The core installs on your own infrastructure at no cost, with all of its connectors. The pricing page says what the paid plans add, and from what team size they start.

See pricing
Other connectors in detail
HubSpot
Each record's owner decides who is able to read it.
Pipedrive
A deal's visibility is read before its owner.
Zoho CRM
No email, no phone, even though Zoho hands them over.

See the full connector catalogue