Cademy can send customer and training data to Salesforce. This lets your team see contacts, organisations, course dates and registrations alongside the information already held in your CRM.
This guide explains what the integration does and takes you through the full setup, one step at a time.
Allow about 45 minutes for the full setup. You can complete the shorter Contacts-only setup first and add the other modules later.
Before you start
You will need:
A Cademy account with the Salesforce app enabled. The integration is currently shown as an Enterprise beta feature.
Administrator access in Cademy.
A Salesforce administrator who can create an External Client App, users, permission sets, fields and custom objects.
A Salesforce user for the integration to run as. A separate integration user is strongly recommended.
Your Salesforce My Domain URL.
If you cannot see Salesforce under Apps in Cademy, contact Cademy Support before continuing.
Important: existing records are not sent automatically
Cademy starts sending records when they are created or changed after you connect Salesforce and enable the relevant module. It does not send all your existing Cademy records when you first connect.
For example:
A new contact created after setup will be sent to Salesforce.
An existing contact will be sent when their record is changed after setup.
An existing contact whose record does not change will not be sent.
There is currently no button to send all existing records. The Retry button in Sync Activity only works for a record that Cademy has already tried and failed to send.
Do not try to force a full sync by making bulk changes to your Cademy records. This can change important dates, trigger other integrations and send too much data to Salesforce at once. If you need historic data moved into Salesforce, contact Cademy Support before connecting.
Important: check for existing Salesforce records
Cademy uses its own unique ID fields in Salesforce to recognise records it has synced before. An existing Salesforce Contact or Account will normally have an empty Cademy ID field.
This means Cademy may create a new Salesforce record even if a similar Contact or Account already exists. If Salesforce already contains many of the same people or organisations as Cademy, contact Cademy Support before enabling the sync. Agreeing how those records will be matched first helps you avoid duplicates.
How the integration works
The sync is one-way:
Cademy → Salesforce
Changes made in Cademy can be sent to Salesforce. Changes made in Salesforce are not sent back to Cademy.
Cademy never deletes a record from Salesforce. Turning off a module or disconnecting Salesforce stops future updates, but it does not remove information that has already been sent.
What can be sent
In Cademy | In Salesforce | Default setting |
Contacts | Contact | On |
Organisations | Account | Off |
Course Dates |
| Off |
Registrations |
| Off |
Contacts are turned on when you connect. The other modules are off so that you can create their Salesforce fields and check their mappings before any data is sent.
Course Date and Registration are custom Salesforce objects. You create them by following the recipes in this guide.
How records are matched
Salesforce data | Matching field | Value written by Cademy |
Contact |
| Cademy contact ID |
Account |
| Cademy organisation ID |
Course Date |
| Cademy course-date ID |
Registration |
| Cademy registration ID |
Cademy uses Salesforce external-ID upserts. With the fields in this guide configured, it does not use a matching name or email address instead. The same Cademy ID updates the same Salesforce record on later syncs. This is why the fields must be created before the connection and why similar Salesforce records with empty Cademy ID fields can become duplicates.
If you connect more than one Salesforce org, Cademy sends new changes to every connection marked Ready. The Default label identifies your main connection, but it does not stop your other Ready connections from syncing.
Step 1: choose the Salesforce integration user
The integration uses Salesforce's OAuth 2.0 Client Credentials flow. It always works as one named Salesforce user, called the Run As user in Salesforce.
Use a dedicated integration user if your Salesforce plan allows it. This makes the integration easier to audit and prevents it from stopping when a staff member leaves.
The user needs:
API Enabled system permission.
Read, Create and Edit access to every Salesforce object you enable.
Read and edit access to the fields Cademy uses.
Access to see the Salesforce records that Cademy may need to update.
Do not give this user Delete access just for Cademy. The integration never deletes Salesforce records.
You can give the access through a profile or a permission set. A permission set is usually easier to review later.
To create a permission set:
In Salesforce, click the gear icon, then select Setup.
In Quick Find, enter
Permission Sets, then select Permission Sets.Click New.
Enter a label such as
Cademy Integrationand save it.Open System Permissions, click Edit, enable API Enabled, then save.
Return to the permission set and open Object Settings.
Add the object and field permissions listed in Step 5 after you have created the fields.
Open Manage Assignments, click Add Assignments, select the integration user and finish the assignment.
Keep the integration user's username nearby. Salesforce may use a username that looks like an email address, but it is not always the same as the user's contact email.
Step 2: find your My Domain URL
In Salesforce Setup, enter
My Domainin Quick Find.Select My Domain.
Find Current My Domain URL.
Copy the full address, including
https://.
A production URL normally looks like:
https://yourcompany.my.salesforce.com
A sandbox or Developer Edition URL may look like:
https://yourcompany.sandbox.my.salesforce.comhttps://yourcompany.develop.my.salesforce.com
Use the My Domain URL, not a Lightning page address ending in .lightning.force.com, and do not add /services/oauth2/token to it.
Step 3: create the Cademy ID fields
Create these fields before you add the Salesforce connection in Cademy. The integration checks for them while it creates the starting mappings.
Create the Contact ID field
In Salesforce Setup, open Object Manager.
Select Contact.
Select Fields & Relationships.
Click New.
Choose Text, then click Next.
Enter these values:
Field Label:
Cademy Contact IDLength:
255Field Name:
Cademy_Contact_ID
Enable Unique.
Keep the value case-sensitive if Salesforce asks how to compare text.
Enable External ID.
Click Next.
Make the field visible to the integration user or its profile.
Continue through the page layout step and click Save.
Check that the final API name is exactly:
Cademy_Contact_ID__c
Create the Account ID field
If you plan to sync Organisations now or later, repeat the same process under Object Manager → Account → Fields & Relationships with these values:
Field Label:
Cademy Organisation IDType: Text
Length:
255Unique: On
External ID: On
API name:
Cademy_Organisation_ID__c
Create this field before connecting even if you plan to leave Organisations off at first. Adding it after the connection is created does not automatically add it to that connection's saved setup.
These fields are managed by Cademy. Your Salesforce users should not type into or change them.
Step 4: create the optional training objects
You can skip this step if you only want to sync Contacts and Organisations.
Complete the Course Date recipe before the Registration recipe because each Registration links to a Course Date.
Create the Course Date object
In Salesforce Setup, open Object Manager.
Click Create, then select Custom Object.
Enter these values:
Label:
Course DatePlural Label:
Course DatesObject Name:
Course_DateRecord Name:
Course Date NameRecord Name Data Type: Text
Enable Allow Reports.
Click Save.
The object's API name must be:
Course_Date__c
Add the Course Date fields
Open Fields & Relationships on the new Course Date object and create each field below.
Field | Type | Settings | API name |
Cademy Course Date ID | Text | Length |
|
Start | Date/Time | No extra settings |
|
End | Date/Time | No extra settings |
|
Status | Picklist | Values: |
|
For the Cademy Course Date ID field:
Click New and choose Text.
Set the label to
Cademy Course Date IDand the length to255.Enable Unique and External ID.
Give the integration user field access.
Save and check the API name is
Cademy_Course_Date_ID__c.
For Status, choose the option to enter one picklist value per line, then enter:
Scheduled
Cancelled
Completed
Cademy currently sends Scheduled for an active course date and Cancelled when a synced course date is deleted. Keep Completed in the picklist so the object is ready for reporting or future use.
Make Course Dates easy to find
A tab is optional for the sync, but useful for Salesforce users:
In Setup, enter
Tabsin Quick Find and select Tabs.Under Custom Object Tabs, click New.
Choose Course Date and any tab style.
Click Next, then Next, then Save.
Create the Registration object
Return to Object Manager.
Click Create, then select Custom Object.
Enter these values:
Label:
RegistrationPlural Label:
RegistrationsObject Name:
RegistrationRecord Name:
Registration NameRecord Name Data Type: Text
Enable Allow Reports.
Click Save.
The object's API name must be:
Registration__c
Add the Registration fields
Open Fields & Relationships on the new Registration object and create each field below.
Field | Type | Settings | API name |
Cademy Registration ID | Text | Length |
|
Contact | Lookup Relationship | Related to Contact |
|
Course Date | Lookup Relationship | Related to Course Date |
|
Status | Picklist | Values: |
|
Attendance Status | Picklist | Values: |
|
For each lookup field:
Click New and choose Lookup Relationship.
For Contact, choose Contact under Related To. For Course Date, choose Course Date.
Keep the field labels exactly as shown in the table.
Accept the normal field security and page layout steps, making sure the integration user can edit the field.
Save and check the API name.
Add a Registration tab in the same way as the Course Date tab if you want users to find these records from the App Launcher.
Step 5: finish the integration user's permissions
Return to the profile or permission set used by the integration user.
Give it these object permissions for every module you plan to enable:
Salesforce object | Object permissions |
Contact | Read, Create and Edit |
Account | Read, Create and Edit |
Course Date | Read, Create and Edit |
Registration | Read, Create and Edit |
Also give the user read and edit access to:
The standard fields used in your Cademy mappings.
Every Cademy ID field used by the modules you enable.
Course_Date__c.Name,Start__c,End__candStatus__c.Registration__c.Name,Contact__c,Course_Date__c,Status__candAttendance_Status__c.
You only need to grant access to the optional objects if you plan to use those modules.
If your Salesforce sharing rules restrict which Contacts or Accounts the integration user can see, make sure it can see the records Cademy may need to update. Ask your Salesforce administrator to use the smallest access that still covers the records you want to sync.
Step 6: create an External Client App in Salesforce
An External Client App gives Cademy permission to call the Salesforce API. It does not give Cademy the integration user's password.
Treat its Consumer Secret like a password. Do not put it in an email, ticket or shared document. After you save the connection, Cademy stores the credentials in encrypted form.
Salesforce recommends External Client Apps for new integrations. Salesforce menus can differ by edition and release, so use the Connected App instructions later in this step only if your org still uses the older screen.
Recommended route: External Client App
In Salesforce Setup, enter
App Managerin Quick Find.Select App Manager.
Click New External Client App.
Enter a name such as
Cademy Syncand a contact email your Salesforce team monitors.If Salesforce asks for a distribution state, choose Local.
In the API or OAuth section, enable OAuth.
Enter this Callback URL:
https://login.salesforce.com/services/oauth2/callbackSalesforce requires a callback value, but Cademy's Client Credentials connection does not use it to redirect a person.
Add this OAuth scope:
Manage user data via APIs (api)
Under Flow Enablement, enable Client Credentials Flow.
Accept Salesforce's security warning if one appears.
Save or create the app.
Open the app's Policies tab and click Edit.
Under OAuth Policies or Client Credentials Flow, make sure Enable Client Credentials Flow is on.
In Run As, enter or select the integration user's Salesforce username.
Save the policies.
The Run As value must be the exact Salesforce username shown under Setup → Users → Users. Do not assume it is the same as the person's email address.
Copy the Consumer Key and Consumer Secret
In External Client App Manager, open the app's action menu and select Edit Settings.
Expand OAuth Settings.
Click Consumer Key and Secret.
Complete Salesforce's identity check. Salesforce may email you a verification code.
Copy the Consumer Key and Consumer Secret to a secure password manager until you finish the Cademy setup.
Do not paste either value into this guide or send it to Cademy Support.
Older route: Connected App
If your Salesforce org does not offer External Client Apps but does offer Connected Apps:
In Setup, open App Manager.
Click New Connected App.
Enter
Cademy Syncas the name and add your contact email.Enable OAuth Settings.
Use
https://login.salesforce.com/services/oauth2/callbackas the Callback URL.Add Manage user data via APIs (api) to the selected OAuth scopes.
Enable Client Credentials Flow and accept the warning.
Save the app and click Continue.
Open Manage, then Edit Policies.
Under Client Credentials Flow, choose the integration user in Run As and save.
In App Manager, open the app's action menu and choose View.
Under API (Enable OAuth Settings), click Manage Consumer Details.
Complete the identity check, then copy the Consumer Key and Consumer Secret.
If New Connected App is missing, Salesforce may require you to enable connected-app creation or ask Salesforce Support for access. Use an External Client App when it is available.
New apps can take up to 10 minutes to become active. If the connection test fails immediately after setup, wait 10 minutes and try once more before changing the settings.
Step 7: install the Salesforce app in Cademy
Sign in to Cademy Admin as an administrator.
Go to Apps.
Select Salesforce.
Read the summary, then click Install.
Cademy installs the app and opens the Salesforce connections page. Installing the app does not send any data. You still need to add a connection.
Step 8: connect your Salesforce org
On the Salesforce connections page, click Connect Your First Salesforce Org. If another org is already connected, click + Add Connection instead.
In Connection Name, enter a name that will help your team recognise the org, such as
Production Salesforce.Paste your full My Domain URL.
Paste the Consumer Key.
Paste the Consumer Secret.
Leave API Version blank unless Cademy Support has told you to use a specific version. Cademy currently uses version
67.0by default.Click Test & Continue.
Wait for Cademy to confirm that the connection succeeded.
Check Connected as. It should show the integration user's Salesforce username.
Check the Organization ID. Make sure this is the Salesforce org you meant to connect.
Click Save Connection.
Click Finish.
Your first connection becomes the default connection automatically. Saving the connection creates the starting mappings but does not send all your existing records.
Step 9: choose what you want to sync
From Apps → Salesforce, select the connection you have just added. The Mappings page shows one card for each module.
Open each module, check its settings and click Save after making a change. Switching a module on does not send old records. It only allows new changes from that point onwards to be sent.
Contacts
Contacts sync to the standard Salesforce Contact object. This module is on by default.
Cademy starts with these field mappings:
Cademy field | Salesforce field |
First Name | First Name |
Last Name | Last Name |
Phone | Business Phone |
Cademy uses Cademy_Contact_ID__c to create or update the same Contact each time.
If the Cademy contact belongs to an organisation and Organisations sync is on, Cademy makes sure the Salesforce Account exists first, then fills the Contact's Account link. If the Account cannot be synced, Cademy can still sync the Contact without that link.
Deleting a contact in Cademy does not delete the Contact in Salesforce.
Salesforce normally requires a Last Name when a Contact is created. If your Cademy contacts do not always have one, test the setup carefully and agree a suitable data rule with your Salesforce administrator.
Organisations
Organisations sync to the standard Salesforce Account object. This module is off by default.
Cademy starts with this field mapping:
Cademy field | Salesforce field |
Name | Account Name |
Cademy uses Cademy_Organisation_ID__c to create or update the same Account each time.
To turn it on:
Open Organisations on the Mappings page.
Check that Map to Salesforce account shows Account.
Turn on Organisations Sync.
Review the field mappings.
Click Save.
Deleting an organisation in Cademy does not delete the Account in Salesforce. Sync Activity keeps a readable message explaining that the Salesforce record was left in place.
Course Dates
Course Dates sync to the custom Salesforce Course Date object. This module is off by default.
Complete the Course Date recipe in Step 4 before turning it on.
Cademy starts with these field mappings:
Cademy field | Salesforce field |
Course Name with Date | Course Date Name |
Starts at | Start |
Ends at | End |
Status | Status |
Cademy uses Cademy_Course_Date_ID__c to create or update the same Course Date each time.
To turn it on:
Open Course Dates on the Mappings page.
Check that Map to Salesforce course date shows Course Date (
Course_Date__c).Turn on Course Dates Sync.
Review the field mappings.
Click Save.
When an active course date is sent, its Status is Scheduled. If a course date that previously synced is deleted in Cademy, Cademy changes its Salesforce Status to Cancelled. It does not delete the Salesforce record.
For a multi-session block course, each real session syncs as its own Course Date. Cademy's internal block-parent placeholder is not synced.
Registrations
Registrations sync to the custom Salesforce Registration object. This module is off by default.
Complete the Registration recipe in Step 4 first. Contacts should be on, and Course Dates must be on if you want the Registration linked to its Course Date.
Cademy starts with these field mappings:
Cademy field | Salesforce field |
Registration Code ( | Registration Name |
Status | Status |
Attendance Status | Attendance Status |
Cademy uses Cademy_Registration_ID__c to create or update the same Registration each time.
The Contact and Course Date lookups are filled automatically, so they do not appear as normal editable mappings. Before writing a Registration, Cademy tries to sync the Contact and Course Date first. If an existing parent record fails to sync to Salesforce, Cademy can still create or update the Registration without that lookup. The parent's own Sync Activity row shows the error. A registration with no Contact or no usable Course Date fails with a readable reason instead.
To turn it on:
Turn on and save Contacts and Course Dates first.
Return to the Mappings list and open Registrations.
Check that Map to Salesforce registration shows Registration (
Registration__c).Turn on Registrations Sync.
Review the field mappings.
Click Save.
Registration values work as follows:
A new booking uses Status
Registered.A cancelled booking keeps its Salesforce record and changes Status to
Cancelled.Moving a booking uses Status
Movedfor the move update and changes the Course Date link. A later update, such as attendance, returns the status toRegisteredon the new Course Date.Attendance Status is empty until attendance is marked, then becomes
AttendedorAbsent.
Registrations for on-demand or e-learning courses have no Course Date, so they are not synced. The reason appears in Sync Activity.
A block registration covers the whole multi-session block and has no single Course Date to link to, so it is not synced. The individual sessions can still sync through Course Dates.
Step 10: change the field mappings, if needed
The starting mappings will be enough for many accounts. You can add your own Cademy fields and map them to suitable Salesforce fields.
To add a mapping:
Go to Apps → Salesforce and select your connection.
Open Mappings and choose the module you want to change.
Click Add Mapping.
Choose the Cademy Module.
Choose the Cademy Field.
Choose the Salesforce field on the right.
If both fields are dropdown lists, use Map values when the values in Cademy and Salesforce do not match exactly.
Complete or remove every unfinished row.
Click Save at the top of the page.
You can also remove a mapping using the remove button at the end of its row.
If the Cademy field you need does not exist yet, choose Create new field… from the Cademy Field list where that option is available. Create the field, then continue setting up the mapping.
Keep these rules in mind:
Map fields that hold the same kind of information. For example, map a date to a date field and a number to a number field.
Required Salesforce fields and validation rules still apply to the integration user.
Do not map two Cademy fields to the same Salesforce field. Only one value can be kept.
Removing a mapping stops future updates to that Salesforce field. It does not clear the old value already stored in Salesforce.
Mapping changes are not applied to old records automatically. They are used the next time each Cademy record changes.
Cademy ID fields and automatic relationship links are managed by the integration. Do not add them as ordinary field mappings.
Changing the Salesforce object for a module clears that module's field mappings, external-ID matching rule and automatic relationship links after you confirm the warning. Rebuild the ordinary field mappings before enabling the module. A custom target then uses the Salesforce Record ID stored after its first successful create; it does not automatically regain the Cademy-ID upsert or parent links from the default target. Keep the default objects if you need the matching and relationships described in this guide.
Unsupported complex Salesforce fields appear unavailable in the field picker.
Step 11: test the setup
Use new test records rather than changing a large number of real records.
Test one module at a time:
Create a test contact in Cademy with a recognisable email address, first name and last name.
Wait a short time, then search for the Contact in Salesforce.
Open the Contact and confirm
Cademy_Contact_ID__chas a value.In Cademy, open Apps → Salesforce, select the connection, then open Sync Activity.
Confirm that the contact shows as Synced.
If you enabled Organisations, create or update a test organisation and check its Account.
Link the test contact to that organisation and confirm the Contact's Account link is filled.
If you enabled Course Dates, create or update a test course date and check the Course Date record, times and Status.
If you enabled Registrations, register the test contact and check both lookup fields on the Salesforce Registration.
Mark attendance, move the registration or cancel it, then check the values update as described above.
If a test fails, check Sync Activity before changing your setup. Salesforce's error message will often name the missing permission, required field or validation rule.
Check Sync Activity
Open Apps → Salesforce, select a connection, then select Sync Activity.
This page shows the 100 most recent sync records for that connection. You can filter the list by:
Synced
Failed
Needs reconnect
Each row shows the Cademy record, the Salesforce record ID when available, the last attempt and the latest error.
If a row says Failed:
Read the full error message.
Fix the cause in Cademy or Salesforce.
Click Retry on that row.
Retry sends that one record again. It does not resend other records and it does not send records that have never been attempted.
If a row says Needs reconnect, replace the credentials as explained below. Retry is not available until the connection works again.
An on-demand registration or a registration on a block-parent course date appears as Failed with a readable reason. Cademy's internal block-parent course date is skipped before a sync attempt, so it does not appear in Sync Activity. The real sessions in the block can still sync.
Replace or rotate Salesforce credentials
Salesforce recommends changing OAuth secrets regularly and immediately if a secret may have been exposed.
When Salesforce gives you a new Consumer Key or Consumer Secret:
In Cademy, go to Apps → Salesforce.
Open the action menu on the affected connection.
Click Edit Connection.
Check the pre-filled My Domain URL.
Enter the Consumer Key and Consumer Secret again. Cademy does not show the saved secret.
Click Test & Continue.
Check the username and Organization ID carefully.
Click Update Connection, then Finish.
Updating credentials does not remove your mappings.
Use Edit Connection for replacement credentials from the same Salesforce org. If you want to connect a different org, use + Add Connection so each org keeps separate mappings and Sync Activity.
Disconnect a Salesforce org
Go to Apps → Salesforce.
Open the action menu on the connection.
Click Disconnect.
Confirm Disconnect.
Syncing to that org stops. Existing Contacts, Accounts, Course Dates and Registrations stay in Salesforce.
You can reconnect later by choosing Edit Connection and entering valid credentials.
Common problems
I cannot see the Salesforce app in Cademy
The Salesforce feature may not be enabled for your account, or you may not be a Cademy administrator. Ask your Cademy account owner or contact Cademy Support.
I cannot create an External Client App
Your Salesforce user may not have permission to create External Client Apps. Ask a Salesforce administrator to create it.
If your org only offers Connected Apps, connected-app creation may need to be enabled or requested through Salesforce Support. Use the External Client App route when it is available.
The connection says invalid client credentials or invalid_grant
Check all of these:
The External Client App or Connected App was saved at least 10 minutes ago.
Client Credentials Flow is enabled.
A Run As user is set.
Run As contains the user's Salesforce username, not only their contact email.
The Consumer Key and Consumer Secret were copied from the same app.
There are no spaces before or after either value.
The My Domain URL belongs to the same Salesforce org.
Then return to Cademy and run Test & Continue again.
The connection works, but records fail with an access error
The connection test proves that Salesforce can issue a token. It does not prove the integration user can edit every object and field.
Check that the Run As user has:
API Enabled.
Read, Create and Edit on the affected object.
Read and edit access to every mapped field and Cademy ID field.
Access through your Salesforce sharing rules to the affected record.
After changing permissions, retry the failed row in Sync Activity.
Salesforce says an object or field does not exist
Check the API names, including capitals and underscores. They must exactly match the names in this guide:
Cademy_Contact_ID__cCademy_Organisation_ID__cCourse_Date__cCademy_Course_Date_ID__cStart__cEnd__cStatus__cRegistration__cCademy_Registration_ID__cContact__cCourse_Date__cAttendance_Status__c
Also check the integration user's field-level access.
I created a Cademy ID field after connecting
Create the field exactly as shown, then contact Cademy Support before enabling the module. The starting connection setup checks for standard-object ID fields only when the connection is first saved, so adding a field later may not update the saved matching rule automatically.
Salesforce rejects a record because a required field is missing
Your Salesforce org may have extra required fields or validation rules that are not part of the starting Cademy mappings.
Open the module under Mappings and map a suitable Cademy value to the required Salesforce field. If no suitable value exists, ask your Salesforce administrator whether the rule should have an exception for the integration user. Do not weaken an important business rule without reviewing the effect first.
A dropdown value is not accepted
Open the affected mapping and click Map values. Match each Cademy value to an allowed Salesforce picklist value, then save and retry the record.
A Contact did not link to an Account
Check that:
Organisations sync is enabled and saved.
Cademy_Organisation_ID__cexists on Account and is marked Unique and External ID.The integration user can create and edit Accounts and the Contact's Account field.
The Cademy contact belongs to an organisation.
Look at both the Organisation and Contact rows in Sync Activity. Cademy can leave the Contact unlinked when the Account cannot be synced.
A Registration did not link to its Contact or Course Date
Check that Contacts, Course Dates and Registrations are all enabled and saved. Also check:
The Registration object has
Contact__candCourse_Date__clookup fields.All three Cademy ID fields exist and are marked Unique and External ID.
The integration user can edit both lookup fields.
The registration belongs to a scheduled course date rather than an on-demand course.
The registration is not for a block-parent course date.
Then read the Registration row's error in Sync Activity and retry it after fixing the cause.
A course date was cancelled but Salesforce still says Scheduled
Cademy sends Cancelled when a previously synced course date is deleted in Cademy. Check that the Status mapping still points to Status__c. If you removed that mapping, Cademy cannot update the Salesforce status on deletion.
I connected Salesforce, but no old records appeared
This is expected. Cademy does not perform a full historic sync when you connect. Records are sent when they are created or changed after setup.
Everything now says Needs reconnect
The Consumer Secret may have expired, been rotated or been deleted, or the Run As user may have been deactivated. Create or copy valid credentials, check the Run As user, then use Edit Connection in Cademy to replace the credentials.
I changed a field mapping, but old Salesforce records did not change
Mapping changes are used on future syncs. They do not update all old records. The new mapping is used when each Cademy record changes again.
Getting help
If you still need help, contact Cademy Support and include:
The name of the Cademy Salesforce connection.
The Cademy record that did not sync.
The Salesforce object involved.
The status and full error shown in Sync Activity.
The time you last tried the sync.
Do not send your Consumer Key or Consumer Secret. Cademy Support does not need the secret value to investigate a sync problem.


