Roles in Intelligent Automation
The role-based login system will be based primarily on the presence or absence of individual Permission IDs that are associated with a user. These permission IDs will be stored in the database and loaded into memory when a user logs in.
Roles are defined in the roles database table and each role is mapped to zero or more permissions via the role_permissions table.
Each role has a level which limits what other roles a particular admin user can assign to other users. For example, a Company Administrator with level 500 could create new users for their company with any level less than or equal to 500, such as Application Designer; they could not, however, create a user with the Platform Administrator role since it would have a higher level of 800. Note that only some roles have the ability to create users.
The initial roles table will look like this:
ID | Name | Level |
---|---|---|
1 | CTI Agent | 10 |
2 | Reports Only User | 30 |
3 | Application Maintainer | 70 |
4 | Application Designer | 200 |
5 | Product Designer | 300 |
6 | Company Administrator | 500 |
7 | Platform Administrator | 800 |
8 | Full Administrator | 1000 |
When you log in via the User.login()
method, the GUI loads in all Permission IDs by joining the users, roles, and role_permissions tables.
An important consideration is that this set of available Permission IDs is further restricted by the Licensing Engine so, without the correct licenses, even a Full Administrator role would be unable to create new products or download raw report data.
Permission Mapping
The matrix below shows which individual permissions are assigned to each role.
Those permission IDs with an asterisk (*) are candidates for restriction via the Licensing Engine.
Some permission IDs are currently unused (legacy IDs) and are marked as such in the table. They may be re-assigned in future.
ID | Permission | CTI Agent | Report Viewer | Integration Dev | App Maintainer | App Designer | Product Designer | Company Admin | Platform Admin | Full Admin | Added in Version |
---|---|---|---|---|---|---|---|---|---|---|---|
1 | list_users | X | X | X | Base | ||||||
2 | view_current_user | X | X | X | X | X | X | X | X | X | Base |
3 | view_other_user | X | X | X | Base | ||||||
4 | create_user | X | X | X | Base | ||||||
5 | update_current_user | X | X | X | X | X | X | X | X | X | Base |
6 | update_other_user | X | X | X | Base | ||||||
7 | delete_user | X | X | X | Base | ||||||
8 | switch_to_userless_company | X | X | Base | |||||||
9 | update_company_contact_details | X | X | X | X | X | X | Base | |||
10 | download_raw_report_data * | X | X | X | X | X | X | X | Base | ||
11 | deploy_to_production | X | X | X | X | X | X | Base | |||
12 | list_products | X | X | X | Base | ||||||
13 | view_product * | X | X | X | Base | ||||||
14 | create_product * | X | X | X | Base | ||||||
15 | update_product * | X | X | X | Base | ||||||
16 | delete_product | X | X | X | Base | ||||||
17 | list_standard_grammars | X | X | Base | |||||||
18 | view_standard_grammar | X | X | Base | |||||||
19 | create_standard_grammar | X | X | Base | |||||||
20 | update_standard_grammar | X | X | Base | |||||||
21 | delete_standard_grammar | X | X | Base | |||||||
22 | list_companies | X | X | Base | |||||||
23 | view_company | X | X | X | X | X | X | Base | |||
24 | create_company | X | X | Base | |||||||
25 | delete_company | X | Base | ||||||||
26 | switch_company | X | Base | ||||||||
27 | list_clusters | X | X | Base | |||||||
28 | view_cluster | X | X | Base | |||||||
29 | create_cluster | X | X | Base | |||||||
30 | update_cluster | X | X | Base | |||||||
31 | delete_cluster | X | X | Base | |||||||
32 | list_servers | X | X | Base | |||||||
33 | view_server | X | X | Base | |||||||
34 | create_server | X | X | Base | |||||||
35 | update_server | X | X | Base | |||||||
36 | delete_server | X | X | Base | |||||||
37 | list_cpr_languages | X | X | Base | |||||||
38 | view_cpr_language | X | X | Base | |||||||
39 | add_or_update_cpr_language | X | X | Base | |||||||
40 | delete_cpr_language | X | X | Base | |||||||
41 | list_sites | X | X | X | X | X | X | X | Base | ||
42 | update_company_details | X | X | Base | |||||||
43 | create_site | X | X | X | X | X | Base | ||||
44 | delete_site | X | X | X | X | X | Base | ||||
45 | view_standard_reports * | X | X | X | X | X | X | X | Base | ||
46 | cti_viewer * | X | X | X | X | X | X | X | X | X | Base |
47 | call_monitor * | X | X | X | X | X | Base | ||||
48 | view_callflow | X | X | X | X | X | X | X | Base | ||
49 | rename_block | X | X | X | X | X | X | Base | |||
50 | create_start_block | X | X | X | X | X | Base | ||||
51 | view_start_block | X | X | X | X | X | X | X | Base | ||
52 | update_start_block | X | X | X | X | X | Base | ||||
53 | delete_start_block | X | X | X | X | X | Base | ||||
54 | create_message_block | X | X | X | X | X | X | Base | |||
55 | view_message_block | X | X | X | X | X | X | X | Base | ||
56 | update_message_block | X | X | X | X | X | X | Base | |||
57 | delete_message_block | X | X | X | X | X | X | Base | |||
58 | create_menu_block | X | X | X | X | X | X | Base | |||
59 | view_menu_block | X | X | X | X | X | X | X | Base | ||
60 | update_menu_block | X | X | X | X | X | X | Base | |||
61 | delete_menu_block | X | X | X | X | X | X | Base | |||
62 | create_customquestion_block * | X | X | X | X | X | Base | ||||
63 | view_customquestion_block | X | X | X | X | X | X | X | Base | ||
64 | update_customquestion_block | X | X | X | X | X | X | Base | |||
65 | delete_customquestion_block * | X | X | X | X | X | Base | ||||
66 | create_script_block * | X | X | X | X | X | Base | ||||
67 | view_script_block * | X | X | X | X | X | Base | ||||
68 | update_script_block * | X | X | X | X | X | Base | ||||
69 | delete_script_block * | X | X | X | X | X | Base | ||||
70 | create_phonetransfer_block | X | X | X | X | X | X | Base | |||
71 | view_phonetransfer_block | X | X | X | X | X | X | X | Base | ||
72 | update_phonetransfer_block | X | X | X | X | X | X | Base | |||
73 | delete_phonetransfer_block | X | X | X | X | X | X | Base | |||
74 | create_urltransfer_block | X | X | X | X | X | X | Base | |||
75 | view_urltransfer_block | X | X | X | X | X | X | X | Base | ||
76 | update_urltransfer_block | X | X | X | X | X | X | Base | |||
77 | delete_urltransfer_block | X | X | X | X | X | X | Base | |||
78 | create_end_block | X | X | X | X | X | X | Base | |||
79 | view_end_block | X | X | X | X | X | X | X | Base | ||
80 | update_end_block | X | X | X | X | X | X | Base | |||
81 | delete_end_block | X | X | X | X | X | X | Base | |||
82 | view_output_node | X | X | X | X | X | X | X | Base | ||
83 | update_output_node | X | X | X | X | X | X | Base | |||
84 | login | X | X | X | X | X | X | X | X | X | Base |
85 | view_dashboard * | X | X | X | X | X | X | X | Base | ||
86 | download_recordings | X | X | X | X | X | X | X | Base | ||
87 | test_script * | X | X | X | X | X | Base | ||||
88 | view_defaults_block | X | X | X | X | X | X | X | Base | ||
89 | update_defaults_block | X | X | X | X | X | X | Base | |||
90 | view_prompts | X | X | X | X | X | X | X | Base | ||
91 | update_prompts | X | X | X | X | X | X | Base | |||
92 | add_and_delete_custom_prompts | X | X | X | X | X | Base | ||||
93 | import_callflow | X | X | X | X | X | Base | ||||
94 | import_callflow_audio | X | X | X | X | X | Base | ||||
95 | import_data | X | X | X | X | X | Base | ||||
96 | import_data_audio | X | X | X | X | X | Base | ||||
97 | export_callflow | X | X | X | X | X | Base | ||||
98 | export_callflow_audio | X | X | X | X | X | Base | ||||
99 | export_data | X | X | X | X | X | Base | ||||
100 | export_data_audio | X | X | X | X | X | Base | ||||
101 | view_product_specific_editors | X | X | X | X | X | X | X | Base | ||
102 | update_product_specific_editors | X | X | X | X | X | X | Base | |||
103 | delete_product_specific_editors | X | X | X | X | X | X | Base | |||
104 | view_product_specific_reports * | X | X | X | X | X | X | X | Base | ||
105 | view_cpr_prompt_list | X | X | X | X | X | Base | ||||
106 | upload_cpr_prompts | X | X | X | X | X | Base | ||||
107 | download_resource_files | X | X | X | X | X | X | X | Base | ||
108 | view_site_details | X | X | X | X | X | Base | ||||
109 | update_site_details | X | X | X | X | X | Base | ||||
110 | create_output_node | X | X | X | X | X | X | Base | |||
111 | delete_output_node | X | X | X | X | X | X | Base | |||
112 | save_callflow | X | X | X | X | X | X | Base | |||
113 | create_recording_block * | X | X | X | X | X | Base | ||||
114 | view_recording_block * | X | X | X | X | X | X | X | Base | ||
115 | update_recording_block * | X | X | X | X | X | Base | ||||
116 | delete_recording_block * | X | X | X | X | X | Base | ||||
117 | view_settings | X | X | Base | |||||||
118 | update_settings | X | X | Base | |||||||
119 | use_shock_absorber * | X | X | X | X | X | X | X | Base | ||
120 | lock_unlock_callflow * | X | X | X | Base | ||||||
121 | update_locked_callflow * | X | X | X | Base | ||||||
122 | copy_production_site_to_test_site | X | X | X | X | X | X | Base | |||
123 | view_export | X | X | X | X | X | Base | ||||
124 | view_import | X | X | X | X | X | Base | ||||
125 | change_site_publicity * | X | X | X | Base | ||||||
126 | login_during_maintenance | X | X | Base | |||||||
127 | speak_tts | X | X | X | X | X | X | Base | |||
128 | delete_cpr_folder | X | X | X | X | X | Base | ||||
129 | test_inbound_sms_script * | X | X | X | X | X | Base | ||||
130 | view_admin_menu | X | X | X | Base | ||||||
131 | list_inbound_sms_rules * | X | X | X | X | X | X | X | Base | ||
132 | update_inbound_sms_rule * | X | X | X | X | X | Base | ||||
133 | delete_inbound_sms_rule * | X | X | X | X | X | Base | ||||
134 | create_inbound_sms_rule * | X | X | X | X | X | Base | ||||
135 | view_inbound_sms_rule * | X | X | X | X | X | X | X | Base | ||
136 | flush_server_settings | X | X | Base | |||||||
137 | list_roles | X | X | Base | |||||||
138 | view_role | X | X | Base | |||||||
139 | update_role | X | X | Base | |||||||
140 | create_role | X | X | Base | |||||||
141 | delete_role | X | X | Base | |||||||
142 | list_phone_number_rulesets | X | X | Base | |||||||
143 | view_phone_number_ruleset | X | X | Base | |||||||
144 | update_phone_number_ruleset | X | X | Base | |||||||
145 | create_phone_number_ruleset | X | X | Base | |||||||
146 | delete_phone_number_ruleset | X | X | Base | |||||||
147 | export_product * | X | X | X | Base | ||||||
148 | import_product | X | X | X | Base | ||||||
149 | list_opening_hours_rules | X | X | X | X | X | X | Base | |||
150 | view_opening_hours_rule | X | X | X | X | X | X | Base | |||
151 | update_opening_hours_rule | X | X | X | X | X | X | Base | |||
152 | create_opening_hours_rule | X | X | X | X | X | X | Base | |||
153 | update_weights * | X | X | X | X | X | Base | ||||
154 | export_standard_grammar | X | X | Base | |||||||
155 | import_standard_grammar | X | X | Base | |||||||
156 | create_interceptor_block * | X | X | X | X | X | X | Base | |||
157 | view_interceptor_block * | X | X | X | X | X | X | X | Base | ||
158 | update_interceptor_block * | X | X | X | X | X | X | Base | |||
159 | delete_interceptor_block * | X | X | X | X | X | X | Base | |||
160 | remember_input_block_results * | X | X | X | X | X | X | Base | |||
161 | list_outbound_campaigns * | X | X | X | X | X | X | X | 3.0.1 | ||
162 | create_outbound_campaigns * | X | X | X | X | X | X | 3.0.1 | |||
163 | update outbound_campaigns * | X | X | X | X | X | X | 3.0.1 | |||
164 | delete outbound_campaigns * | X | X | X | X | X | X | 3.0.1 | |||
165 | startstop outbound_campaigns * | X | X | X | X | X | X | X | 3.0.1 | ||
166 | view_callflow_in_tree | X | X | X | X | X | X | X | 3.1.0 | ||
167 | view_question | X | X | X | X | X | X | X | 3.1.0 | ||
168 | create_question | X | X | X | X | X | X | 3.1.0 | |||
169 | update_question | X | X | X | X | X | X | 3.1.0 | |||
170 | delete_question | X | X | X | X | X | X | 3.1.0 | |||
171 | view_answer | X | X | X | X | X | X | X | 3.1.0 | ||
172 | create_answer | X | X | X | X | X | X | 3.1.0 | |||
173 | update_answer | X | X | X | X | X | X | 3.1.0 | |||
174 | delete_answer | X | X | X | X | X | X | 3.1.0 | |||
175 | change_site_callflow_editor * | X | X | X | 3.1.0 | ||||||
176 | store_input_block_results * | X | X | X | X | X | X | 3.0.2 | |||
177 | associate_input_block_with_task * | X | X | X | X | X | X | 3.0.2 | |||
178 | view_cli_data_settings | X | X | 3.0.2 | |||||||
179 | update_cli_data_settings | X | X | 3.0.2 | |||||||
180 | view_cpr_uploads | X | X | X | X | X | X | 3.1.0 | |||
181 | select_cpr_upload | X | X | X | X | X | X | 3.1.0 | |||
182 | download_cpr_upload | X | X | X | X | X | X | 3.1.0 | |||
183 | change_site_vertical_name | X | X | X | 3.1.6 | ||||||
184 | create_template_site * | X | X | X | 3.1.6 | ||||||
185 | create_mobileapp_block | X | 3.1.6 | ||||||||
186 | update_mobileapp_block | X | 3.1.6 | ||||||||
187 | view_mobileapp_block | X | 3.1.6 | ||||||||
188 | delete_mobileapp_block | X | 3.1.6 | ||||||||
189 | view_mobile_apps * | X | 3.1.6 | ||||||||
190 | create_mobile_apps * | X | 3.1.6 | ||||||||
191 | delete_mobile_apps * | X | 3.1.6 | ||||||||
192 | edit_mobile_apps_flow | X | 3.1.6 | ||||||||
193 | edit_mobile_apps_screen | X | 3.1.6 | ||||||||
194 | lock_unlock_visualflow * | X | 3.1.6 | ||||||||
195 | change_mobile_apps_publicity * | X | 3.1.6 | ||||||||
196 | change_mobile_apps_active_status * | X | 3.1.6 | ||||||||
197 | edit_mobile_apps_name | X | 3.1.6 | ||||||||
198 | edit_mobile_apps_description | X | 3.1.6 | ||||||||
199 | deploy_mobile_apps * | X | 3.1.6 | ||||||||
200 | rollback_mobile_apps * | X | 3.1.6 | ||||||||
201 | upload_theme * | X | 3.1.6 | ||||||||
202 | edit_test_numbers * | X | 3.1.6 | ||||||||
203 | list_mobile_apps * | X | 3.1.6 | ||||||||
204 | export_callflow_grammars | X | X | X | X | X | 3.1.7 | ||||
205 | import_callflow_grammars | X | X | X | X | X | 3.1.7 | ||||
206 | view_customer_journey_reports * | X | X | X | X | X | X | 3.1.7 | |||
207 | lock_or_unlock_user | X | X | X | 3.1.8 | ||||||
208 | update_user_forcepassword_status | X | X | X | 3.1.8 | ||||||
209 | list_personas | X | X | X | X | X | X | 3.2.0 | |||
210 | view_persona | X | X | X | X | X | X | 3.2.0 | |||
211 | edit_persona | X | X | X | X | X | 3.2.0 | ||||
212 | create_persona | X | X | X | X | X | 3.2.0 | ||||
213 | delete_persona | X | X | X | X | X | 3.2.0 | ||||
214 | assign_personas_to_site | X | X | X | X | X | 3.2.0 | ||||
215 | reset_company_health_date * | X | X | X | X | X | X | 3.2.0 | |||
216 | display_health_error_thresholds * | X | X | X | X | X | X | 3.2.0 | |||
217 | update_health_error_thresholds * | X | X | X | X | X | X | 3.2.0 | |||
218 | create_mobile_start_block * | X | X | X | X | X | 3.2.0 | ||||
219 | update_mobile_start_block * | X | X | X | X | X | 3.2.0 | ||||
220 | delete_mobile_start_block * | X | X | X | X | X | 3.2.0 | ||||
221 | view_mobile_start_block * | X | X | X | X | X | X | X | 3.2.0 | ||
222 | create_mobile_settings_block * | X | X | X | X | X | 3.2.0 | ||||
223 | update_mobile_settings_block * | X | X | X | X | X | 3.2.0 | ||||
224 | delete_mobile_settings_block * | X | X | X | X | X | 3.2.0 | ||||
225 | view_mobile_settings_block * | X | X | X | X | X | X | X | 3.2.0 | ||
226 | create_mobile_tabs_block * | X | X | X | X | X | 3.2.0 | ||||
227 | update_mobile_tabs_block * | X | X | X | X | X | 3.2.0 | ||||
228 | delete_mobile_tabs_block * | X | X | X | X | X | 3.2.0 | ||||
229 | view_mobile_tabs_block * | X | X | X | X | X | X | X | 3.2.0 | ||
230 | create_mobile_link_block * | X | X | X | X | X | 3.2.0 | ||||
231 | update_mobile_link_block * | X | X | X | X | X | 3.2.0 | ||||
232 | delete_mobile_link_block * | X | X | X | X | X | 3.2.0 | ||||
233 | view_mobile_link_block * | X | X | X | X | X | X | X | 3.2.0 | ||
234 | create_mobile_screen_block * | X | X | X | X | X | 3.2.0 | ||||
235 | update_mobile_screen_block * | X | X | X | X | X | 3.2.0 | ||||
236 | delete_mobile_screen_block * | X | X | X | X | X | 3.2.0 | ||||
237 | view_mobile_screen_block * | X | X | X | X | X | X | X | 3.2.0 | ||
238 | view_mobile_apps_details * | X | X | X | X | X | 3.2.0 | ||||
239 | update_mobile_apps_details * | X | X | X | X | X | 3.2.0 | ||||
240 | view_mobileflow * | X | X | X | X | X | X | X | 3.2.0 | ||
241 | save_mobileflow * | X | X | X | X | X | X | 3.2.0 | |||
242 | update_locked_mobileflow * | X | X | X | 3.2.0 | ||||||
243 | create_template_mobile_apps * | X | X | X | 3.2.0 | ||||||
244 | create_mobile_logon_block * | X | X | X | X | X | 3.2.0 | ||||
245 | update_mobile_logon_block * | X | X | X | X | X | 3.2.0 | ||||
246 | delete_mobile_logon_block * | X | X | X | X | X | 3.2.0 | ||||
247 | view_mobile_logon_block * | X | X | X | X | X | X | X | 3.2.0 | ||
248 | view_company_health_details * | X | X | X | X | X | X | X | 3.2.0 | ||
249 | view_demo_menu * | X | 3.2.1 | ||||||||
250 | populate_dashboard_demo_data * | X | 3.2.1 | ||||||||
251 | delete_dashboard_demo_data * | X | 3.2.1 | ||||||||
252 | view_cli_data_records | X | X | X | X | X | X | 3.2.2 | |||
253 | update_cli_data_records | X | X | X | X | X | 3.2.2 | ||||
254 | clear_cli_data_records | X | X | X | X | X | 3.2.2 | ||||
255 | view_integration | X | X | X | X | X | 3.2.2 | ||||
256 | create_integration | X | X | X | X | 3.2.2 | |||||
257 | update_integration | X | X | X | X | 3.2.2 | |||||
258 | delete_integration | X | X | X | X | 3.2.2 | |||||
259 | export_excel_prompt_list | X | X | X | X | X | X | X | 3.2.2 | ||
260 | import_excel_prompt_list | X | X | X | X | X | X | 3.2.2 | |||
261 | call_monitor_generate_cyara_testcase | X | X | X | X | X | 3.2.2 | ||||
262 | list_certificates | X | X | 3.2.3 | |||||||
263 | update_certificate | X | X | 3.2.3 | |||||||
264 | delete_certificate | X | X | 3.2.3 | |||||||
265 | create_certificate | X | X | 3.2.3 | |||||||
266 | view_certificate | X | X | 3.2.3 | |||||||
267 | generate_certificate | X | X | 3.2.3 | |||||||
268 | virtual_call | X | X | X | X | X | 3.2.3 | ||||
269 | edit_site_parameters | X | X | X | X | X | 3.2.4 | ||||
270 | list_visual_apps | X | X | X | X | X | X | X | 3.2.4 | ||
271 | create_visual_apps | X | X | X | X | X | 3.2.4 | ||||
272 | delete_visual_apps | X | X | X | X | X | 3.2.4 | ||||
273 | view_visual_apps_details | X | X | X | X | X | X | X | 3.2.4 | ||
274 | update_visual_apps_details | X | X | X | X | X | 3.2.4 | ||||
275 | list_themes | X | X | X | X | X | X | X | 3.5.0 | ||
276 | create_themes | X | X | X | X | X | 3.5.0 | ||||
277 | edit_themes | X | X | X | X | X | 3.5.0 | ||||
278 | delete_themes | X | X | X | X | X | 3.5.0 | ||||
279 | view_company_authentication_key | X | X | X | X | X | 3.5.0 | ||||
280 | view_indy_sharedscript | X | X | X | X | X | X | X | 9.0.003.00 | ||
281 | create_indy_sharedscript | X | X | X | X | X | X | 9.0.003.00 | |||
282 | update_indy_sharedscript | X | X | X | X | X | X | 9.0.003.00 | |||
283 | delete_indy_sharedscript | X | X | X | X | X | X | 9.0.003.00 | |||
284 | view_indy_httpsettings | X | X | X | X | X | X | X | 9.0.003.00 | ||
285 | create_indy_httpsettings | X | X | X | X | X | X | 9.0.003.00 | |||
286 | update_indy_httpsettings | X | X | X | X | X | X | 9.0.003.00 | |||
287 | delete_indy_httpsettings | X | X | X | X | X | X | 9.0.003.00 | |||
288 | view_indy_envsettings | X | X | X | X | X | X | X | 9.0.003.00 | ||
289 | create_indy_envsettings | X | X | X | X | X | X | 9.0.003.00 | |||
290 | update_indy_envsettings | X | X | X | X | X | X | 9.0.003.00 | |||
291 | delete_indy_envsettings | X | X | X | X | X | X | 9.0.003.00 | |||
292 | create_indy_deployment | X | X | X | X | X | X | 9.0.003.00 | |||
293 | delete_indy_deployment | X | X | X | X | X | X | 9.0.003.00 | |||
294 | rollback_indy_deployment | X | X | X | X | X | X | 9.0.003.00 | |||
295 | import_indy_integration | X | X | X | X | X | X | 9.0.003.00 | |||
296 | export_indy_integration | X | X | X | X | X | X | 9.0.003.00 | |||
297 | indy_deploy_to_production | X | X | X | X | X | X | X | 9.0.003.00 | ||
298 | view_indy_jdbcconfig | X | X | X | X | X | X | X | 9.0.003.00 | ||
299 | create_indy_jdbcconfig | X | X | X | X | X | X | 9.0.003.00 | |||
300 | update_indy_jdbcconfig | X | X | X | X | X | X | 9.0.003.00 | |||
301 | delete_indy_jdbcconfig | X | X | X | X | X | X | 9.0.003.00 | |||
302 | configure_number_entry_retry_timeout_prompts | X | X | X | X | X | 9.0.101.00 | ||||
303 | update_protected_callflow | 9.0.104 | |||||||||
304 | view_phrasehints | X | X | X | X | X | X | 9.0.108 | |||
305 | create_phrasehint_group | X | X | X | X | X | 9.0.108 | ||||
306 | delete_phrasehint_group | X | X | X | X | X | 9.0.108 | ||||
307 | create_phrasehint_upload | X | X | X | X | X | 9.0.108 | ||||
308 | delete_phrasehint_upload | X | X | X | X | X | 9.0.108 | ||||
309 | download_phrasehints | X | X | X | X | X | X | 9.0.108 |