CallRail tracking number manager for multi client agencies

By General Input

See every CallRail tracking number across your client accounts in one table, find the ones nobody calls, and rename, reroute, or release them in place.

Integrations

  • CallRail

Type

App

Categories

  • Operations
  • Marketing

Build me an internal tool for managing our CallRail tracking numbers across every client company, to replace the spreadsheet we currently keep. We are an agency running CallRail for dozens of clients, CallRail bills us per number, and we have no good way to see which numbers are still earning their keep.

The main screen is a table of every tracking number in the account. Load it from CallRail List All Trackers, join the client name from CallRail List All Companies using the company id on each tracker, and join a trailing thirty day call count from CallRail List All Calls. Each row shows the tracker name, the tracking phone number, the client company, the type (source or session), the destination number that calls forward to, and calls in the last thirty days.

Be careful about how the call counts are fetched. CallRail list endpoints are paginated at up to 250 records per page, and the account has a general limit of 1,000 requests per hour, so do not make one call lookup per tracker. Instead pull calls once per company for the last thirty days, paging through the results, and roll the counts up by tracking number in the handler before returning rows to the UI. Page through trackers and companies the same way so agencies with large inventories get the full list rather than the first page.

Above the table give me a filter for numbers that received zero calls in the last thirty days, so I can find the ones we pay for and never use, and a way to filter or group the table by client company. Let me sort by the thirty day call count so the deadweight floats to the top, and let me search by tracker name or phone number. Show the client company on every row even when the table is grouped, since I am usually scanning across clients rather than within one.

Selecting a row opens a detail panel loaded with CallRail Retrieve a Single Tracker, showing the full configuration for that number. From the panel I can rename the tracker, change the routing destination it forwards to, and change its SMS settings, all saved through CallRail Update a Tracker. After a successful save, refresh the row in the table so the panel and the table never disagree.

The panel also has a release action that calls CallRail Disable a Tracker. This permanently releases the phone number back to CallRail and cannot be undone, so put it behind a confirmation step that says so plainly and requires a deliberate second click rather than a single button press. If the number took any calls in the last thirty days, the confirmation must show an extra warning naming the client and the exact call count, so I do not release a number that is still live on a client's advertising.

A New Number form provisions a tracker through CallRail Create a Tracker. Let me pick the client company, name the tracker after the campaign it is for, choose whether it is a source or session tracker, and set the destination number that calls should ring through to. When it succeeds, add the new number to the table right away with a call count of zero rather than making me reload the whole screen.

Everything is read only until I act. Loading the screen should never change anything in CallRail, and the only writes are the ones I trigger from the detail panel or the New Number form. Show clear inline errors when CallRail rejects a change, and if we hit the hourly rate limit, say so in plain language and let me retry rather than failing silently with an empty table.

Related prompts

Explore more prompts
Morning call review queue for CallRail leads and spamCost per qualified call dashboard for CallRail and Google AdsHigh-intent CallRail buying signals to HubSpot and SlackCallRail form to Salesforce lead with Slack alertWeekly CallRail marketing channel ROI report to SlackDaily CallRail call log to Google SheetsMissed call recovery agent for CallRail and HubSpotLocal listing health board for every location you manageClean out the Looker dashboards and Looks nobody opensCompetitor LinkedIn ad watchlist with a permanent archive