← Back to Blog
·10 min read

How to Map Salesforce Lookup Fields in Personnect

SalesforceCRM IntegrationPersonnectSales OperationsRevOps
How to Map Salesforce Lookup Fields in Personnect

You connected Personnect to Salesforce. Call data is flowing. Tasks are being created automatically after every call. Everything looks great until you open one of those tasks in Salesforce and notice the "Related To" field is blank. The "Name" field shows nothing. The "Assigned To" defaults to the wrong person.

This is the lookup field problem. It is one of the most common challenges when setting up any Salesforce integration, and it has a simple explanation: Salesforce lookup fields do not accept names or text. They only accept internal record IDs. If Personnect does not have those IDs, it cannot populate those fields.

The fix is straightforward, and it all happens inside Personnect. No code, no Salesforce Data Loader, no CSV exports. Just two mapping screens.

Key Takeaways

  • Salesforce lookup (reference) fields store 18-character record IDs, not names or text
  • To push a lookup value on a Task after a call, you first need to import that same reference field onto your contacts in Personnect
  • Everything is configured in Personnect's Settings page using the Import and Export mapping screens
  • Once set up, lookup fields populate automatically on every call going forward

Why Lookup Fields Stay Blank

Salesforce has different field types. Most are simple: text fields accept text, number fields accept numbers, date fields accept dates. Personnect handles all of these automatically.

