Salesforce

SigParser can improve Contacts and Leads in Salesforce by creating new records or updating existing records.

We suggest using the Managed Package to get started. The managed package will created a set of dedicated fields for SigParser data and it won't modify the data in any of your standard fields. This makes it easy to get your team comfortable with the data from SigParser.

Contact Standard Fields

SigParser will fill in the following standard Salesforce fields if they are blank or SigParser perviously set the value.

  • FirstName
  • LastName
  • Phone - Work phone
    • Ext__c - If this field exists, SigParser will set it with the phone number extension and not put the phone extension into the Phone field. If this field doesn't exist, the whole phone number goes into the Phone field.
  • OtherPhone - The value in the "Other Phone" field in SigParser.
  • MobilePhone - Mobile phone number
  • Fax - Fax phone number
  • Title
    • Optional: Some teams have their own title scheme so don't want to push whatever SigParser finds.
  • LeadSource - If this field exists SigParser will put a value of "SigParser" when creating the Contact.
  • Address Fields
    • MailingStreet, MailingCity, MailingCountry, MailingState
    • Will update either all these fields at once or none of them.
    • If any one of the address fields is already filled in, SigParser won't update any of the address fields.
  • AccountID
    • SigParser can create/update Accounts based on the rules you define.
    • The Account name will just be the domain name of the contact. You can change it manually later.
    • Matching Accounts are found by looking for Contacts in SalesForce with the same domain name and what Account they're assigned to.
      • When there are multiple matching accounts SigParser will
        • Identify which of the Accounts that matched is owned by a user in Salesforce that communicated with the contact.
        • The Account in Salesforce with the most contacts assigned to it will be used.
  • OwnerId
    • Only if enabled
    • If there is a matching Account in Salesforce then the owner of that Account is used.
    • If the contact appeared in a mailbox that matches a user in Salesforce then assign that matching user to the Contact in Salesforce.
    • Otherwise match then the contact owner is the person who setup the SigParser to SalesForce connection.

Account Creation

SigParser can automatically generate Accounts for Contacts if enabled.

  • Name
    • Always set to the domain name like microsoft.com or bigco.com
  • Website
  • Description
    • Will say "Created by SigParser on DATE"
  • OwnerId
    • Only if enabled
    • This comes from the OwnerId that was determined to be best for the Contact using either the mailbox or whoever setup the Salesforce connection.

Auto Create Leads

SigParser can automatically create Lead records in SalesForce. This is a great way to add contacts to SalesForce from SigParser and then allow someone in SalesForce to determine which Leads will get promoted to full contacts.

SigParser won't create a Lead if a SalesForce Contact with the same email address already exists.

Contact records are searched by email address using any fields with the type "email" in SalesForce or the field is named "Email".

Lead records are searched by the "Email" field. If the email field is missing SigParser won't be able to update the Leads.

Lead Standard Fields

SigParser will fill in the following standard Salesforce fields if they are blank or SigParser perviously set the value.

  • FirstName
  • LastName
  • Phone - First non-null value for Work Phone, Other Phone, Voip Phone
    • Ext__c - If this field exists, SigParser will set it with the phone number extension and not put the phone extension into the Phone field. If this field doesn't exist, the whole phone number goes into the Phone field.
  • MobilePhone - Mobile phone value
  • Fax - Fax phone number
  • Title
    • Optional: Some teams have their own title scheme so don't want to push whatever SigParser finds.
  • LeadSource - If this field exists SigParser will put a value of "SigParser" when creating the Contact.
  • Company - SigParser calculated company name. This isn't always a great value but it's better than nothing.
  • Address Fields
    • Street, City, State, PostalCode, Country
    • Will update either all these fields at once or none of them.
    • If any one of the address fields is already filled in, SigParser won't update any of the address fields.
  • OwnerId
    • Only if enabled
    • If there is a matching Account in Salesforce then the owner of that Account is used.
    • If the contact appeared in a mailbox that matches a user in Salesforce then assign that matching user to the Lead in Salesforce.
    • Otherwise match then the contact owner is the person who setup the SigParser to Salesforce connection.
  • sigparser_createdate and sigparser_updatedate (custom fields)
    • You must create these fields manually before any contacts are sync'd to your SalesForce instance. The label doesn't matter but the ID of each field does.
    • Date or Date Time fields both work for the data type.

