Salesforce
Automatically add contacts to Salesforce Campaigns and update Contact picklist fields using event-driven rules.
The Salesforce integration allows Meshes to automatically manage Salesforce Contacts based on events that occur in your workspace.
Once connected, Salesforce becomes available as an action target in your rules. When a matching event is triggered, Meshes will find or create a Contact by email, then perform the selected action (Campaign membership or Contact field updates).
Supported Actions
The Salesforce integration supports the following actions:
- Add to Campaign Creates/updates a Contact (by email) and adds the Contact to a selected Salesforce Campaign.
- Remove from Campaign Removes the Contact from the selected Campaign (Contact is still created/ensured by email when possible).
- Update Property Updates a Salesforce Contact picklist field to a selected value.
Step 1: Create a Salesforce Connection
To get started, you must first create a Salesforce connection.

- Navigate to your workspace and open Connections
- Click New Connection
- Enter a name for the connection (for example,
Salesforce) - Select Salesforce as the connection type
- Click Connect to Salesforce
You will be redirected to Salesforce to authorize the Meshes app. After authorization is complete, Salesforce will redirect you back to Meshes and the connection will be available for use in rules.
Note: Salesforce accounts vary by edition and permissions. If you cannot access Campaigns or certain fields, you may need to adjust Salesforce permissions for the authorized user.
Step 2: Create a Rule
Once the Salesforce connection is created, you can define rules that determine how Contacts are managed in Salesforce.

- Open the Rules tab for your workspace
- Click New Rule
- Select the Event Type that will trigger the rule (for example,
Contact Created) - Choose the Resource Type that applies to the event
- Select your Salesforce connection
- Choose an action:
- Add to Campaign
- Remove from Campaign
- Update Property
- Configure the action:
- For Campaign actions, select the Campaign
- For Update Property, select a Contact picklist field and its value
- Click Create Rule
Once saved, the rule becomes active immediately.
Step 3: Send a Test Event

Meshes allows you to test rules or run one-off integrations using the Send Test Event feature.
- Open the rule you want to test
- Click Send Test Event
- Provide a JSON payload that includes a valid
emailfield - Click Send Event
Example payload:
{
"email": "test@example.com",
"first_name": "Test",
"last_name": "User",
"phone": "+1 (512) 555-1212"
}
Step 4: Review Event Results
After an event is processed, you can view detailed execution results.
- Navigate to the Events tab
- Select the event you want to review
- View the event status and any rules that were processed
The event details page shows:
- Event status (Completed or Failed)
- Which rules were triggered
- The Salesforce action performed
- Execution attempts and timestamps
This makes it easy to verify successful updates or troubleshoot issues.
How Contact Matching Works
Meshes uses the following behavior for Salesforce Contact management:
- Primary identifier:
email - On each rule execution, Meshes will:
- Search for an existing Contact with the matching
Email - If none exists, create a new Contact
- If a Contact exists, update basic fields that are present in the payload
- Search for an existing Contact with the matching
Supported payload fields that may be applied to the Contact:
email(required)first_name/last_namename(best-effort parsing into first/last)phone
Salesforce often requires
LastNameon Contact creation. If no last name is available, Meshes will useUnknown.
Notes
Campaigns
- Campaign actions rely on Salesforce Campaign + CampaignMember objects.
- Some Salesforce orgs (or user permission sets) may not support Campaigns or may restrict access. In these cases, the Campaign list may be empty and Campaign actions may fail until permissions are updated.
Picklist Properties
- The Update Property action only exposes updateable Contact picklist fields with defined options.
- Picklist values are loaded dynamically from
/sobjects/Contact/describe. - Certain location/geocode picklists are excluded to avoid noisy or problematic fields.
Duplicates
- Contacts are searched by email before creation to minimize duplicates.
- Your Salesforce org may still have duplicate rules enabled; Meshes uses a best-effort approach to avoid creating duplicates whenever possible.
Permissions
- The connected Salesforce user must have permission to:
- Read and write Contacts
- (Optional) Read Campaigns and create/delete CampaignMembers
- Update the specific Contact fields used in your rules