Dialpad Powerdialer with Salesforce

  • Updated

Dialpad’s Powerdialer inside Salesforce allows Sales Managers to set up dial lists containing Leads, Contacts, Opportunities, or Accounts and assign them to reps. 

Reps can dial through these lists automatically without bringing up each record individually.  

Let's take a look at how the Powerdialer works. 

Download Dialpad Powerdialer

First things first, to use Dialpad’s Powerdialer, you'll need to download the latest package from the Salesforce AppExchange.

  • If you are using a URL to install the package inside your Salesforce Sandbox, replace “login.salesforce.com” with “test.salesforce.com” in the URL

Enable the Powerdialer Inside Dialpad

To enable the Powerdialer, Company Admins will need to navigate to their Admin Settings at Dialpad.com

  1. Select Company Settings
  2. Navigate to Integrations
  3. Select Options besides the Salesforce integration
  4. Click Manage Settings

This allows you to connect your company’s Salesforce account to Dialpad, allowing rep and call center syncing.  sf8.png

Once you've enabled Salesforce Powerdialer in your Company Settings or Office Integration Settings, navigate to your Office Settings to set post-call wrap-up time for your agents.


Creating & Assigning Lists in Salesforce

Install the Dialpad for Salesforce Package here. Use the SFDC App Launcher and search for Dialpad Lightning.



Click on Dialpad Lighting, and you will be taken to the Powerdialer setup page. Once there, select Create New List in the upper right-hand corner.


Clicking on Create New List opens the screen shown below.


  • List Name: Enter alphabetical letters, numbers, spaces, or special characters including '-' and '_'
  • Salesforce Object: Choose between Lead, Contact, Opportunity, or Account
  • List Type: Static lists do not update to add new records, but records get removed if they no longer meet the list's criteria; dynamic lists add or remove records automatically when the criteria for the list is met

After your new list is created, you will be taken to a screen where your filtering criteria can be set.


  • List Status: Shows whether the list is currently active
  • Object Type: Indicates the type of SFDC object the list would contain
  • List Sorted By: Organizes the calling priority for the records from the list; the records in the list are vended in the list sort order
  • Times Dialed: Number of times a record from the list should be dialed; each time a record is vended for dialing, this number is incremented for that record
  • Follow-Up Field: Field that can be used for scheduling callbacks

To add records to your list, click on the filter icon and specify the criteria to be used to add records to the list.


Filtering criteria can be any attribute of the object. In an example below, the list contains all leads from 'Dialpad' in the state of California.


Be sure to hit Apply to save the filtering criteria and then Save on the list to save all changes to the list. You can always go back and edit the filtering criteria and records will be added/removed depending on the new criteria.

Once you have completed your list, you can assign the list to Agents or Call Centers.

  • Assign the list to Agents if you'd like one or more agents to be assigned for all calls from that list


  • Assign to Call Centers if you'd like records from a list to be assigned to agents when they go active in a call center.


Clone Your Dialpad List

Need to make a copy of your current list? Use the clone feature to make a carbon copy of your Dialpad List.

  1. Click the “Clone” button
  2. Enter the New list's name
  3. Select "Clone"


List & Call Center Prioritization in Salesforce

Ensure your Call Centers and Lists receive the exact attention they need by prioritizing their rank. 

List Prioritization

The List Prioritization page allows you to rank different lists by dragging and dropping (or by clicking the up/down arrows) to sort your Lists into the desired order. 

List Priorities are generally used if a representative is assigned to multiple lists at the same time.


Call Center Prioritization

The Call Center Prioritization page allows you to rank different call centers. Note that Call Center priorities are considered only after taking into account a list's priority.

