You can use UpdateSingleSalesforceObject
function, to update a field on a specific record in Sales Cloud, as per below:
%%[
var @result, @accountid
set @accountid = RequestParameter("AccountID")
set @result = UpdateSingleSalesforceObject('Account',@accountid,'DoubleOptIn','TRUE')
]%%
If you need a solution which can either update or create a record, you will need to use a combination of three functions:
- CreateSalesforceObject
- RetrieveSalesforceObjects
- UpdateSingleSalesforceObject
Which should be combined as follows:
%%[
var @rowset, @numberOfRows, @i, @update, @create, @lastname
set @lastname = RequestParameter("lastname")
set @rowset = RetrieveSalesforceObjects('Contact', 'FirstName, Email', 'LastName', '=', @lastname)
if not empty(@rowset) then
set @numberOfRows = RowCount(@rowset)
for @i = 1 to @numberOfRows do
set @update = UpdateSingleSalesforceObject('Contact',Field(@row, "Id"),'DoubleOptIn','TRUE')
next @i
ELSE
set @create = CreateSalesforceObject(
"Contact", 4,
"FirstName", RequestParameter("firstname"),
"LastName", RequestParameter("lastname"),
"DoubleOptIn", 'TRUE',
"Email", RequestParameter("email")
)
ENDIDF
]%%