Lookup fields (labeled "reference" in Personnect's field dropdowns) are different. A lookup field does not store a name. It stores an 18-character Salesforce record ID that points to another record. When you see "Jane Smith" in the Name field on a Task, Salesforce is actually storing something like 003VB00000zQ3ilYAS and displaying the corresponding contact's name.

This is why you cannot simply push a text value like "Jane Smith" into a lookup field. Salesforce rejects it. The field stays blank.

The most common Task fields affected are:

  • Name ID (WhoId): Links the task to a Contact or Lead
  • Related To ID (WhatId): Links the task to an Account, Opportunity, or other object
  • Assigned To ID (OwnerId): Determines which user owns the task

The Rule: Import First, Then Export

Here is the key concept that makes lookup fields work in Personnect:

To push a reference value on a Task (export), you must first import that same reference field onto your contacts.

Personnect cannot send an ID to Salesforce that it does not have. So the process is always:

  1. Import the reference field from Salesforce onto your contacts in Personnect
  2. Export that same value from the contact back onto the Task after each call

Once both sides are mapped, Personnect stores the Salesforce ID on each contact record and automatically includes it when creating Tasks. The lookup field populates correctly on every call.

Step 1: Import Reference Fields onto Your Contacts

Go to Settings > CRM Integration in Personnect. In the contact import section, you will see the Map Fields panel. This is where you match Personnect fields to CRM fields.

On the right side (CRM Field), open the dropdown for any field. You will see every field from your Salesforce object, including its type in parentheses. Look for fields marked as (reference). These are the lookup fields, and they show example values like 0055f00000ERr8iAAD or a01VB00000aDbF4YAK.

Map the reference fields you need. Common ones include:

  • Owner ID (reference): The Salesforce user who owns the contact
  • Target Account (reference): The Account record linked to the contact
  • Attendee (reference): A related contact or person record
  • Campaign (reference): The Campaign associated with the contact

You can map these to Personnect's built-in fields like Company/Account, or to custom fields using "+ Add Custom Mapping" at the bottom of the list.

Click Save Mappings, then import (or re-sync) your contacts. Personnect now stores the Salesforce record IDs on each contact.

Step 2: Export Reference Fields on the Task

Scroll down to the Call / Task Export section. Here you see the Map Call Fields panel, which controls what data Personnect pushes to Salesforce after each call.

On the left side (Personnect Field), open the dropdown. You will see two groups of fields:

Call fields like Subject, Description/Notes, Duration, Disposition, Call Result, AMD Result, Sentiment, Transcript, Recording URL, and more. These are generated from the call itself.

Contact fields like Contact Name, Contact Mobile, Contact Email, Contact Title, Contact State, Contact Owner, Contact Account, Campaign, Stage, and any custom contact fields. These are the values that were imported from Salesforce in Step 1.

On the right side (CRM Field), open the dropdown for the Task object. You will see the reference fields:

  • Name ID (reference): Maps to WhoId on the Task
  • Related To ID (reference): Maps to WhatId on the Task
  • Assigned To ID (reference): Maps to OwnerId on the Task

Create the mapping:

  1. Select a Contact field on the left (e.g., Contact Name)
  2. Select the corresponding reference field on the right (e.g., Name ID)
  3. Click Save Mappings

The contact field contains the Salesforce ID that was imported in Step 1. When Personnect creates a Task after a call, it pushes that ID into the lookup field. Salesforce recognizes the ID and links the Task to the correct record.

Example: Mapping the Contact Name to Name ID

Here is a concrete example of how import and export work together.

On Import (Contact Map Fields):

You map Full Name in Personnect to the contact name field from Salesforce, and you also map a field to Target Contact (reference), which stores the 18-character Contact ID like 003VB00000zQ3ilYAS.

On Export (Call/Task Map Fields):

You add a mapping where the Personnect field is Contact Name (from the Contact Fields group) and the CRM field is Name ID (reference).

Now when a rep makes a call in Personnect, the Task created in Salesforce has the Name field properly linked to the Contact record. The Activity Timeline on that Contact shows the call. Reports filtering by Contact work correctly.

Example: Mapping Agent Name

Another common use case is mapping the agent (rep) who made the call.

On Export (Call/Task Map Fields):

Select Agent Name from the Personnect field dropdown. On the CRM side, you can map it to a text field like "Set By" if you just want the rep's name as text. But if you want it in a lookup field like Assigned To ID (reference), you need the Salesforce User ID.

For this to work, the rep's Salesforce User ID must be available in Personnect. This happens automatically when you link each Personnect user to their Salesforce profile in team settings. Personnect then has the User ID and can push it to the reference field on the Task.

Common Reference Fields You Should Map

Here are the most useful reference field mappings for a typical Salesforce integration:

Contact to Task linkage:

Import Target Contact (reference) on contacts, export Contact Name to Name ID (reference) on Tasks. This ensures every call Task links to the correct Contact record in Salesforce.

Account to Task linkage:

Import Target Account (reference) on contacts, export Contact Account to Related To ID (reference) on Tasks. This ensures Tasks appear on the correct Account's Activity Timeline.

Agent to Task assignment:

Link Personnect users to Salesforce users in team settings. Export Agent Name to Assigned To ID (reference) on Tasks. This ensures the rep who made the call owns the Task in Salesforce.

Campaign tracking:

Import Campaign (reference) on contacts. This reference ID can be used in reports and automations to track which campaign generated each call.

Troubleshooting

Lookup field is blank on the Task:

The most likely cause is that the reference field was not imported on the contact. Go to Settings > CRM Integration, check the import mappings, and verify the reference field is included. Then re-sync your contacts.

Task links to the wrong Contact or Account:

The reference ID stored on the contact in Personnect is outdated, possibly from a Salesforce record merge. Re-sync your contacts to pull fresh IDs.

"Reference" fields do not appear in the dropdown:

Make sure the Personnect integration user in Salesforce has access to the object and field. Check field-level security in Salesforce Setup > Profiles.

Tasks show the wrong agent as owner:

The Personnect user is not linked to the correct Salesforce user. Check Settings > Team and verify each rep's Salesforce mapping.

Best Practices

Always import reference fields when setting up your integration. Even if you do not need them immediately, having the Salesforce IDs stored on each contact gives you flexibility to add export mappings later without re-importing.

Use the "Save Mappings" button after every change. Both on import and export. Unsaved mappings are lost when you navigate away.

Test with a small batch first. After setting up your mappings, make a few test calls and verify the Tasks in Salesforce have the correct lookup fields populated. Check the Activity Timeline on the Contact and Account records.

Re-sync contacts periodically. When records change in Salesforce (merges, ownership changes, account reassignments), the reference IDs in Personnect become stale. A periodic re-sync keeps everything current.

Use "+ Add Field Mapping" for custom lookups. If your Salesforce org has custom lookup fields on the Task object, you can map them the same way. Import the reference on the contact, export it on the Task.

FAQ

Do I need to write any code or use Data Loader?

No. Everything is configured inside Personnect's Settings page. The import and export mapping screens handle all the field mapping visually. You select fields from dropdowns, save your mappings, and sync your contacts. No SQL, no code, no external tools.

Why can I not just type a name into a lookup field?

Salesforce lookup fields only accept 18-character record IDs, not names or text. This is how Salesforce links records together internally. When you see a name displayed in a lookup field, Salesforce is actually storing an ID like 003VB00000zQ3ilYAS and resolving it to the name for display.

What happens if I skip the import step?

If you do not import the reference field onto your contacts, Personnect does not have the Salesforce record ID. When it creates a Task after a call, it cannot populate the lookup field because it has nothing to send. The field stays blank in Salesforce.

Can I add reference field mappings after I have already imported contacts?

Yes. Add the reference field to your import mappings, save, and re-sync your contacts. Personnect will pull the IDs from Salesforce and update your existing contact records. Then add the corresponding export mapping on the Task side.

Does this apply to custom objects?

Yes. Personnect lets you select which CRM object your contacts represent (Contact, Lead, or a custom object) and which object to log calls to (Task, Activity, or a custom object). Reference fields on custom objects work the same way: import the ID, then export it.

How to Map Salesforce Lookup Fields in Personnect — Personnect Blog