FreePBX / PBX Integrations
The FreePBX Caller ID Integration works with many other services besides FreePBX such as Trixbox, Anveo, PIAF, Vonage, FusionPBX/FreeSwitch, RingCentral, 3CX, and more.
Instructions in this article supersede those on the App Card.
Table of Contents
Set up
API usage
How it looks in RepairShopr
Specific PBX configurations
Set up
To get started, first set up the app card. You will need to do this no matter what PBX integration you are using.
- Navigate to Admin > App Center.
- Find the FreePBX app card and click the FreePBX / Asterisk button.
- Create a random string to be used as a security token and save it somewhere. It should be made up of only alphanumeric characters, no characters like @ ! ? &. We will use e7SF3FpHH4ktdFtt5Y4v in our examples.
- Fill in the Required Security Token with the token you created and click Save. Note that we partially mask it once you save it.
API usage
We have an API you can configure for your PBX to use your CRM as a "Caller ID Lookup Source" by using a URL like this:
https://SUBDOMAIN.repairshopr.com/api/callerid/?did=PHONENUMBER&token=MYTOKEN
Using the example above, it would look like this:
https://rdphoto.repairshopr.com/api/callerid/?did=3605551234&token=e7SF3FpHH4ktdFtt5Y4v
To log an outbound call, add &outbound=TRUE to query in the particular place of your integration that logs outbound calls if available.
The result will be a text string that your phone will show as caller ID. Literally, your physical phone in your office can show your customers' names. The return string will have the initials of their newest ticket status, followed by the customer's name. For example:
IP: John & Sue Shreeveport
The first two letters are simply the initials of the ticket status; "In Progress" in this example. Others include "WfP" - Waiting for Parts, "CR" - Customer Reply, and so on.
If the customer has no open tickets, the return string will simply be the customer's name.
You can test this by modifying the above URL with your own subdomain, number of a customer, and your own token. Just paste the URL in a browser tab and it will show a string like above. It will also show a popup in RepairShopr.
Known issue with API documentation
Our API Documentation page has a "Call" entry to test the caller ID function. This currently does not work and is on our list to fix. Instead, you must set up a security token as listed above, then use one of the two below URLs to use it.
Payload format - Text and JSON
The payload is in text format which is used for most applications. You can have the integration return the payload as JSON by updating the URL to use caller.json as opposed to just callerid.
Text Payload Type:
https://SUBDOMAIN.repairshopr.com/api/callerid/?did=2065553222&token=MYTOKEN
N: Chris Smith
JSON Payload Type:
https://SUBDOMAIN.repairshopr.com/api/callerid.json/?did=2065553222&token=MYTOKEN
{"data": {"name": "Chris Smith","ticket_status": "New"}}
How it looks in RepairShopr
Calling the API as detailed above will show an incoming call in RepairShopr at the bottom of the screen and log it to the Customer's Detail page and ticket if they have one.
If they have no open tickets, the popup will look like this. Click Customer to open their profile.
If they do have open tickets, the popup will look like this. Click Ticket to open their newest ticket.
The call will get logged on their customer profile > Communications tab.
If they have open tickets, it will also get added to their newest ticket in the Communications log.
Specific PBX configurations
FreePBX configuration
- Follow the steps at the top of this article to generate a token for your site.
- In FreePBX, go to Caller ID Lookup Sources.
- Add one like below.
- In Host, replace "EXAMPLE" with your subdomain. Make sure to NOT include https:// even though the App Card says to include it.
- In Port, enter 443 even though the App Card says to leave it blank, as FreePBX now needs it to work.
- In Query, add &token=MYTOKEN, where MYTOKEN is what you put in the Required Security Token field in the App Card.
- Go to your inbound route, and specify it should use the lookup source you just created. Done!
Anveo configuration
Add and configure an "HTTP" call control (found under "Integration Call Controls") with the settings in the attached screenshot, replacing "SUB" with your subdomain. The variable $[CLIENT.NAME]$ will now contain the lookup result and can be used in the remainder of the call flow.
Be sure to add another field titled TOKEN and enter your token from the PBX Integration within RepairShopr.
Then head to your inbound routes, and be sure to assign the source to your route. On your Inbound route, select the caller id lookup source you just created.
Here is how it shows on the Customer detail page, and the Ticket (if one is open)
Vonage configuration
A user provided these settings for setting up Vonage. These settings have not been tested by RepairShopr.
- Follow the steps at the top of this article to generate a token for your site.
- Download the Vonage Desktop Connect client to your desktop.
- Make a test call and make sure that you do not have pop-ups blocked.
- Click your avatar (circle with initials or photo) > Settings.
- Click the Web Launcher tab.
- Click the Enter Display Title field and type in RepairShopr
- Copy the below URL.
https://SUBDOMAIN.repairshopr.com/api/callerid/?did=%%phone_number%%&token=MYTOKEN
- Click the Enter Website URL field, paste what you copied, and replace SUBDOMAIN with your subdomain and MYTOKEN with the token you created in step 1.
- Click Add.
- Check the Incoming calls box.
- Click Save.
- Test by making a call into the system from a customer record associated with you calling from a number on your record.
In case you are using an older version of the software, follow the same steps except for these.
- In the Url field, type in RepairShopr
- Copy the below URL.
https://SUBDOMAIN.repairshopr.com/api/callerid/?did=%%phone_number%%&token=MYTOKEN
- Paste it in the field to the right of the Url field, replacing SUBDOMAIN with your subdomain and MYTOKEN with the token you created in step 1.
- Click the Add button. You should see the URL you just built in the box below the Insert button.
FusionPBX / FreeSWITCH configuration
A user (special shout out to Tyler from TAP Tech) provided these settings for setting up Elevate. These settings have not been tested by RepairShopr.
- Follow the steps at the top of this article to generate a token for your site.
- Modify the FusionPBX cidlookup.config.xml file (typically located in /etc/freeswitch/autoload_configs) to include:
<configuration name="cidlookup.conf" description="cidlookup Configuration">
<settings>
<param name="url" value="https://SUBDOMAIN.repairshopr.com/api/callerid/?did=[${caller_id_number}]&token=MYTOKEN"/>
<param name="cache" value="false"/>
Note: the & in the above URL is correct. - On your inbound route, create an action, set with this as the text:
effective_caller_id_name=${cidlookup(${caller_id_number})}
RingCentral configuration
You can add RingCentral without popups. Here is what you need to do:
- Follow the steps at the top of this article to generate a token for your site.
- Install Wget: https://www.gnu.org/software/wget/
- Set the RingCentral call controller to wget.exe by adding this command, replacing SUBDOMAIN with your subdomain and MYTOKEN with the token you created in step 1:
wget.exe "https://SUBDOMAIN.repairshopr.com/api/callerid/?did=%E&token=MYTOKEN"
It should look something like this:
And that's it! You should be all set to receive calls in-app.
3CX configuration
These settings have not been tested by RepairShopr.
- Follow the steps at the top of this article to generate a token for your site.
- Install Wget: https://www.gnu.org/software/wget/
- Set the 3CX windows behavior settings to open wget.exe.
- In the Parameters to send field, paste the following, replacing SUBDOMAIN with your subdomain and MYTOKEN with the token you created in step 1:
https://SUBDOMAIN.repairshopr.com/api/callerid/?did=%CallerNumber%&token=MYTOKEN
Intermedia Unite and Elevate configuration
A user provided these settings for setting up Elevate. These settings have not been tested by RepairShopr.
- Follow the steps at the top of this article to generate a token for your site.
- Install Unite or Elevate Desktop App and sign in with your username and password.
- Click your Profile Icon in the bottom left corner of the app.
- Click Integrations.
- Check the CRM Screen Pops Checkbox.
- Click the Integrations dropdown and choose Custom.
- In the Integration name field enter RepairShopr.
- In the URL field paste the URL below, changing the SUBDOMAIN to your subdomain.
https://SUBDOMAIN.repairshopr.com/customers?q[firstname_or_lastname_or_email_or_phone_number_or_city_or_business_name_or_contacts_name_or_contacts_email_cont]=$phone_number
How to Use the CRM Screen POP
When you get an incoming call you will see Repairshopr in small letters in a box. To get straight to the customer's information click this box. It will open RepairShopr straight to the customer, or if there are multiple entries of that phone number in the system it will go to a customer search screen where you can click the one you want.