To resolve 6sense intent data sync errors with Salesforce custom account objects, verify the object mapping in 6sense's CRM connector, confirm field-level API names match exactly, check that the integration user has read/write permissions on the custom object, and review Salesforce API limits. Most sync failures trace back to mismatched API field names or permission gaps on the custom object.

Why 6sense Sync Errors Happen on Custom Account Objects

6sense's default integration targets the standard Salesforce Account object. When your org uses a custom account object (for example, Partner_Account__c or a renamed object), the connector can't auto-map intent data unless you explicitly configure it. Most teams get this wrong by assuming 6sense detects custom objects automatically — it doesn't.

The common error categories you'll see in the 6sense sync logs:

  • INVALID_FIELD — the API name 6sense is writing to doesn't exist on the custom object
  • INSUFFICIENT_ACCESS_OR_READONLY — the integration user lacks write permission
  • REQUEST_LIMIT_EXCEEDED — you've hit the Salesforce daily API call cap
  • MALFORMED_ID — record matching pointed at the wrong object type
  • DUPLICATE_VALUE — a duplicate rule or unique field constraint blocked the write
Diagram showing 6sense intent data flowing into a Salesforce custom account object with mapping fields

Step-by-Step Fix

1. Confirm the Object Mapping in 6sense

In the 6sense Settings under Integrations > Salesforce > Object Mapping, check which Salesforce object intent fields are routed to. If it points to standard Account but your account records live in a custom object, change the target to your custom object's API name (it ends in __c).

2. Match Field API Names Exactly

This is the top cause of INVALID_FIELD errors. Salesforce API names are case-sensitive and must include the __c suffix for custom fields. Map each 6sense intent attribute to a corresponding custom field:

6sense Buying Stage      -> Sixsense_Buying_Stage__c
6sense Intent Score      -> Sixsense_Intent_Score__c
6sense Profile Fit       -> Sixsense_Profile_Fit__c
6sense Last Activity     -> Sixsense_Last_Activity__c

Create any missing fields in Setup > Object Manager > [Your Custom Object] > Fields & Relationships before re-running the sync. A field labeled "Intent Score" in the UI may have an API name like Intent_Score__c — always copy the API name, not the label.

3. Grant the Integration User Permissions

INSUFFICIENT_ACCESS_OR_READONLY means the 6sense integration user can't write. Fix it through a permission set:

  1. Open Setup > Permission Sets and find (or create) the 6sense integration permission set
  2. Add Object Settings for your custom account object with Read, Create, and Edit
  3. Set Field-Level Security to visible and editable for every mapped field
  4. Assign the permission set to the 6sense integration user

Profile-level field security overrides object access, so confirm both layers. Salesforce's own field-level security documentation covers the precedence rules.

4. Verify Record Matching Logic

6sense matches accounts on domain or website. If your custom object stores the domain in a non-standard field, MALFORMED_ID or silent skip errors appear. In the matching config, point the match key to the custom object's domain/website field API name. Without a valid match key, 6sense can't resolve which record to update.

5. Check Salesforce API Limits

REQUEST_LIMIT_EXCEEDED (Salesforce error code) hits orgs running large intent syncs alongside other integrations. Check usage under Setup > System Overview > API Usage. Options:

  • Stagger the 6sense sync schedule outside peak integration windows
  • Reduce sync frequency from real-time to scheduled batches
  • Request a higher API limit from Salesforce support if you're consistently near the cap

Generate Proposals with AI in seconds.

Try now
Proposal album preview

Validate the Fix

After changes, trigger a manual sync for a single test account and watch the 6sense sync activity log. A clean run shows updated timestamps on the mapped custom fields. Pull up the test record in Salesforce and confirm the intent score and buying stage populated.

If errors persist, export the sync log and filter by error code. Recurring DUPLICATE_VALUE errors usually point to a Salesforce duplicate matching rule — temporarily deactivate it under Setup > Duplicate Rules to confirm, then adjust the rule to exclude integration writes.

Common Gotchas

  • Master-detail relationships on custom objects require the parent record to exist first, or the write fails
  • Validation rules firing on the custom object can reject 6sense writes; check for required fields the connector doesn't populate
  • Record types with restricted picklist values reject intent stage values that don't match the picklist exactly
  • Triggers and flows on the custom object may consume governor limits during bulk sync

Clean intent data routing supports stronger targeting, which matters most for teams running account-based marketing programs where account scoring drives outreach priority. If you're still evaluating how intent fits your motion, compare it against inbound and outbound pipeline strategies before scaling the integration.