Create a push
Choose the Salesforce object, how each record is found and the sanda value for every field, then preview what the first run would send.
A push is four choices: the object it writes to, how it finds each record, which sanda value goes in each field, and when it runs. Saving sends nothing. The push opens with a preview of what its first run would write.
Before you start
- A connected Salesforce org. See connect Salesforce.
- The values on your semantic fluid. A push sends metrics, dimensions and columns of the tables on your semantic map.
- A way to match rows to records. Usually that is the Salesforce Id, which a Salesforce sync lands in your warehouse beside every record. See Salesforce.
Create the push
- Open the editor. Go to Activate · Push and press New push.
- Name it. Type a Name, such as "account revenue". The Description is optional.
- Choose where it writes. Pick the Salesforce org and the Object. The list holds the objects the Salesforce user can edit, the most used first.
- Choose how each record is found. Under How each record is found, pick the Salesforce field: the record Id, or a field marked External ID in Salesforce. Then pick the sanda value that holds it, a column or a dimension. When you match on the Id and your Salesforce connection landed an Id column for the object, sanda fills it in and marks it as a suggestion.
- Map the fields. Under What it writes, pick a Salesforce field on the left and the sanda value for it on the right. Press Add a field for each one more.
- Narrow the rows, if you need to. Under Which rows, press add a condition. Leave it empty to send a value for every record.
- Choose when it runs. Under When it runs, pick a connection in Run after a sync, a schedule under On a schedule, or both. See when it runs.
- Save. Press Save push. Until everything the push needs is chosen, the button is unavailable and the line beside it says what is missing. The push opens with Preview the next run already read, and nothing has been sent.
Read the preview, then press Run now to send the first run. See preview and run.
Matching on the Id or an External ID
| Match on | What a run does | Use it when |
|---|---|---|
| The record Id | Updates records that already exist, and never creates one. A row whose value is not an Id of that object is refused before anything is sent. | The numbers are about records that came from Salesforce, which is the usual case. |
| An External ID field | Updates the record with that value, and creates a record when none has it. | The records belong to another system, and Salesforce keeps that system's key in an External ID field. |
A push that can create records needs every field Salesforce requires to create one. The editor names any it is missing under What it writes. If every record already exists, you can leave them out, but a row with no matching record is then refused.
The sanda value that finds a record is a column or a dimension, never a metric: a metric is worked out over many rows and can't say which one record a row is about. If two rows of a push match one record, neither is sent, because sending both would let whichever came last win. That happens when a column you send has more than one value for a record, such as an invoice date on an Account. Send a metric for it instead, such as the latest invoice date, so each record has one row.
Which fields it can write
The Salesforce field lists hold the fields the Salesforce user can edit. sanda writes text and picklist fields, checkboxes, numbers, currency and percent fields, dates, dates with times, times, and lookups (as an Id). Each value is formatted for its field before it is sent:
- A number is rounded to the field's decimal places. The hint under the field says how many.
- Text longer than the field holds is refused for that record, and the run says which.
- A checkbox takes true or false. Yes and no, and 1 and 0, also work.
- A date is sent as the day, and a date and time as an exact moment.
- An empty value clears the field in Salesforce.
Under What it writes, the fields sanda can't write are listed with the reason: formula fields, auto-numbered fields, fields the Salesforce user can't edit, address and location fields (map their parts instead, such as the street and the city), and fields that hold a file.
One push writes at most 100 fields and reads at most 50,000 records.
Which rows
Which rows narrows the records a push sends values for, with the same conditions you use elsewhere in sanda. A named period such as last_30_days stays a period, so the window moves with each run. sanda works it out in UTC each time the push runs. See filters and date ranges.
A record that stops matching a push's conditions keeps the value the push last wrote. The push stops sending to it, and does not clear the field.
When it runs
- Run after a sync. The push runs whenever the connection you pick lands new rows, which is when sanda's numbers can have changed. This is usually all a push needs.
- On a schedule. Hourly, Daily or Weekly, on sanda's 15 minute grid. A daily or weekly time stays at the same local time when the clocks change.
- By hand only. Choose Manual and leave Run after a sync empty. The push runs when someone presses Run now.
- Pause itself after. How many failed runs in a row before the push pauses itself. 0 never pauses. See when runs fail.
Preview and run
Open a push and press Preview under Preview the next run. sanda reads the push's rows from your warehouse, formats them for their fields and compares them with what Salesforce last accepted, without sending anything. You see:
- how many rows were read, how many records a run would send, and how many are unchanged;
- the first twenty records it would send, each marked first send or changed;
- the rows that can't be sent as they stand, with the reason.
Anyone who can open the console can preview, read-only members included. When it looks right, press Run now.
Change a push
Open the push and press Edit, change what you need, and press Save changes.
- Renaming a push, or changing its conditions or when it runs, asks nothing of Salesforce.
- Changing the org, the object or the field that finds a record starts the push over: the next run sends every record, because what the push remembers belongs to its old target. The editor says so before you save.
- Changing the fields it writes means the next run sends the records whose values changed, which after a new field is usually every one.
Something unclear or out of date? Tell us, and we will fix the page.