Select the Edit icon (that's the pencil) in the Priority section of your Call Center. Simply update the number and hit Enter to save. 


Dialing Out of the Powerdialer

In the Dialpad CTI in Salesforce lightning, Agents should see a Start Dialing button if they have been assigned to the list(s) and have records available to dial.


Once the Agent clicks on the Start Dialing button, they will be active on the Powerdialer mode and the record that is being dialed out will be loaded on the screen while it is being dialed.

After the call is done, Agents will get a wrap-up time before moving on to the next call. This wrap-up time is determined by the value selected by the Dialpad Office Admin in the Office Settings. Closing the wrap-up time before the present time is up will cause the Powerdialer to move on to the next call.


Setting Follow-Up Time

Using the follow-up field, you're able to send records out of a list and bring them back in after the specified timeframe.

Please ensure that there is a field that lets you set a date and time.

In the list creation view, select Edit under the Follow Up Field menu and choose the field you'd like to use for follow-ups.


After setting the follow-up time, records are taken out of the list and brought back in after the specified timeframe.


Powerdialer General Settings

Customize your Powerdialer in the General Settings.


Here, you're able to customize the following:

  • Call Threshold time (In Minutes ) - Time gap to be left by Dialpad between 2 consecutive attempts to autodial any specific record from a list. This setting will make sure you don't make a call to the same number again within the threshold time.
  • MyDialpad - Total Records To Display - Count of queued records to be displayed in My Dialpad Tab for powerdialer agents. The maximum count allowed is 2000. No impact on the dynamic list. 
  •  Enable Real-Time Deletion and  Enable Dialpad List Deletion - No impact on the dynamic list. As the name suggests these are used for enabling list deletions.
  • Job Interval  - Frequency to trigger job to evaluate incremental record updates against list filter criteria of existing powerdialer lists.  This will take care of any new records that are matching filter criteria and records that no longer match filter criteria.
  • Relative date evaluation job  - Frequency to trigger job to evaluate relative dates in list filter criteria of existing powerdialer lists on a regular basis. We need to enable this if the customer uses any relative filters in the Dynamic list.

Viewing Powerdialer List Assignments

As an Agent, you can view your Powerdialer list assignments using the “My Dialpad'' tab in Salesforce. This page allows the agent to find out the records in his/her Powerdialer queue in the sequence used by the Salesforce application to vend out the records for powerdialing. You can also view lists that are assigned to you in this page.


FAQs for Sales Managers / Representatives

Do I need a special license to use this integration?

This integration is available to all Ai Sales users on the Pro and Enterprise plans.

Can I create a list based on tasks that look against the parent object?

Not at this moment. Lists can be created only with Leads, Contacts, Accounts, or Opportunities.

Can I create a list based on custom objects?

We currently do not support list creation based on custom objects.

Can I use the SFDC Classic integration or Dialpad Desktop app?

Because of the nature of the Powerdialer and the contextual information that we present to the user, we limit the Powerdialer to the Salesforce Lightning CTI.

Can I make updates to static lists after they've been created?

It's still possible to change the filters to update static lists. Static lists are static only for real-time updates. Dynamic lists automatically add records when a record matches the filtering criteria but static lists do not.

Why did my call not log as an activity?

We require an exact match to log calls to the record. If there are multiple matches found for the number that is being dialed out, we ask users to select a record to log the call against. If a call isn't logged, it is likely that the number had multiple matches in Salesforce.

The Powerdialer stopped because the number is invalid. What makes a number invalid?

We prefer numbers in the E.164 format. If a number is not in that format, we will attempt a call based on the country they are set up inside Dialpad. In case of failures, we will stop the Powerdialer to allow the rep to update the phone number and retry.

I am unable to place calls because there is no microphone detected. What do I need to enable?

Please confirm that the browser you're using has permission to use the microphone. Here are instructions for Chrome and Firefox.

Can I use the Powerdialer to dial internationally?

Yes! International dialing requires the use of calling credits and numbers to be dialed in the E.164 format. Please work with your Dialpad Admin to enable calling credits.

Why did the same record get dialed out again?

We will dial out records again if the 'No of Times Dialed' hasn't reached zero and if there aren't any filtering criteria that take the records out of a list. To filter our records, we suggest setting the filtering criteria on an attribute that can be updated after the call is placed. E.g. A follow-up date that lets you drop the record from a list.

I keep getting a message saying 'Dialpad could not reach a number' even though the number is active?

The message is played if Dialpad attempted dialing out to the number but couldn't due to one of the following reasons:

  • The number is busy
  • The number is in a zone where a call cannot be reached
  • The number didn't answer within 30 seconds
  • The carrier/user has marked the number as spam

Why are calls taking so long to load?

Calls can take up to 10 seconds to load and connect as we depend on Salesforce to provide the number and carriers to connect the call. The speed at which Salesforce vends the record depends on the capacity and other processes running on the Salesforce instance. Please reach out to Salesforce for any capacity questions.

Salesforce isn’t able to load the opportunity or account. What is happening?

Please reach out to your Salesforce admin to confirm whether you have access to those records.

I can’t find the button to do a ‘Voicemail Drop’. How do I do enable it?

Please refer to this article to enable the feature.

Why didn’t records matching a list criteria not get added?

Dialpad runs jobs inside Salesforce that look for records to match prospective lists. Please reach out to your Salesforce admin to confirm that the jobs haven’t been ended or stopped due to other processes. Additionally, note that records might take about 10 minutes to be added to a list.

FAQs for Salesforce / Dialpad Admins

Which objects are added by the SFDC package for Powerdialer?

The following objects are added to your Salesforce instance by the new Dialpad for Salesforce package.

  • Dialpad Activity Log: Keeps a log of activities performed in Dialpad – List Update, Record Dialed, Record(s) Added, Record(s) Removed
  • Dialpad Agents: Creates a reference to Dialpad reps that can be assigned to lists
  • Dialpad Call Center: Creates a reference to Dialpad Call Centres that can be assigned to lists
  • Dialpad Exception Handling: Keeps a log of runtime exceptions. Helps in debugging/troubleshooting
  • Dialpad List: Creates the list object for holding records to be powerdialed
  • Dialpad List Assignment Junction: SFDC junction object that contains list assignment information
  • Dialpad List Filter: Stores the filters defined for the list
  • Dialpad LOAC: Contains information on the list that a record is assigned to
  • Dialpad Record Queue: Used to aggregate inserted and updated records for a particular amount of time and process them in bulk after aggregation

Can I use the SFDC Classic integration or Dialpad Desktop app to powerdial?

Because of the nature of the Powerdialer and the contextual information that we present to the user, we limit the Powerdialer to the Salesforce Lightning CTI.

How many jobs does Dialpad run inside Salesforce for the Powerdialer?

We run 9 jobs inside Salesforce for the Powerdialer.

  • QueueLOACRecordDeletion: This class updates the status of records and inserts new records in the record processing queue. This class also calls future method to delete records from LOAC.
  • QueueableRecordAssignment: This class creates an entry for the inserted/updated Lead/Account/Opportunity/Contact records on the Dialpad Record Queue
  • DialpadRecordAssignmentBatchInsert: This batch picks the inserted Lead/Account/Opportunity/Contact records from the Dialpad Record Processing Queue and populates the Dialpad LOAC records based on records matching the lists.
  • DialpadRecordAssignmentBatchUpdate: This batch picks the updated Lead/Account/Opportunity/Contact records from the Dialpad Record Processing Queue and populates the Dialpad LOAC records based on records matching the lists.
  • DelegatorSchedulable: This job is used to schedule the execution of DialpadRecordAssignmentBatchInsert and DialpadRecordAssignmentBatchUpdate if scheduling is the last option in the given context.
  • DeleteOrphanedListChildRecords: This batch is responsible for deleting the records from Dialpad LOAC object for the lists that are deleted from the system.
  • Dialpad_NightlyUpdateBatch: This job runs nightly and is responsible for moving records in and out of the list which use reference date filters like TODAY, YESTERDAY, LAST 10 DAYS, etc.
  • DialpadListDeletionBatch: This batch deletes the given list of sObject IDs from the junction Dialpad_LOAC__c object when a list is saved with changed filters.
  • Dialpad_UpdateRematchedRecordsBatch: This batch undeletes the given list of sObject IDs from the junction Dialpad_LOAC__c object when an already deleted record rematches a list after changing filters.

How many API calls does a user make per call for Powerdialer?

We make an API call to find out if a rep has records assigned to them for dialing and an additional API call for each record that is dialed out. Additionally, there are more API calls made to Salesforce for logging the call and updating the activity. We anticipate about 10-15 API calls per phone call.

How do I find out which list a record was dialed from?

Each record dialed out of a list will have a custom field from the LOAC object (Dialpad__Powerdialer_Dialed_List__c) listing the list name from which the record was dialed.

I am unable to create a list or save a comment due to a ‘Component Error’. What do I do?

This is likely caused by missing permissions or by some fields not being accessible. Please check for permissions for that user in Salesforce under Setup>Users.

How is the number of call attempts for a record -1? 

Number of call attempts can go negative if there is one attempt remaining and two users are given the same record. While this is unlikely, please refer to the steps in the previous slides to increase the timer between two users being given the same record.

While using the Clone button, does it also clone the “Filter Criteria” of the parent list?

The clone list will have all the filter criteria copied from the parent list. However, the user is free to make changes to the “Filter Criteria” if they wish to change it.

Why is there a timer of 5 minutes set for vending a record to be called again?

The timer of 5 minutes is set to prevent two or more reps from calling the same person. This can be changed by taking the following steps:

  • Go to Setup > Custom Settings
  • Locate “Dialpad Custom Setting”
  • Click “Manage” against “Dialpad Custom Setting”
  • Edit the record named “Dialpad Namespace” from the listed records
  • Update the value of  “Call Threshold Time” field to a higher value