With the Forms app, there are a few different ways that you can allow the editing of a Salesforce record by a front-end users in Soapbox.
The most common method is in conjunction with the Directories app where a front-end user clicks an edit button in a Directory which loads a Forms app view for editing the record. For further details, see Allow editing of a record displayed in Directories.
A second, more complicated method that uses the Forms app in conjunction with Directories is to create a URL that gives direct edit access to a record without needing to load a Directory view first. For more details on this method, see Creating a URL that allows for direct editing of a Salesforce record in Soapbox.
A third method does not require the Directories app and instead requires the record Id of a given Salesforce record to populate the Form. This can be done by passing the record Id through a user-defined session variable or by using a value from the logged in user's Contact including their Contact Id or Account Id. It can also be done by hard-coding a record Id in the Forms app page but this would be useful only in extremely specific cases.
One important distinction between this method and the first two: no fields will be prepopulated with values from the existing Salesforce record. Only values defined in the Form itself will be used as defaults.
In order to enable the updating of an existing record in Salesforce that matches a record Id defined for a Form:
- Open the Forms page you wish to use for direct editing of a Salesforce record
- Click Options
- Under Basic Submit Options, for Update Existing Record by Id, select Yes
- For Record Id to Match, enter the user-defined session variable or logged in user session variable you wish to use
- Click Save
Example Use Case
Your organization is sending an email to all members asking them to update their communication preferences. You wish to have the defaults on the form defined to subscribe to all communications and have users alter those defaults as the wish.
In the email, you have a link to the Forms app view on Soapbox that will process the submission. In that link in the email, you include a user-defined session variable and the Contact Id of the email recipient (e..g, https://{myprefix}.secure.nonprofitsoapbox.com/emailpreferences?uid={ContactId}).
You include only fields from the Contact object that are relevant to the email preferences and enter the user-defined session variable as the Record Id to Match parameter value.
Email recipients click the link in the email they received, alter the values in the Form apps view as they wish, and click Submit.