What permissions and access does Bevy need in Salesforce?
We will need standard read/write permissions for contacts, leads, campaigns and campaign members. If using the sandbox, this Salesforce user also requires access to the sandbox.
For both sandbox and production set up, this user must be marked as a Marketing User.
How does our system prepare Bevy data for Salesforce, particularly regarding data types, special objects, and specific Salesforce requirements?
Our system automates several key processes to ensure data sent to Salesforce is correctly formatted and aligned with its requirements:
- Dates and Times: Python datetime and date objects are automatically converted into ISO-formatted strings (e.g., "2025-09-22T10:30:00").
- Decimal Numbers: Decimal fields are converted into standard floating-point numbers.
- Empty Values: Any fields that are empty or have a None value are automatically removed to ensure data cleanliness.
- Name Length: Campaign names longer than 80 characters are truncated, with "..." added at the end.
- Campaign Types: Appropriate campaign type prefixes are added for "Events" and "Chapters."
These automated conversions and processing steps collectively prevent errors during synchronization and ensure a smooth integration with Salesforce.
Can I sync to contacts instead of leads?
We can support syncing to contact records. There might be a scenario where we try to create a contact where a lead already exists. If so, we won't sync the record.
Alternatively, we can support having a lookup for contact first, and then a lookup for lead, and finally creating a lead if none exists.
What volume of data do you estimate will be moving through the integration? How often is it updated?
Our current Salesforce integration syncs records individually. It does not process in bulk yet, but we have plans to introduce this. There is typically not enough data to send at one time for this to be a problem.
We sync this data approximately every 5 minutes.
If something goes wrong (for example, we hit an API limit request), it will retry in the future, and again and again over the next 2 days.
How is Bevy Salesforce data transmitted?
Using the Salesforce REST API.
How can I test the Salesforce integration?
Once you’ve configured all the admin settings, we can create a few test events and start triggering updates. If possible, we recommend using a Salesforce sandbox to test.
Can I see the field mappings between Salesforce and Bevy?
We currently do not have UI for this, and are working on it. For now, we set the mappings on our backend; you just need to provide us with the Salesforce fields. The mappings can be adjusted as you need.
Can I sync Ticket Type as part of my integration?
Yes, as part of a custom field mapping. You just provide us with the API field name that you would like the Ticket Type mapped to, and we will set it up.
What permissions/access will Bevy need in Salesforce?
We require a username and password with standard read/write permissions. If using the sandbox, you’ll need this Salesforce user to also have access to the sandbox. For both sandbox and production set up, you’ll need this user to be marked as a Marketing User, as well.
How frequently does data sync? Can I change the timing?
Bevy syncs data approximately every five minutes. At this time, this is the only frequency available.
What does Bevy do if a contact or lead is pushed, and you find two records with the same email address?
By default, Bevy does not sync these records, nor create the respective CampaignMember when pushing a chapter member or attendee. There is however an option for Bevy to use the last modified lead or contact record. You can enable this via the following setting:
When the Guest registration is enabled in the instance. How are the Contacts/Leads created? Would you require Salesforce to create a contact record?
When an anonymous user (no signup required), the way it would work is that the integration tries to find a Salesforce Contact/Lead based on the provided email address. If found, it's used, otherwise a new one is created and used. There is no special status for these kinds of registrations. The integration uses the same three statuses as with logged in attendees (Registered, Unregistered, and Attended).
Can I switch to a different Salesforce organization after the integration is already running?
Short answer: Not without updating the object mappings. Switching to a new Salesforce organization will require you to re-map the integrated objects.
How it works:
Bevy's Salesforce integration stores the Salesforce object ID for each linked object (Campaign, Lead, etc.) in the Bevy system. When you update a Bevy object, these stored IDs tell Bevy exactly which Salesforce record to sync the changes to.
Why switching organizations is problematic:
When you migrate to a new Salesforce organization, all object IDs change. If you don't update these IDs in Bevy, one of two things will happen:
- Updates will fail to sync entirely
- Updates will sync to incorrect Salesforce objects
What you need to do:
If you need to switch to a new Salesforce organization, contact our support team to help you:
- Re-link your Bevy objects to the corresponding objects in the new Salesforce organization
- Update the stored object IDs in Bevy to match the new organization's IDs
- Verify the mappings are correct before resuming syncs
Our support team can guide you through the process and ensure your integration is properly reconfigured.
Best practice: Plan your Salesforce organization setup carefully before integrating with Bevy to minimize the need for switches later.