Mapping a starter form
Every starter in New Form is created with no Salesforce mapping on any field. That is deliberate: a mapping naming an object your org does not use, or a field your permission set cannot write, would break on a real respondent’s answers at processing time. The starter gives you the fields and the layout, and you spend a few minutes pointing them at your own objects.
Unmapped is a silent state. The form renders, respondents submit, and every answer is staged in Sliick Responses exactly as it should be. Nothing errors. The answers simply never reach a Contact, Lead or Case until you map the fields and process the submission. If you only ever read responses in the console or export them to CSV, you can stop here: mapping is optional.
Before you start
Section titled “Before you start”- Open the form in the Form Builder by clicking the form’s name on the dashboard.
- Map one field at a time: select the field, then click Map field next to Salesforce mapping and pick the object and the field. See Mapping fields to Salesforce.
- If an object you expect is missing from the picker, your user has no access to it. The picker only lists objects and fields you can actually create records with.
- When you are done, use View field mappings to check every mapping and every match key in one list before you publish.
Two things to check before following the Contact form recipe: some orgs do not license or enable Cases at all, and orgs on person accounts treat Contact differently. If either is true for you, map the message question somewhere else, such as a custom object or a long text field on the Contact, and everything else here still holds.
Contact form
Section titled “Contact form”Five fields, two objects: the person goes on a Contact, their question goes on a Case.
| Field on the form | Map to | Also do this |
|---|---|---|
| First Name | Contact.FirstName | |
| Last Name | Contact.LastName | The Contact’s only required field |
| Email Address | Contact.Email | Tick Use for matching |
| How can we help? | Case.Description | The ask belongs on a Case, not on the person |
(add) Hidden field origin | Case.Origin | Default Value Web |
(add) Hidden field subject | Case.Subject | Default Value Website contact form |
Why tick Use for matching on Email. A returning respondent then updates their existing Contact instead of creating a second one. That is right for a contact form and wrong for an anonymous survey, where you want every response to stand alone.
Why the two hidden fields. A Case with no Subject is unreadable in a list view, and Origin is what tells your support team the Case came from the web. The respondent should not be typing either, so they are stamped instead.
You do not have to link the Case to the Contact. Case has exactly one lookup to Contact, so Sliick fills it in when it creates the pair. You are only asked to choose when an object has two or more lookups to the same target. See The form’s object model.
Add a hidden field with a fixed value
Section titled “Add a hidden field with a fixed value”- Drag Hidden Field from the palette’s Advanced group onto the canvas.
- Set its API Name (
origin) and Label (Origin: respondents never see it, the label is for you). - Type the fixed value into Default Value (
Web). - Map it like any other field.
A mapped hidden field with a Default Value is stamped onto the record on every submission, even one whose answers never carried that key. That is how a required target field gets filled without asking the respondent anything, and it is the pattern you will reach for again and again.
Event registration
Section titled “Event registration”The starter with a real choice in it. Pick one of three shapes.
Option A, Lead. Best when the people registering are strangers you want worked by sales or marketing afterwards. Map Attendee First Name, Attendee Last Name and Email to Lead.FirstName, Lead.LastName and Lead.Email, tick Use for matching on Email, map Company to Lead.Company, and add a hidden lead_source field mapped to Lead.LeadSource with a Default Value of Web.
Do not skip the Company mapping.
Lead.Companyis required on every Lead, so a Lead-mapped form with nothing feeding it collects answers happily and then fails at processing on every single submission, days after you published it, on real respondent data. If asking for a company is wrong for your event, delete that field and add a Hidden field mapped toLead.Companywith a constant Default Value instead. Know the trade: every attendee is filed under one company name, and that name becomes the Account name if anyone converts the Lead.
Option B, Contact. For member or customer events, where a Lead per registration would be noise. Map the three attendee fields to Contact.FirstName, Contact.LastName and Contact.Email and tick Use for matching on Email. Contact has no Company field of its own, so delete the starter’s Company field or leave it unmapped.
Option C, Campaign Member. The most accurate model, and the one a starter cannot ship, because it needs an ID from your own org.
- Do Option A or B first: a Campaign Member has to point at a Lead or a Contact.
- Add a hidden
campaignfield mapped toCampaignMember.CampaignId, with the campaign’s 18-character ID as its Default Value, copied from the campaign record’s URL. - Optionally add a hidden
member_statusfield mapped toCampaignMember.Status, with a value from that campaign’s own status list, usuallyRegistered.
Sliick fills in the Lead or Contact reference on the Campaign Member for you. One form serves one campaign: duplicate the form per event and change the ID, or keep the campaign out of the form and add members with a Flow on the staged submission instead.
NPS, CSAT and Customer effort surveys
Section titled “NPS, CSAT and Customer effort surveys”Leave these unmapped. That is the recommendation, not a gap. A survey response is not a record about a person, it is a measurement, and all three survey starters work fully unmapped: every answer is readable in Sliick Responses, filterable and exportable to CSV, and View results gives you the distribution of scores.
Map them only when you have somewhere specific for the score to live, such as a custom survey object or a score field on the Case or Contact the survey followed up on. If you do:
- Do not tick Use for matching on anything. Each response should be its own record, and matching would have the second response overwrite the first.
- To attach a response to the record it is about, add a hidden field mapped to the lookup and pass the ID in through the link. See Sharing a form.
Check that it actually worked
Section titled “Check that it actually worked”Mapping is not finished when the picker closes. Do one round trip:
- Publish the form, open its share link, and submit one test response.
- Open Sliick Responses, find the row, and click it to inspect the answers before anything is written.
- Click Process. The status should move to Completed.
- Open the record it created and check the fields landed where you expected.
If the row goes to Failed, the reason is on the row and it is almost always a required field on the target object with nothing mapped to it, or a field your user cannot write. Fix the mapping and use Retry: the original answers are kept exactly as submitted. See Processing responses onto records.