You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/salesforce/questions.md
+65-78Lines changed: 65 additions & 78 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,13 +42,33 @@ If all browser permissions are allowed and the error persists, recommend checkin
42
42
43
43
A. Users require access to the RingCentral Visualforce page in their profile. To set up this access, go to the user's profile in Salesforce. Under Visualforce Page Access, check that the page OpenCTIIndex is included.
44
44
45
+
## Q. Why can't I connect my Salesforce org in the integration console, and why do I see "Your connection is not set up successfully" or a server error?
46
+
47
+
A. That message means the connection did not complete successfully. In some cases Salesforce returns an error like "sObject type 'ApexClass' is not supported" with code INVALID_TYPE. The integration then cannot finish setup because it expects Salesforce objects related to Apex (Apex is Salesforce's code layer; ApexClass is part of that). Turning on the API add-on does not change your edition: if your org does not include Apex, those objects are not available, and the connection can fail even when general API access works.
48
+
49
+
This situation often appears on Salesforce Pro Suite–style orgs that are "clicks, not code" and do not include the Apex engine. RingCentral's Salesforce integration is not supported on orgs that cannot expose Apex metadata. Permissions or extra add-ons cannot replace a missing Apex platform.
50
+
51
+
**What to do:** Confirm your Salesforce edition with your admin. If Apex is not part of your edition, move to an Apex-capable edition (for example Enterprise or another edition Salesforce documents as including Apex), then connect again. For Salesforce's own comparison of capabilities, see [Salesforce Help: compare capabilities](https://help.salesforce.com/s/articleView?id=000385436&type=1) and [Extend, click, automate (PDF)](https://resources.docs.salesforce.com/latest/latest/en-us/sfdc/pdf/extend_click_automate.pdf). If you already use a higher edition and still see the error, contact RingCentral support with the exact message, edition, and time of the attempt.
52
+
45
53
## Q. Why is the Related To field not auto-populated when logging a call?
46
54
47
55
A. To ensure the "Related To" field is auto-populated when logging a call, follow these steps:
48
56
49
57
Enable the "Enhanced autofill 'Contact Relationship' when using click to dial" checkbox.
50
58
Access the "Autofill Related-To in Call Log for Click to Dial" settings from the RingCentral Admin for Lightning advanced settings in the Admin UI.
51
59
60
+
## Q. Do Not Call is set on my Person Account (or Contact / Lead), but RingCentral for Salesforce still lets the call go through. Why?
61
+
62
+
A. In RingCentral for Salesforce, blocking outbound calls based on the Salesforce Do Not Call field only happens when Do Not Call verification is turned on in the RingCentral for Salesforce Admin settings for your org. If that verification is off in the configuration the CTI is actually using, the app does not treat the Salesforce Do Not Call checkbox as a hard block for Person Accounts, Contacts, or Leads, and the call can still be placed.
63
+
64
+
The CTI keeps a saved copy of the last configuration it received (including Admin options such as Do Not Call verification) in local storage for the user. On startup, if that saved copy is still recent (within about one hour), the app may reuse it and refresh settings in the background in some cases, so the panel may not always wait on the latest values before you dial. Signing out of RingCentral in the CTI clears that saved configuration so the next sign-in loads a fresh copy from Salesforce.
65
+
66
+
**What to do**
67
+
68
+
- In the RingCentral for Salesforce Admin UI, open Do Not Call settings, turn Do Not Call verification on, choose Save, then refresh the Admin page and confirm it still shows on.
69
+
- Have the user sign out of RingCentral in the CTI (to clear cached integration settings), optionally sign out of Salesforce and back in, reopen the CTI, and test again on a record with Do Not Call checked.
70
+
- If calls still connect when they should be blocked, submit a diagnostic report (for example Contact Support / CPR) right after the test so support can confirm the new configuration shows Do Not Call verification enabled. If it still shows as disabled in that fresh data, the issue is treated as configuration or caching, not the Salesforce field alone.
71
+
52
72
## Q. How to create a custom field and add it to the create call log screen in RingCentral CTI?
53
73
54
74
A. Salesforce administrators can create a new custom field of various data types (e.g., Date, Text, Text Area, Picklist) and add it to the create call log screen. Users can update this field while on a call with an agent, which will ultimately update the Task object. This feature is beneficial for users who need to update a particular field inside the task during or after a call with an agent. Follow these steps to add a RingCentral custom field or a new custom field to the Call Log Screen:
@@ -79,15 +99,15 @@ A. Below are the RingCentral custom fields
79
99
80
100
1. Call Identification Fields:
81
101
82
-
● CALL_UNIQUE_ID_c
102
+
● CALL_UNIQUE_ID__c
83
103
84
104
- Type: Text
85
105
- Length: 255
86
106
- External ID: true
87
107
- Unique: true
88
108
- Purpose: Unique identifier for each call
89
109
90
-
● CALL_UUID_c
110
+
● CALL_UUID__c
91
111
92
112
- Type: Text
93
113
- Length: 255
@@ -96,25 +116,25 @@ A. Below are the RingCentral custom fields
96
116
97
117
2. Call Recording Fields:
98
118
99
-
● Call_Recording_c
119
+
● Call_Recording__c
100
120
101
121
- Type: Text (Formula)
102
122
- Formula: Creates a hyperlink to the call recording
103
123
- Purpose: Links to the call recording in RingCentral
104
124
105
-
● Recording_Information_c
125
+
● Recording_Information__c
106
126
107
127
- Type: Text
108
128
- Purpose: Stores recording metadata
109
129
110
130
3. Call Details Fields:
111
131
112
-
● call_start_time_c
132
+
● call_start_time__c
113
133
114
134
- Type: DateTime
115
135
- Purpose: Start time of the call
116
136
117
-
● call_end_time_c
137
+
● call_end_time__c
118
138
119
139
- Type: DateTime
120
140
- Purpose: End time of the call
@@ -131,126 +151,126 @@ A. Below are the RingCentral custom fields
131
151
132
152
4. Caller/Callee Information:
133
153
134
-
● caller_name_c
154
+
● caller_name__c
135
155
136
156
- Type: Text
137
157
- Purpose: Name of the caller
138
158
139
-
● callee_name_c
159
+
● callee_name__c
140
160
141
161
- Type: Text
142
162
- Purpose: Name of the callee
143
163
144
-
● caller_location_c
164
+
● caller_location__c
145
165
146
166
- Type: Text
147
167
- Purpose: Location of the caller
148
168
149
-
● callee_location_c
169
+
● callee_location__c
150
170
151
171
- Type: Text
152
172
- Purpose: Location of the callee
153
173
154
-
● from_number_c
174
+
● from_number__c
155
175
156
176
- Type: Text
157
177
- Purpose: Caller's phone number
158
178
159
-
● to_number_c
179
+
● to_number__c
160
180
161
181
- Type: Text
162
182
- Purpose: Callee's phone number
163
183
164
184
5. Logging Type Field:
165
185
166
-
● RC_Logging_Type_c
186
+
● RC_Logging_Type__c
167
187
168
188
- Type: Text
169
189
- Length: 255
170
190
- Purpose: Indicates the type of logging (e.g., 'sms', 'call')
171
191
172
192
6. Additional Fields:
173
193
174
-
● external_whoid_c
194
+
● external_whoid__c
175
195
176
196
- Type: Text
177
197
- Purpose: External Who ID reference
178
198
179
-
● hvs_disposition_c
199
+
● hvs_disposition__c
180
200
181
201
- Type: Text
182
202
- Purpose: HVS disposition field
183
203
184
-
● key_c
204
+
● key__c
185
205
186
206
- Type: Text
187
207
- Purpose: Key field for additional data
188
208
189
209
7. Contact Fields:
190
210
191
-
● SMS_Number_c
211
+
● SMS_Number__c
192
212
193
213
- Type: Text
194
214
- Purpose: SMS number for the contact
195
215
196
-
● SendSMS_c
216
+
● SendSMS__c
197
217
198
218
- Type: Boolean
199
219
- Purpose: Flag to indicate if SMS can be sent
200
220
201
221
8. Admin Settings Fields:
202
222
203
-
● AutoFill_c
223
+
● AutoFill__c
204
224
205
225
- Type: Boolean
206
226
- Purpose: Auto-fill setting
207
227
208
-
● AutoSave_c
228
+
● AutoSave__c
209
229
210
230
- Type: Boolean
211
231
- Purpose: Auto-save setting
212
232
213
-
● HvsDispositionField_c
233
+
● HvsDispositionField__c
214
234
215
235
- Type: Text
216
236
- Purpose: HVS disposition field setting
217
237
218
-
● HvsMode_c
238
+
● HvsMode__c
219
239
220
240
- Type: Text
221
241
- Purpose: HVS mode setting
222
242
223
-
● IsUnMandatory_c
243
+
● IsUnMandatory__c
224
244
225
245
- Type: Boolean
226
246
- Purpose: Mandatory field setting
227
247
228
-
● ToVoiceMail_c
248
+
● ToVoiceMail__c
229
249
230
250
- Type: Boolean
231
251
- Purpose: Voicemail setting
232
252
233
-
● accountRelatedTo_c
253
+
● accountRelatedTo__c
234
254
235
255
- Type: Text
236
256
- Purpose: Account relation setting
237
257
238
-
● autoSelect_c
258
+
● autoSelect__c
239
259
240
260
- Type: Boolean
241
261
- Purpose: Auto-select setting
242
262
243
-
● fieldOrder_c
263
+
● fieldOrder__c
244
264
245
265
- Type: Number
246
266
- Purpose: Field order setting
247
267
248
-
● popOnRinging_c
268
+
● popOnRinging__c
249
269
250
270
- Type: Boolean
251
271
- Purpose: Pop on ring setting
252
272
253
-
● saveOnRinging_c
273
+
● saveOnRinging__c
254
274
255
275
- Type: Boolean
256
276
- Purpose: Save on ring setting
@@ -383,7 +403,9 @@ Ringing queue calls are ignored because we can only determine the outcome of the
383
403
Missed calls are ignored as presumably some other member will pick up the call and log it.
384
404
385
405
The above behavior is intended. The call should be logged by another member if it is picked up.
386
-
If the call is completely missed, it will likely not be logged. The logic to log this would conflict with the logic to avoid duplications. As a workaround, users should follow the server-side call logging logic, which requires an admin to complete the setup in the integration console (integrations.ringcentral.com) and enable Activity Sync. Our server component handles the logging of calls and will be able to log missed call queue calls correctly, as the service sees the call logs from the standpoint of the entire account.
406
+
If the call is completely missed, it may still not appear as an automatically created Task from the CTI, because the same duplicate-avoidance rules apply while the call is ringing or missed on a queue leg from that agent's perspective.
407
+
408
+
Activity Sync (server-side automatic call logging configured in the RingCentral integration console at integrations.ringcentral.com) logs eligible call types from RingCentral's account-wide call history, but it does **not** override every client-side queue rule in the CTI. Ringing or missed **call queue** legs may still be skipped or treated differently depending on Activity Sync call-type settings and how the session appears for the account. Do not assume that enabling Activity Sync alone guarantees a Task for every missed queue scenario. If a specific interaction must be recorded, use manual logging from call history when available, or contact RingCentral support with time, queue name, and extension after confirming admin settings.
387
409
388
410
##Q. I have audio issues with RingCentral for Salesforce.
389
411
A. Users experiencing audio issues may encounter:
@@ -543,6 +565,16 @@ A. There could be 2 reason why users does not see a specific field or it is empt
543
565
- Drag the missing field (Call Recording, Call Duration) onto the layout
544
566
- Save
545
567
568
+
## Q. Why do my Salesforce Task show the same Call Start Time and Call End Time (or zero duration) for calls I place from the RingCentral desktop or mobile app, even though the call really lasted several minutes?
569
+
570
+
A. The RingCentral for Salesforce integration creates or updates the call Task early in the call (for example while the call is still ringing or before final duration is known). In that phase the integration does not yet have a final call length, so duration and call end time fields may be empty or zero. That can make start and end look the same on the Task if you open it before the call has fully finished and the follow-up update has run.
571
+
572
+
After the call connects and ends, the integration builds the final duration and end time and sends an update to Salesforce (the same path that keeps disposition, recording, and timing in sync). So the correct end time and duration are normally written in a later step, not on the first screen you might see during ringing.
573
+
574
+
**Salesforce UI behavior:** If you leave the Task record open in a tab, Salesforce does not always redraw every field the moment the server receives the update. You may need to refresh the page or open the Task again (and if several Salesforce tabs are open, refresh the one showing the Task) to see the updated end time and duration. That display delay is Salesforce UI behavior, not proof that the final values were never saved.
575
+
576
+
**What to do:** After the call ends, refresh the Task (or re-open it). If start and end are still identical after a refresh and enough time has passed, collect when the screenshot was taken (during the call vs days later), the Task Id or session, and contact RingCentral support with that detail. If backend logs already show the correct duration but the Task still does not show it after refresh, your admin may need Salesforce support to look at Task layout, formulas, or automation that might overwrite fields.
577
+
546
578
## Q. Why are the calls logged (Tasks are created) to Contact and Lead but not to the Accounts, Cases, and Opportunities?
547
579
548
580
A. When logging calls involving Contacts or Leads associated with Accounts, Cases, or Opportunities, tasks are only being created for the Contact/Lead but not for the related Account/Case/Opportunity records. This is the intended behavior of the Salesforce integration. However, to log tasks to Accounts, Cases, and Opportunities, follow the solutions mentioned below.
@@ -711,56 +743,11 @@ This is a configuration issue, not a code defect, and can be resolved through pr
711
743
712
744
## Q. Why don't I see caller ID when there is an incoming call to the call queue in Salesforce CTI?
713
745
714
-
A. This is expected behavior in the Salesforce CTI integration. Caller ID information is not displayed for call queue calls due to the way the system handles queue-based routing and privacy considerations.
746
+
A. Inbound **call queue** calls are handled differently from **direct** inbound calls in the CTI. The UI often emphasizes **queue routing** (for example the **queue name** or how the queue leg is labeled) while the call is still offered to agents. What you see depends on the **telephony session** data for that queue leg, how **matches** are built for queue numbers, and the call state (for example **ringing** versus **connected**). That can make the external caller’s number or name **less obvious** than on a non-queue inbound call, but it is **not** documented in the product as a deliberate “privacy mask” of caller ID in application code.
715
747
716
-
**Root Cause Analysis:**
717
-
718
-
**1. Call Queue Call Handling**
719
-
When calls come through a call queue, the Salesforce CTI integration treats them differently from direct calls:
720
-
721
-
- Queue calls are routed through the call queue system before reaching individual agents
722
-
- Caller information is masked during the queue routing process for privacy and security
723
-
- The system prioritizes queue management over individual caller identification
724
-
725
-
**2. Privacy and Security Considerations**
726
-
The integration is designed to protect caller privacy when calls are routed through queues:
727
-
728
-
- Caller ID masking prevents unauthorized access to caller information
729
-
- Queue-based routing ensures calls are distributed according to business rules
730
-
- Agent-level restrictions limit what information is visible during queue calls
731
-
732
-
**3. Technical Implementation**
733
-
The Salesforce CTI integration has specific logic for handling call queue calls:
734
-
735
-
- Queue calls bypass normal caller ID display mechanisms
736
-
- System focuses on queue name and call routing information
737
-
- Caller details are intentionally withheld until the call is properly routed
738
-
739
-
**Solutions and Workarounds:**
740
-
741
-
**Solution 1: Use Queue Name Tooltip (Available Feature)**
742
-
743
-
- Hover over the call queue name in the CTI interface
744
-
- Wait for the tooltip to appear (short delay)
745
-
- View the complete queue information in the tooltip
746
-
- This provides queue-specific details about the incoming call
747
-
748
-
**Solution 2: Check Call Assignment**
749
-
750
-
- Wait for the call to be assigned to an agent
751
-
- Caller information may become available after assignment
752
-
- Check the call details once the call is in progress
753
-
754
-
**Why This Design Exists:**
755
-
756
-
1.**Queue Management Priority**
757
-
2.**Privacy Protection**
758
-
3.**Performance Optimization**
759
-
760
-
**Summary:**
761
-
The absence of caller ID for call queue calls is intentional behavior in the Salesforce CTI integration. This design prioritizes queue management, protects caller privacy, and optimizes system performance. While caller ID is not displayed during queue routing, users can access queue information through the hover tooltip feature and may see caller details once the call is assigned to an agent.
748
+
After you **answer** the call, open the **active call** or **call log** details and confirm whether the caller number and name appear there. If they never appear after connect, collect **approximate time**, **queue name**, and **RingCentral for Salesforce** version and open a **RingCentral support** case with a **diagnostic (CPR)** so support can compare the session payload to what the CTI displayed.
762
749
763
-
This is not a bug or configuration issue, but rather the expected behavior for queue-based call handling in the Salesforce CTI system.
750
+
**Tips:** If your build shows a **tooltip** on the queue name, use it for extra context while the call is ringing. If behavior changes after an upgrade, check the latest **RingCentral for Salesforce** release notes or support articles for queue display updates.
764
751
765
752
## Q. Why can't I change my presence in RingCentral for Salesforce CTI? It always stays on 'Invisible' presence, and I cannot switch to Busy/Available.
0 commit comments