Custom Columns for Contacts / Leads

  • sigparser_createdate and sigparser_updatedate (custom field names, the label can be naything)
    • You must create these fields manually before any contacts are sync'd to your SalesForce instance. The label doesn't matter but the ID of each field does.
    • Field Type: Date or Date Time fields both work for the data type.
    • Steps:
      1. Click Setup -> Build -> Create -> Object -> Select the object -> Fields and Relationships -> Create the custom field and set the type correctly.

Owners will only be set users with the UserType = Standard. Other UserTypes like PowerPartner, PowerCustomerSuccess are not normally users you want to assign as owners of contacts.

Bulk Import Contacts into SalesForce

We suggest reading this guide on how to import contacts into your CRM system. It is very detailed but is a good starting point if you want to merge multiple sources of contacts together before importing into SalesForce.

Delete contacts in Salesforce from SigParser

To do this you need to make sure you created the sigparser_createdate custom field before you did the sync.

  1. Find the contacts sigparser_createdate values
  2. Delete these contacts.

If you didn't create the custom field an alternative is to use this method to delete all contacts that were created during at a specific time.

Managed Package Setup

You should install the SigParser managed package when using Salesforce. It will create dedicated fields on Contacts and Leads for data from SigParser. To set it up you need to do the following.

  1. Verify you have a domain setup for your Salesforce instance.
    • Setup -> My Domain -> Choose a name and deploy it. It will ask you to login again. Then click Deploy to Users
  2. Install the managed package.
    • Be sure to install Only for Admins
  3. Connect SigParser to Salesforce from within SigParser (Connectors -> Add Connector -> Salesforce -> Login)
  4. Purchase a SigParser subscription. Be sure you pick the subscription tier with support for Salesforce.
  5. In Salesforce add the SigParser fields to the Contact and Lead pages.
  6. You do not need to configure the contact sync within SigParser. Once the managed package is installed and you setup the connection to Salesforce from SigParser then SigParser will automatically detect the managed package in Salesforce and fill in the dedicated fields.

Adding fields to layout for Contact or Lead

  1. First disable caching
    • Go to Setup -> Session Settings
    • Under Caching section
    • Uncheck Enable secure and persistent browser caching to improve performance
    • Click Save at the bottom of the page.
  2. Go to the Contact* page
    • Click the Gear icon at the top right and click Edit Object
    • Open Page Layouts on the left
    • Choose which layout to edit.
      • Depending on the end user choose which layout to edit. The standard Contact Layout is the most common and is what an admin sees.
  3. On the contact layout editing page drag a Section component below the Additional Information section and name it SigParser
    • Shift + Click the SigParser fields at the top and drag them into the SigParser section.
    • Rearrange the fields to the order you want.
    • Multiselect all the fields you just added.
      • Click the wrench icon on the right of the columns you added and make them all read only.
    • At the top click Related List
      • Select Internal Relationship Metrics and drag it to the bottom under the Related Lists section.
      • Click the gear icon on the Internal Relationship Metrics section you just added.
        • Pick the columns on the left to show by moving them to the right. We suggest Relationship Name, Emails and Meetings
        • Sort by Emails Descending
    • Click Save at the top left. Click Yes if prompted.
  4. Go to the Contact page and review changes.
  5. Click the Gear icon on the Contact page and click Edit Page
    • Click on the middle block with the tabs.
      • On the right side menu click Add Tab and choose Custom and name it SigParser
    • On the left find the Related List - Single and drag it into the new custom SigParser tab area.
      • Click the Related List and for the property for Related List select Internal Relationship Metrics
  6. Enable session disable caching now that all changes are complete.
    • Go to Setup -> Session Settings
    • Under Caching section
    • Check Enable secure and persistent browser caching to improve performance
    • Click Save at the bottom of the page.
  7. Do these same steps but for the Account page.
    • The account page should have the related list Account Internal Relationship Metrics added to it as well.

Managed Package Fields

SigParser's managed package defines the following new fields in Salesforce. All of these field names are prefixed with "SigParser ". SigParser will always overwrite the values in these new dedicated fields and so users in Salesforce shouldn't be editing the values in these fields. The managed package ships with some predefined roles to make it easier to configure these roles.

