Custom JavaScript Developer - Telnyx Call Button Integration for GHL CRM

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Gig

WAGE / SALARY

15

HOURS PER WEEK

TBD

DATE UPDATED

Aug 27, 2025

JOB OVERVIEW

Overview:
We need a skilled JavaScript developer to create a simple, reliable script that injects a "Call" button into our GoHighLevel (GHL) CRM. The button should allow users to make outbound calls through our Telnyx VoIP service directly from the browser, using the contact's phone number. The button must appear in three specific locations: the individual contact page, the opportunity stage, and the contacts smart list. Additionally, if feasible, include a multi-dialer feature (like Wavv's power dialer) that allows initiating up to 3 simultaneous calls for efficient dialing. The script should integrate with our existing n8n workflow (on a DigitalOcean VPS) and Supabase database for fetching dynamic Telnyx credentials (API key, connection ID, caller number) per client. No external apps or downloads should be required—everything must be browser-based using Telnyx WebRTC SDK.
Project Goals:

Ensure the button always appears on every relevant page.
Make calls dynamically using client-specific Telnyx data from Supabase.
Provide a softphone-like interface with call status, mute, end call, and transfer buttons during active calls.
Add multi-dialer action for power dialing (optional but preferred).

Specific Tasks:

Button Injection:

Use JavaScript to inject a "Call" button with a phone icon next to the native GHL action bar on:

Individual contact pages (/contacts/detail/).
Opportunity stage pages.
Contacts smart list pages.


Button styling: Match GHL’s UI (e.g., background #f0f4f8, border 1px solid #ccc, border-radius 5px, inline-flex, z-index 10000).
Use a MutationObserver and window.load event to handle GHL’s SPA dynamics.


Call Initiation:

On button click, pre-fill the contact’s phone number.
Fetch dynamic Telnyx credentials from n8n webhook ( ---------- ) using a clientId (GHL user ID or locationID).
Use Telnyx WebRTC SDK ---------- to make browser-based calls without external apps.
Display a fixed softphone panel (bottom-left, z-index 10000) with:

Call status ("Call Live").
Mute button (toggle audio).
End call button (hang up via Telnyx API).
Transfer button (prompt for number and transfer via Telnyx API).


Handle microphone permissions with a toast message.


Multi-Dialer Action (Optional):

Add a "Power Dial" button to initiate up to 3 simultaneous calls (like Wavv).
Use Telnyx API to parallel dial, connect to the first answer, and hang up others.


n8n/Supabase Integration:

n8n webhook fetches credentials from Supabase clients table based on clientId.
Use Telnyx API for call creation ( ---------- ).

VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin