API requests limit exceeded error
Acoustic Campaign sync error: TotalRequests Limit exceeded.
Salesforce notifications: Depending on your Salesforce API limit, the following email could occur from Salesforce.
Your organization <SalesforceorgID> has made xxxxx API calls within the last 24 hours. This is 88% of your organization's 24-hour API call limit of xxxxx calls. You will receive this notice once every 12 hours until your organization's API usage drops below 75% of your 24-hour call limit (xxxxx calls).
Note: These errors recently surfaced after the supported Salesforce API versions were updated.
The most common cause, if it’s related to the Acoustic Campaign Salesforce Integration logins, is activating or enabling all the additional features for the integration.
These are the features in Status under the lead and contact sync section:
- Alerts to chatter/tasks (integration name - PushAlerts)
- Lead/contact email history to CRM (integration name - PushMarketingHistory)
- Sent emails create CRM campaigns (integration name - PushCampaigns)
- Program participants added to CRM campaigns (integration name - PushCampaignMembers)
- CRM opportunities to Acoustic Campaigns (integration name - PullOpportunities)
Other features performing regular logins when activated or enabled:
- Purge individual metrics in Settings (integration name – MailingHistoryCleaner, works with the PushMarketingHistory feature)
Our Salesforce CRMi developers are looking into adjusting the login frequency for the additional features but the frequency currently matches the record sync interval of approximately every 10 minutes.
These features do not sync at the same time as or with the lead\contact record sync. They each use their own API to log in and perform the activated\enabled integration feature.
If the API requests limit exceeded error occurs and it’s found to be related to Acoustic Campaign’s Salesforce CRMi features, the current workaround is:
- Deactivate unused features in Status.
- Set the Purge individual metrics feature in Settings to “Never” to deactivate\disable it.
If all features are necessary for your integration, open an Acoustic Campaign CRMi support case.
Sync Error "Your query request was running for too long"
"Your query request was running for too long" is coming from Salesforce and indicates a timeout was encountered by Salesforce when querying for records to update in either direction:
Salesforce > Acoustic Campaign or Acoustic Campaign > Salesforce
If a large number of records were modified in a short period, this error will display in the sync history for the related record type, leads, or contacts.
The integration saves the date, time, and record ID when the timeout occurs so it can continue in the next sync cycle.
Salesforce has set a query timeout limit of 120 seconds as referenced in the following articles:
Increase the callout time limit from 120 seconds
Execution Governors and Limits
Callout Limits and Limitations
This issue usually occurs when over 1 million records are synching and constantly modified. It often resolves itself once the integration processes all the records identified. Acoustic Campaign Support can only suggest reviewing how records are being modified in Salesforce or Acoustic Campaign.
Was the email sent from Salesforce or Acoustic Campaign?
The email Name indicates whether the email was sent directly out of Acoustic Campaign or Salesforce through the Send Acoustic Campaign Email button. What differentiates emails sent from Salesforce and emails sent directly within Acoustic Campaign is for emails sent through the Send Acoustic Campaign Email button the Salesforce username and date sent is appended to the email name.
For example, the email name "Camping Destinations Joe 7/12/2016 6:47 AM" is an email sent through the Send Acoustic Campaign Email button in Salesforce by the Salesforce user Joe.
Web service callout failed: Unable to find a field for type info private LIST<String> class_type_info error
Read through the following topic if you are experiencing Web service callout failed: Unable to find a field for type info private LIST<String> class_type_info error.
Symptoms
Web service callout failed: Unable to find a field for type info private LIST<String> class_type_info is caused by not having an opt-out link on the Acoustic Campaign email template.
Solution
To fix the problem, add an opt-out link to your Acoustic Campaign email template.
To complete the opt-out link settings, go to Settings > Organization Settings > Opt-Out > Suppression Settings.
- If you select Opt-Out Link Required To Send, at send time a user receives an opt-out error that prevents the email from sending.
- When the Opt-Out Link Required To Send is not selected, a user might receive a warning at send time, but the email can be sent without an opt-out link.
Errors that occur while renaming or deleting Acoustic Campaign fields
Read through the following topic if you receive an error while renaming or deleting an Acoustic Campaign field that is currently being mapped to Salesforce.
Symptoms
Renaming or deleting an Acoustic Campaign field that is currently being mapped to Salesforce can cause integration failure.
Solution
To prevent the issue, delete the field mappings before the Acoustic Campaign field is deleted. If you are just renaming the Acoustic Campaign field, you can leave it mapped, however, it is recommended that you edit the field mapping so that it can be updated with the new Acoustic Campaign field name.
For example, if the integration fails with an error that displays List does not contain column: Area of Interest; recipient_id: 123415419258, crmId: null there is no longer an Acoustic Campaign field named Area of Interest.
If the error is due to the deletion of the field, go to the working copy of the field mapping and delete it. Then activate the field mapping to complete the delete request. Remember to delete this field from each tab it is mapped on. For example, 'Area of Interest' might be mapped to Leads and Contacts. If mapped in both places and must be deleted from both places.
However, if the error is due to the field that is renamed, ensure that you keep the field mapping intact. Go to the working copy of the field mapping and Edit the 'Area of Interest' field mapping by stepping through the Edit mapping screens while selecting the existing Acoustic Campaign field with the new name. For example, the field may have been renamed to Interests. Select 'Interests' from the existing Acoustic Campaign field box. Then activate the field mapping to complete the edit request. Remember to edit this field from each tab it is mapped on. For example, 'Area of Interest' might be mapped to Leads and Contacts. If mapped in both places, it must be edited from both places.
Non-availability of Reset Security Token option in Salesforce
Read through the following topic if you want to troubleshoot the non-availability of the Reset Security Token option in Salesforce.
Symptoms
In some cases, the Reset Security Token option in Salesforce may not be seen.
Solution
Follow these steps if the Reset Security Token option is not available in Salesforce.
- Determine if IP restrictions are added to the login IP ranges. If there are restrictions, you will need to remove the login IP ranges or update the user profile which has no login IP ranges listed.
- Complete the following steps to check to see if the Network Access selection is missing from the Security Controls setting:
- Go to Setup.
- On the left pane of the Quick Find box, enter the words Network Access.
- If you have a non-administration profile you will need to contact your internal system administrator to perform the steps for you because you may not be able to see the Network. A system administrator can see the Network Access option.
- Make sure the user's profile is not corrupted.
Non-availability of the Salesforce Record ID on a query and in the search grid
Read through the following topic if you want to troubleshoot the non-availability of the Salesforce Record ID on a query and in the search grid.
Symptoms
While the Salesforce ID is passed into an Acoustic Campaign system field named CRM Sync ID, this field is not visible within the Data Search grid nor is it available for Query exports. A quick workaround is to create two custom fields on the Lead and Contact objects within SFDC and map them to a new Acoustic Campaign custom field.
Solution
Create a Formula field on both the Lead and Contact objects inside SFDC that will display the record ID, then map these fields to a new custom Acoustic Campaign text field.
Create a New Lead formula field:
- Setup > Customize > Leads > Fields.
- New custom field.
- Data Type = Formula.
- Field Label = LeadID.
- Formula Return Type = Text.
- Advanced Formula Tab, type ID into the formula text box.
- Check Syntax to ensure there are no errors.
- Be sure it is visible for the SFDC Profile assigned to the CRM Integration User.
- Be sure you add this field to the Lead page layout so that it is available to map inside of the Acoustic Campaign.
Create a New Contact formula field:
- Setup > Customize > Contacts > Fields.
- New custom field.
- Data Type = Formula.
- Field Label = ContactID.
- Formula Return Type = Text.
- Advanced Formula Tab, type Id into the formula text box.
- Check Syntax to ensure there are no errors.
- Be sure it is visible for the SFDC Profile assigned to the CRM Integration User.
- Be sure you add this field to the Contact page layout so that it is available to map inside of the Acoustic Campaign.
Once the formulas are completed and added to the Lead and Contact page layouts, confirm that they are displaying the correct 15 char SFDC ID.
Next, log into Acoustic Campaign and create a Lead and Contact mapping from these two SFDC formula fields to a single new Acoustic text field called SFDC ID.
Note: Be sure you choose Pull All Historical Data when configuring these mappings so that the sync will populate this new Acoustic Campaign field.
Non-availability of the Salesforce Created Date on the query and in the search grid
Here you'll find the answers on how to troubleshoot the non-availability of the Salesforce Created Date on the Query and in the Search grid.
Symptoms
The Salesforce Created Date is not available to map into the Acoustic Campaign. A quick workaround is to create two custom formula fields on the Lead and Contact objects within Salesforce and map them to a new Acoustic Campaign custom field
Solution
Create a Formula field on both the Lead and Contact objects inside Salesforce that will display the CreatedDate, then map these fields to a new custom Acoustic Campaign Date field.
Create a New Lead formula field:
- Go to Setup > Customize > Leads > Fields.
- Click New Custom Field.
- For the Data Type, select Formula.
- Enter Field Label = Lead Create Date.
- For the Formula Return Type, select Date.
- On the Advanced Formula Tab, enter CreatedDate into the formula text box.
- Click Check Syntax to ensure there are no errors.
- Be sure it is visible for the com Profile assigned to the CRM Integration User.
- *Professional Edition Salesforce Org only: Be sure you add this field to the Lead page This is how fields are exposed to the Salesforce API. Do not put the field in the System Information section, put it in some other section.
Create a New Contact formula field:
- Go to Setup > Customize > Contacts > Fields.
- Click New Custom Field.
- For the Data Type, select Formula.
- Enter Field Label = Contact Create Date.
- For the Formula Return Type, select Date.
- On the Advanced Formula Tab, enter CreatedDate into the formula text box.
- Click Check Syntax to ensure there are no errors.
- Be sure it is visible for the com Profile assigned to the CRM Integration User.
- *Professional Edition Salesforce Org only: Be sure you add this field to the Lead page This is how fields are exposed to the Salesforce API. Do not put the field in the System Information section, put it in some other section.
Once the formulas are completed and added to the Lead and Contact page layouts, confirm that they are displaying the correct Salesforce create date.
Next, log into Acoustic Campaign and create a Lead and Contact mapping from these two Salesforce formula fields to a single new Acoustic Campaign date field called Salesforce Create Date.
Important: If you are adding this field mapping after going live, be sure you choose Pull All Historical Data when configuring these mappings so that the synchronization populates the new Acoustic Campaign field.
The local part of the Email Address is Blocked error while managing records from Salesforce
Read through the following troubleshooting topic if you encounter a Local part of the Email Address is Blocked error while you are managing records from Salesforce.
Symptoms
When you activate the synchronize some of the records may fail to synchronize from Salesforce to the Acoustic Campaign with the error "Local part of Email Address is Blocked".
Solution
The error is occurring because email addresses attempting to synchronize have a local prefix (ex: service@, marking@, admin@, etc. that exists on the email Blocking list. You can remove the local prefix from the email blocking list with the Acoustic Campaign.
Once the desired local prefixes have been removed from the email Blocking list in the Acoustic Campaign you must then go to Salesforce and re-save the records to advance the modified date. Only then will the records will be queued again for another sync attempt. This step may require you to contact your Salesforce admin to complete a mass update on the affected records.
Sync Acoustic Campaign Templates error in Salesforce
Read this if you encounter XmlApiUrl has not been defined in Acoustic Campaign Settings while clicking on Sync Acoustic Campaign Templates from Salesforce.
Symptoms
XmlApiUrl has not been defined in Acoustic Campaign Settings error is displayed while clicking on Sync Acoustic Campaign Templates from Salesforce.
Solution
Verify that the XmlApiUrl Custom Setting has been created and the Name and Value have been entered correctly.
In Salesforce navigate to Setup > App Setup > Develop > Custom Settings. Click on the Manage link next to the Acoustic Campaign Settings. XmlApiUrl is displayed on the list. If the Custom XmlApiUrl does not exist, press New to create with the following settings. If it already exists, check that the settings are the same as below.
- Name: XmlApiUrl The Name field is case-sensitive.
- Value: https://api-campaign-us-[your Acoustic Campaign pod number].goacoustic.com. For example, the Pod 5 Url is https://api-campaign-us-5.goacoustic.com.
For a list of updated URLs, click here.
CRMi sync with Salesforce periodically fails with the error message "The user is blocked or disabled... Error ID: 150"
Periodically you find that CRMi synchronization fails with error messages such as CrmException: Type: ApplicationException, Message: Type: ApplicationException, and so on.
For example, you may experience the following CRMi synchronization error messages
- CrmException: Type: ApplicationException
- Message: Type: ApplicationException
- Message: Type: Eb2bException
- Message: Fault: The user is blocked or disabled.. Error id: 150
- Location: ContactManagerSfdc.processMiddleContactQueryMore()
- Location: ContactManagerSfdc.getStandardContactFromCrm()
- Location: Sync.getTransaction()
For the Acoustic Campaign CRMi to connect and synchronize with Salesforce, a valid Acoustic Campaign admin user is used. The synchronization stops if this user has been subsequently blocked or disabled. The Acoustic Campaign user is selected on the "Credentials" tab within the 'Manage CRM' screen. You must either unblock or enable this Acoustic Campaign user or select a different Acoustic Campaign admin user from the dropdown. The error is common when the Acoustic Campaign user leaves the company or for whatever reason, their Acoustic Campaign user is blocked or disabled.
Another possible cause could be on the Acoustic Campaign side, there is a script that runs to disable user accounts who have no activity in Acoustic Campaign within the last 90 days. If the Integration Acoustic Campaign user is a dedicated user.
To work around this, you can either use an Acoustic Campaign user account as the Acoustic Campaign-SFDC Integration account, or if you want to use a dedicated user account for the integration only you would need to occasionally log in to Acoustic Campaign with that account so that there will be a login record for that account to avoid having that account disabled due to inactivity.
The Contact Insight section inside Salesforce displays emails sent and opened, but the Acoustic Campaign email activities section does not
Discrepancies between the Contact Insight® and the Acoustic Campaign Email Activities sections in Salesforece.com can be explained by how the two features are implemented and their intended purpose.
The Contact Insight is a Visualforce Page installed on the Lead and Contact Page layouts in Salesforce and is a direct view into the Acoustic Campaign marketing activity on a per lead/contact basis. Upon various marketing activities being recorded in the Acoustic Campaign, the activity becomes available for viewing within Salesforce when a lead/contact is synchronized. This feature provides Salesforce users an immediate graphical representation of the activity their synchronized leads or contacts have engaged in up to that point.
The Silverpop Email Activities in Salesforce is comprised of several custom objects that are used to store Acoustic Campaign activity within Salesforce that are pushed and updated via the integration, specifically the Lead or Contact Mailing History to CRM sync. These custom objects can be used for building reports for your business process within Salesforce. The email activity being pushed and stored in Salesforce is not immediately available. The Lead or Contact Mailing History to CRM sync runs approximately every 4-12 hours to push the email activity and populate the custom objects with data for reporting purposes within Salesforce.
Contact Insight errors
Reason Contact Insights may show errors or not display data.
-
Custom Settings not configured in Salesforce - Configure Acoustic custom settings.
-
Remote Site Settings not configured in Salesforce - Configure the Acoustic remote site settings.
-
Select Send User under CRM and Scoring Settings is disabled or doesn’t match the Watson\Acoustic user in the credentials tab.
-
Watson\Acoustic User in the credentials tab is disabled.
-
Using Dynamic Forms for Salesforce Lightning Pages.
-
Under Salesforce Session Settings Visualforce Cross-Origin Security Headers > Cross-Origin Embedder Policy is checked COEP.
Working Copy of field mappings freezes in Chrome
Using the debug or "Inspect" features for Chrome and Firefox browsers may display the following error when you click "Working Copy":
More details on the Maximum call stack size exceeded error are available here.
Our developers have found the error occurs because of browser limits set for JavaScript function calls.
You can see your own browser’s limits using the following instructions and clicking on the "Run Code Snippet" button.
The limits can be bypassed using the methods described below:
Chrome Bypass
- Right-click on the Chrome shortcut
- Go to "Properties"
- Append the Target link with
--js-flags="--stack-size 7000" - Windows 64-bit full target
"C:\Program Files\Google\Chrome\Application\chrome.exe" --js-flags="--stack-size 7000" - Windows 32-bit full target
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --js-flags="--stack-size 7000" - Click Apply to save the changes
Test Chrome
- Launch the updated Chrome shortcut
- Login to Acoustic Campaign
- Follow the steps to Manage field mappings
Firefox Bypass (quicker option)
- Open Firefox in a new tab or window
- In the address bar type about:config and enter
- Click on Accept the Risk and Continue
- Search for javascript.options.main_thread_stack_quota_cap
- The current limit will be displayed. If it is 2097152 or lower
- Click on the pencil icon to edit the limit
- Change it to a higher number, at least the first number from 2 to 4 is sufficient, like 4097152
- Click the checkmark to save it
Test Firefox
- Launch a new Firefox tab or window
- Log into Acoustic Campaign
- Follow the steps to Manage field mappings