Account Fields

  • SigParser Top Internal Emails - The top 5 people within your organization who have had interactions with this contact. This makes it easy to search for contacts who have had interactions with an Account.
  • SigParser Closest Internal Contact Email - Email address of the person within your organization with the best relationship with this account.
  • SigParser Closest Internal User - The User who has the best relationship with this account.
  • SigParser Inbound Emails - Total inbound emails the account has sent to someone internal.
  • SigParser Last Interaction - The last time SigParser detected an interaction with this account.
  • SigParser Meetings - Total meetings had with this account.
  • SigParser Outbound Emails - Total emails someone inside your company has sent to this account.
  • SigParser Tags - All of the tags associated with a contact separated by pipes.. Example: “Tag - Prospect|Role - Vice President|Industry - Finance”

Contact Fields

  • First Name - The first word in the contact's name in SigParser. Sometimes this could just be part of the email address.
  • Last Name - All the other words in the name after the first word.
  • Location Country - Country SigParser thinks the contact is in. This is just a guess and won't always be accurate.
  • Location State - State or region SigParser thinks the contact is in. This is just a guess and won't always be accurate.
  • Location City - City SigParser thinks the contact is in. This is just a guess and won't always be accurate.
  • Created Date - When SigParser created this Contact using configured rules.
  • Last Updated - The last time SigParser modified any of the STANDARD Salesforce fields.
  • Fields Last Updated- The last time SigParser updated the managed package SigParser fields.
  • Work Phone - The value in the SigParser Work Phone field. If SigParser finds a phone number without a type then it is assumed to be the work phone.
  • Mobile Phone - Mobile phone number SigParser likely found in an email signature
  • Other Phone - Phone number SigParser likely found in an email signature. The type was unknown.
  • Address - Address SigParser found in an email signature. This might only be the city and state in some cases. It is not suggested that you use this for sending mailers as these addresses aren’t always complete due to the challenges of parsing free form addresses.
  • Estimated Location - SigParser calculates a derived location. This is a decent way of figuring out the approximate location for a contact although it’s generally about 90% accurate for the country and within the country 70% accurate for the region/state. It uses the Address first, then the phone number country code and then the domain name country code.
  • LinkedIn Url - The link to the LinkedIn profile for the contact.
  • Twitter Url - Link to the Twitter profile for the contact
  • Mailboxes - A comma separated list of mailboxes the contact appeared in ordered by most active mailbox to least active mailbox. See the field - “Mailbox with Most Interactions” if you just want to know which mailbox has the strongest relationship with a contact.
  • Inbound Emails - Total inbound emails the contact has been on. This includes emails both from this person and also emails they were just CC'd - on or in the To field but the email direction was still inbound.
  • Outbound Emails - Total emails this contact received from someone within your organization. The contact could have been in the CC field or the To field.
  • Meetings - Total meetings had with this contact.
  • Organization Name - Organization name captured from the email signature.
  • Closest Internal Relationship Email - Email address of the person within your organization with the best relationship with this contact.
  • Closest Internal Relationship User - The User who has the best relationship with this contact.
  • Mailbox with Most Interactions - The mailbox which has the most emails and meetings for this contact.
  • User Mailbox with Most Interactions - This is derived from “Mailbox with Most Interactions”
  • Email Status - The email verification status for this email address. Values will be blank, “Valid” or “Invalid”. This doesn’t include bounces - so you’ll want to check the Email Bounced Date field as well if you want to exclude any address that could be dead.
  • Email Bounced Date - Date SigParser last detected the email address bounced. If the email address bounces and SigParser later sees a new - email from that person then the email address is no longer marked as bounced.
  • Direct Outbound Emails - The number of emails sent to this contact using the To field on an email.
  • CC Emails - The number of emails the email address for the contact appeared in the CC field.
  • Direct Inbound Emails - Number of emails the external contact sent to an internal contact in our organization.
  • Email Folders - Names of the folders this contact has appeared in separated by pipes. For example, “Prospects|2020 Outreach|2019 Martech”
    • This should only be available to the marketing role security reasons.
  • Tags - All of the tags associated with a contact separated by pipes.. Example: “Tag - Prospect|Role - Vice President|Industry - Finance”

