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 says | What your Kastel does with it |
|---|---|
| The object's organisation-wide default is Private | The baseline condition holds, and the audience calculation continues |
| The organisation-wide default is Public Read Only | No record of that object is filed. All of them wait for an administrator |
| The organisation-wide default is Controlled by Parent | The record waits, because its audience is read on the parent |
| The owner is a person in a single department | The record is filed under that department, and nobody outside it reaches the record |
| The owner is a queue | The queue's members are expanded, and they must all fit in one department |
| A sharing rule opens the record to a group or a role | The group is expanded into people. A nested group makes the record wait |
| An account, opportunity or case team is filled in | Its members join the calculation. A member from another department makes it wait |
| The connected token cannot read the object's share table | The 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.
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