Browse Guides

3CX Integration
Reading mode
Copy Link
Link Copied!
Print
Feedback
This guide has multiple versions available:
<style> .chartjs-size-monitor { display: none !important; height: 0 !important; overflow: hidden !important; }p { margin: 0; }span.fr-emoticon.fr-emoticon-img { background-repeat: no-repeat !important; font-size: inherit; height: 1em; width: 1em; min-height: 20px; min-width: 20px; display: inline-block; margin: -0.1em 0.1em 0.1em; line-height: 1; vertical-align: middle; } span.fr-emoticon { font-weight: normal; font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; display: inline; line-height: 0; } blockquote { border-left: solid 2px #5e35b1; color: #5e35b1; margin-left:0; padding-left:5px;}blockquote blockquote{ border-color: #00bcd4; color: #00bcd4;}blockquote blockquote blockquote{ border-color: #43a047; color: #43a047;} table.grid{ border-collapse: collapse;} table.grid td, table.grid th { border: 1px solid #ddd;} .fr-fic.fr-dib{ display: block; margin: 5px auto;}.fr-fic.fr-dib.fr-fir{ text-align: right; margin: 5px 0 5px auto;}.fr-fic.fr-dib.fr-fil{ text-align: left; margin: 5px auto 5px 0;}.fr-fic.fr-dii{ float: none; margin: 5px auto;}.fr-fic.fr-dii.fr-fil{ float: left; margin: 5px auto;}.fr-fic.fr-dii.fr-fir{ float: right; margin: 5px auto;}img.fr-dib.fr-fir { margin-right: 0; text-align: right;}img.fr-dib.fr-fil { margin-left: 0; text-align: left;}img.fr-dib { margin: 5px auto; display: block; float: none;}img.fr-bordered { box-sizing: content-box; border: solid 5px #CCC;}img.fr-shadow { box-shadow: 10px 10px 5px 0px #cccccc;}img.fr-rounded { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box;}</style><p data-pasted="true"><strong>In this guide we will cover:</strong></p><p><strong>- What is the 3CX Integration?</strong></p><p><strong>- Web Client Method</strong></p><p><strong>- CRM Template Method</strong></p><p><strong>- Desktop Softphone Method</strong></p><p><br></p><p><br></p><p><strong><span style="font-size: 14pt;">What is the 3CX Integration?</span></strong></p><p>Halo can display incoming call pop-ups, place outgoing calls, and display the call handling screen when a call is accepted in 3CX.</p><p><br></p><p><strong><em>Note: The below methods only work on Pro and Ent (Professional and Enterprise) versions of 3CX.</em></strong></p><p><br></p><p><strong><span style="font-size: 14pt;">Method 1: Web Client</span></strong></p><p>In the overflow section on the left, go to &quot;Settings&quot; &gt; &quot;Integration&quot;.</p><p><br></p><p>The Open Contact URL would be https:// followed by your Halo Web App URL followed by the /call?inboundactive=true&amp;callerid=%CallerNumber% as seen in the below screenshot.&nbsp;</p><p><br></p><p><img data-fr-image-pasted="true" src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjQ5YTY3MzczLWMzNTItNGMwZi1iNGJlLTU2ZmM2ZmYzM2NkZSJ9.Ek29PkQ-DO5f4PEpOYXOaOoMNeov67gT1WUSBzYW-yM" width="185" height="532" style="box-sizing: inherit; border-style: none; cursor: pointer; padding: 0px 1px; user-select: none; max-width: calc(100% - 5px); min-width: 5px; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; width: 187px; height: 531.574px;" data-pasted="true" class="fr-fic fr-fil fr-dib"><img data-fr-image-pasted="true" src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjMwOGRlNmEzLTAxMTktNDU3Mi1hMTQ1LTAxNDMyNmE4OTM2ZiJ9.vop1bWRwwaS-z9nzR9Xq4nNK1_o8QyfospvM0LLcFnU" width="748" height="510" style="box-sizing: inherit; border-style: none; cursor: pointer; padding: 0px 1px; user-select: none; text-align: left; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; width: 750px; height: 510.471px; max-width: none !important;" data-pasted="true" class="fr-fic fr-fil fr-dib"><strong><span style="font-size: 10pt;">Fig 1. Setting the URL.</span></strong></p><p><br></p><p><strong><span style="font-size: 14pt;">Method 2: Using the CRM Template for 3CX (3CX v20+)</span></strong></p><p><a href="https://www.3cx.com/blog/releases/crm-template-generator-pbx/" target="_blank" rel="noopener noreferrer"><strong>Template Generator Information</strong></a></p><p><br></p><p>This method shows a contact card when a call is incoming and uses the Halo API to get the caller&#39;s information to display a link to open the call screen.</p><p><br></p><p>An example XML for this is attached, please log in to the self-service portal to view the attachment here: Portal Link. The below screenshot shows the parts of the XML you will need to change.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY0ZWIwY2IxLThkZDktNDAyZi04MjkzLTVjYzBjMGNhNDEzZiJ9.uhG2VxdhrUab1tDBgubPEZAdWvNOspLqcBOxpqt6-F4" class="fr-fic fr-fil fr-dib" width="1694" style="width: 1696px; height: 936.094px;" height="936"></p><p><strong><span style="font-size: 10pt;">Fig 2. XML file to edit</span></strong></p><p><br></p><p>Navigate to Configuration &gt; Integrations &gt; Halo API &gt; View Applications, and create a new API application. Set the &quot;Authentication Methos&quot; to &quot;Authorisation Code (Native Application), and set the &quot;Login Redirect URL&quot; field to &quot;https://[YOUR3CXURL]/api/oauth2crm&quot;.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjQ0NjAwODQyLTBiMGEtNDBiMS1hNzVhLTE3ZWY0Y2E5YjM2MSJ9.A3luHlGqAnMCzt6xJn67LIpjaHnqAlF-FC2t-RJn884" class="fr-fic fr-fil fr-dib" width="1692" style="width: 1694px; height: 634.866px;" height="635"></p><p><strong><span style="font-size: 10pt;">Fig 3. Creating the API application with redirect URL.</span></strong></p><p><br></p><p>In the &quot;Permissions&quot; tab, the scope of the API Application can be set to &quot;All&quot;.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImQ3Mjk3YWVmLTA4MWEtNDE1NS05MDVjLTFhNWZjNTY4MGMwNSJ9.PAn-o-lxfW109miGQU3j5hyx-TyHwFTqrg5dZA1ryFQ" class="fr-fic fr-fil fr-dib" width="1035" height="405"><strong><span style="font-size: 10pt;">Fig 4. Adding permissions to the application</span></strong></p><p><br></p><p>In the &quot;Security&quot; tab, whitelist your 3CX URL.</p><p><br></p><p><img src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImE3NDdjZmQ4LTNlOWUtNGRmYS1iOWI5LTViNjM2ZWIyY2ZkNyJ9.Q8vMjcusQ47vqMLJGetUPdD3FlUnNvrrXt2-YtCpWnI" class="fr-fic fr-fil fr-dib" width="937" height="255"></p><p data-pasted="true"><strong><span style="font-size: 10pt;">Fig 5. Whitelisting the 3CX URL</span></strong></p><p><br></p><p><em><strong>Note: An alternative template, created by the Halo customer community, can be found <a href="https://github.com/O-IT/3CX-HaloPSA-CRM" target="_blank" rel="noopener noreferrer"><strong>here</strong></a>.</strong></em></p><p><br></p><p>The template can then be uploaded into 3CX. Log in to your 3CX Web Client using a System Owner or System Administrator account. Click the Admin icon located in the bottom-left corner of the screen to open the 3CX Admin Console. Select &quot;Integrations&quot; &gt; &quot;CRM&quot; on the left side, then select your XML file to upload.</p><p><br></p><p><strong><span style="font-size: 14pt;">Method 3: Desktop Softphone Client</span></strong></p><p>Open the desktop client. In the overflow section on the left, go to &quot;Settings&quot; &gt; &quot;Integration&quot;.</p><p><br></p><p><img data-fr-image-pasted="true" src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEzNWYxODUyLTA0MTUtNGE0Yi05M2EzLTM3ZDNkMjI5ZTVhMSJ9.Y3JRUHxY3Y6u9--sZbig9VY_5FykERH6iNq5qhO4Ero" width="292" height="529" style="box-sizing: inherit; border-style: none; cursor: pointer; padding: 0px 1px; user-select: none; max-width: calc(100% - 5px); min-width: 5px; color: rgb(0, 0, 0); font-family: Calibri, sans-serif; font-size: 15px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" data-pasted="true" class="fr-fic fr-fil fr-dib"><br><img data-fr-image-pasted="true" src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjVjZDdhY2FkLWFmMmEtNDBhMS05MTdhLTVlODMwOTRiNjY3NCJ9.aIpSx-5YjaS4YkK5FdpNFGf_F12C7FV72art85YIrpw" width="493" height="616" style="box-sizing: inherit; border-style: none; cursor: pointer; padding: 0px 1px; user-select: none; text-align: left; color: rgb(0, 0, 0); font-family: Calibri, sans-serif; font-size: 15px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; max-width: none !important;" data-pasted="true" class="fr-fic fr-fil fr-dib"></p><p><strong><span style="font-size: 10pt;">Fig 6. Setting the URL</span></strong></p><p><br></p><p>The 3CX Softphone Windows Desktop app downloaded from the Windows App Store only accepts a link to an executable when receiving a phone call. You can therefore create a bat script that can be run to open your browser of choice with the Halo call link. Please find an example below:</p><p><br></p><p><img data-fr-image-pasted="true" src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjRkOTRlODBhLWVlYzYtNDg0Ni1hZTAxLTI3YjVkZWU4YTMyNiJ9.M09PXahGRXl-i3XGCCpblnjZn2rc-GJbZ4JMrkJVMa4" width="617" height="57" style="box-sizing: inherit; border-style: none; cursor: pointer; padding: 0px 1px; user-select: none; text-align: left; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; max-width: none !important;" data-pasted="true" class="fr-fic fr-fil fr-dib"></p><p><br></p><div style="color: #000000;background-color: #ffffff;font-family: Consolas, 'Courier New', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;" data-pasted="true"><span style="color: #000000;">@</span><span style="color: #0000ff;">echo</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">off<br>start</span><span style="color: #000000;">&nbsp;msedge&nbsp;</span><span style="color: #a31515;">&quot;https://&lt;&lt;your-halo-url&gt;&gt;/call?showmenu=true&amp;callerid=%1&quot;</span></div><p><br></p><p>You can then specify a link in the new 3CX app.</p><p><br></p><p><img data-fr-image-pasted="true" src="https://halo.haloservicedesk.com/api/attachment/image?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjFmMGQ0MzRlLTVhMzUtNDFmNC1hYzc3LTc5MDUwMDcxOTNmNCJ9.8jjMnibvkM7Faojg8u6v67RifN3YZf8O4QjXhRiv6M4" width="487" height="733" style="box-sizing: inherit; border-style: none; cursor: pointer; padding: 0px 1px; user-select: none; text-align: left; color: rgb(0, 0, 0); font-family: sans-serif; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; width: 487px; max-width: none !important;" data-pasted="true" class="fr-fic fr-fil fr-dib"></p><p><strong><span style="font-size: 10pt;">Fig 7. Setting a link</span></strong></p><p><br></p><p>You may also find that it is possible to use the full URL as an argument in the 3CX desktop client, meaning you can have:</p><p><br></p><p>Path to executable: C:\Program Files\Google\Chrome\Application\chrome.exe (for example; replace with browser of your choice)</p><p>Parameters to Send: <a target="_blank" rel="noopener noreferrer noopener noreferrer noopener noreferrer noopener noreferrer noopener noreferrer noopener noreferrer noopener noreferrer noopener noreferrer noopener noreferrer noopener noreferrer noopener noreferrer noopener noreferrer" data-fr-linked="true" href="https://myurl.halopsa.com/call?inboundactive=true&callerid=%CallerNumber%">https://myurl.halopsa.com/call?inboundactive=true&amp;callerid=%CallerNumber%</a></p><p><br></p><p>This then calls the browser with the correct URL, without needing to create or launch and &lsquo;external&rsquo; application or bat file.</p>
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.