Lead Fields

  • First Name - The first word in the contact's name in SigParser. Sometimes this could just be part of the email address.
  • Last Name - All the other words in the name after the first word.
  • Location Country - Country SigParser thinks the contact is in. This is just a guess and won't always be accurate.
  • Location State - State or region SigParser thinks the contact is in. This is just a guess and won't always be accurate.
  • Location City - City SigParser thinks the contact is in. This is just a guess and won't always be accurate.
  • Created Date - When SigParser created this Lead.
  • Last Updated - The last time SigParser modified any of the standard Salesforce fields.
  • Fields Last Updated - The last time SigParser updated the dedicated SigParser fields.
  • Work Phone - Work phone number SigParser likely found in an email signature.
  • Mobile Phone - Mobile phone number SigParser likely found in an email signature
  • SigParer Phone - Phone number SigParser likely found in an email signature. The type was unknown.
  • Job Title - Job title SigParser found in an email signature.
  • Address - Address SigParser found in an email signature. This might only be the city and state in some cases. It is not suggested that you - use this for sending mailers as these addresses aren’t always complete due to the challenges of parsing free form addresses.
  • Estimated Location - SigParser calculates a derived location. This is a decent way of figuring out the approximate location for a contact although - it’s generally about 90% accurate for the country and within the country 70% accurate for the region/state. It uses the Address first, then - the phone number country code and then the domain name country code.
  • LinkedIn Url - The link to the LinkedIn profile for the contact.
  • Twitter Url - Link to the Twitter profile for the contact
  • Mailboxes - A comma separated list of mailboxes the contact appeared in ordered by most active mailbox to least active mailbox. See the field - “Mailbox with Most Interactions” if you just want to know which mailbox has the strongest relationship with a contact.
  • Inbound Emails - Total emails this person was on that were inbound emails. This doesn’t mean that person directly sent someone in your - organization an email.
  • Outbound Emails - Total emails this contact received from someone within your organization.
  • Meetings - Total meetings had with this contact.
  • Organization Name - Organization name captured from the email signature.
  • Closest Internal Relationship Email - Email address of the person within your organization with the best relationship with this contact.
  • Closest Internal Relationship User - The User who has the best relationship with this contact.
  • Mailbox with Most Interactions - The mailbox which has the most emails and meetings for this contact.
  • User Mailbox with Most Interactions - This is derived from “Mailbox with Most Interactions”
  • Email Status - The email verification status for this email address. Values will be blank, “Valid” or “Invalid”. This doesn’t include bounces - so you’ll want to check the Email Bounced Date field as well if you want to exclude any address that could be dead.
  • Email Bounced Date - Date SigParser last detected the email address bounced. If the email address bounces and SigParser later sees a new - email from that person then the email address is no longer marked as bounced.
  • To Email Field - The number of emails the email address for the contact appeared in the To field.
  • CC Email Field - The number of emails the email address for the contact appeared in the CC field.
  • From Email Field - The number of emails the email address for the contact appeared in the From field.
  • Email Folders - Names of the folders this contact has appeared in separated by pipes. For example, “Prospects|2020 Outreach|2019 Martech”
    • This should only be available to the marketing role for security reasons.
  • Tags - All of the tags associated with a contact separated by pipes.. Example: “Tag - Prospect|Role - Vice President|Industry - Finance”

Internal Relationship Metrics

The managed package defines this new object.

There will be one to many objects for each combination of contact to internal contact. The average external contact will have two Internal Relation Metric objects. This means it should consume 2X as much space as the contacts table. This is useful for building your own relationsihp scores.

  • Email Address - Email address of the external person
  • Contact - The contact associated with this email address.
  • Internal Email Address - Email address of the internal person
  • User - The user that best matches the internal email address. If SigParser doesn’t find a user that matches then this will be blank.
  • Emails - Total emails back and forth between these two people where one of them was the sender of the email. This won’t include emails where - they were both on the email but neither was the sender.
  • External Sent - Total emails the external person send (To) to the internal person
  • External CC - Total emails the external person sent (CC) to the internal person
  • External Sent Last - Last date the external person sent (To) the internal person
  • External CC Last - Last date the external person sent (Cc) the internal person
  • External Sent First - First date the external person sent (To) to the internal person
  • Internal Sent - Total emails internal person sent (To) to the external person
  • Internal CC - Total emails internal person sent (CC) to the external person
  • Internal Sent Last - Last date the internal person sent (To) to the external person
  • Internal CC Last - Last date the internal person sent (CC) to the external person
  • Internal Sent First - First date the internal person sent (To) the external person
  • Meetings - Total meetings with these two people on it together.
  • Last Meeting - The last meeting between these two people.
  • First Meeting - The first meeting between these two people.
  • This Month External Sent - Total emails the external person sent (To) the internal person last month
  • This Month Internal Sent - Total emails has the internal person sent (To) the external person last month
  • This Month Meetings - Total meetings last month
  • ... Date ranges for
    • Last Month
    • Months 3 - 5
    • Months 6 to 12

