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.

To get started, first set up the app card. You will need to do this no matter what PBX integration you are using.

  1. Navigate to Admin > App Center.
  2. Find the FreePBX app card and click the FreePBX / Asterisk button.
  3. Create a 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.
  4. Fill in the Required Security Token with the token you created and click Save. Note that we partially mask it once you save it.

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

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.

This will show an incoming call in RepairShopr and log it to the Customer's Detail page.

To log an outbound call, add &outbound=TRUE to query in the particular place of your integration that logs outbound calls if available.

Specific configurations

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 we will fix it at some point. Instead, you must set up a security token as listed above, then use one of the two below URLs to test 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"}}

FreePBX configuration

  1. Follow the steps at the top of this article to generate a token for your site.
  2. In FreePBX, go to Caller ID Lookup Sources.
  3. Add one like below.
    1. In Host, replace "EXAMPLE" with your subdomain. Make sure to NOT include https:// even though the App Card says to include it.
    2. In Port, enter 443 even though the App Card says to leave it blank, as FreePBX now needs it to work.
    3. In Query, add &token=MYTOKEN, where MYTOKEN is what you put in the Required Security Token field in the App Card.
  4. 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 Elevate. These settings have not been tested by RepairShopr. 

  1. Follow the steps at the top of this article to generate a token for your site.
  2. Download the Vonage Desktop Connect client to your desktop.
  3. Make a test call and make sure that you do not have pop-ups blocked.
  4. Click your avatar (circle with initials or photo) > Settings.
  5. Click the Web Launcher tab.
  6. In the Url field, type in RepairShopr
  7. Copy the below URL and 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:
    https://SUBDOMAIN.repairshopr.com/api/callerid/?did=%%phone_number%%&token=MYTOKEN
  8. Click the Add button. You should see the URL you just built in the box below the Insert button.
  9. Check the box for Incoming calls.
  10. Click Save.
  11. Test by making a call into the system from a customer record associated with you calling from a number on your record.

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.

  1. Follow the steps at the top of this article to generate a token for your site.
  2. 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}]&amp;token=MYTOKEN"/>
    <param name="cache" value="false"/>

    Note: the &amp; in the above URL is correct.
  3. 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: 

  1. Follow the steps at the top of this article to generate a token for your site.
  2. Install Wget: https://www.gnu.org/software/wget/
  3. 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.

  1. Follow the steps at the top of this article to generate a token for your site.
  2. Install Wget: https://www.gnu.org/software/wget/
  3. Set the 3CX windows behavior settings to open wget.exe.
  4. 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.

  1. Follow the steps at the top of this article to generate a token for your site.
  2. Install Unite or Elevate Desktop App and sign in with your username and password.
  3. Click your Profile Icon in the bottom left corner of the app.
  4. Click Integrations.
  5. Check the CRM Screen Pops Checkbox.
  6. Click the Integrations dropdown and choose Custom.
  7. In the Integration name field enter RepairShopr.
  8. 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.

Feedback and Knowledge Base