Account Internal Relationship Metrics This related list allows Salesforce users to see a list of internal people to your organization who have had interactions with an Account.

  • Internal User - User in Salesforce who has a username that matches the "Internal Email" field. This won't always be populated if the email address isn't a user.
  • Internal Email - Email address of the internal person.
  • Emails - Number of emails exchanged between the Account and the person.
  • Last Email - Date of the last email exchange.
  • Last Meeting - Date of the last or next meeting.
  • Meetings - Total number of meetings.

Non-Profit Starter Pack FAQ

If you are a non-profit and use the Non-Profit Start Pack, you might have some concerns. There shouldn't be anything extra you need to do but just in case, we've answered some of the common questions below.

Be aware this guide was written on 1/10/2019 for the current version of NPSP. The account model in older versions was different.

How does SigParser handle Contacts and Accounts in the NPSP?

SigParser doesn't have to do anything different for NPSP accounts and contacts if using the latest NPSP account model. The model is close enough to the standard SalesForce Accounta and Contact model that nothing really changes for how SigParser needs to operate.

salesforce npsp account model

Will Phone workflow rules break with the NPSP and SigParser's updates?

No, SigParser will set the proper phone field for a contact. From the SalesForce NPSP Documentationdocs:

When you change the Preferred Phone or Preferred Email pick-list field values, Salesforce automatically copies the related Phone or Email into the standard Phone or Email field, respectively. For example, if you selected “Mobile” as the preferred phone, Salesforce copies the value from the Mobile Phone field (“609-111-3333” in the example below) into the standard Phone field (which you can see on things like related lists containing Contact information).

salesforce npsp preferred phone

How are address updates handled between NPSP and SigParser?

The NPSP Address Management system works nicely with SigParser's updates. Since SigParser never overwrites addresses manually entered, SigParser won't ever set a bad address on a contact. If there are multiple contacts in a household, NPSP Address Management always ensures all contacts in that household have the same address.

salesforce npsp preferred phone

What API calls is SigParser making?

SigParser has different types of API calls it makes depending on the need.

Local Cache

SigParser initially fetches a limited set of fields for Users, Accounts, Contacts and Leads. This is needed to reduce API calls during the sync process. The default page size is 2000 records. So if there are 100,000 Contacts SigParser will make 50 API requests to fetch Contacts.

Once the initial sync is complete then on later jobs SigParser will only fetch new or recently modified records.

Create/Update Standard Fields

SigParser can create or update Contacts and Leads in Salesforce and their standard fields. SigParser will look at each of the contacts in SigParser and determine if it meets the rules for either being created or updated in Salesforce.

Using the data from the local cache, if SigParser thinks it needs to create the contact then it will query Salesforce Contacts and Leads (2 API requests). If no matching contact on email address is found then SigParser will create the contact (1 API request).

Using the data from the local cache, if SigParser thinks it could update the Contact or Lead then it will fetch that record from Salesforce (1 API request). It will then compare all the fields in SigParser to the fields in Salesforce. If any fields can be updated by SigParser then SigParser will call the Update API (1 API request).

SigParser will only re-evaluate a contact for create/update if the contact was recently modified in SigParser or Salesforce. This prevents extra API requests.

Managed Package Updates

SigParser will detect if the managed package is installed. Using the data in the local cache, SigParser will look at all the recently modified contacts in SigParser and Salesforce since the last data sync. SigParser will loop thru all the matching contacts in SigParser 200 at a time and make three batch calls to update Contacts, Leads and Internal Relationship Metrics (1 to 10 API calls per 200 contacts).

If a single batch is more than 10MB then it has to be broken up into multiple batches. This is why there is a range from 1 to 10 calls.