Security update: RingQ is patched against the critical PHP vulnerabilities. Update your servers today.
Read nowFrom nothing to a working Qontak CRM (Mekari) integration: create the API credentials in the Mekari Developer Center, configure RingQ, make a test call, and find every call and recording in Qontak. Every step has a screenshot. Personal data and credentials in the screenshots are blurred.
| Keys you need | An HMAC Client ID and Client Secret for Qontak CRM, from the Mekari Developer Center |
| Optional | The SSO ID (a UUID) of the Qontak user that contacts and tasks are created as |
| Who creates them | The Qontak company owner (or a user the owner gave Developer Center access) |
| Scopes | qontak-crm:all (all Qontak CRM endpoints) |
| Where they go in RingQ | Settings → Integrations → CRM → Qontak → Client ID, Client Secret, Acting CRM user SSO ID |
| Not needed | Your Qontak dashboard login (it does not work for the API) |
Calls are made and answered in RingQ. Qontak receives the contact lookup, one task per call (category Call), and a recording link. There is no dialer inside Qontak.

The HMAC Auth list shows the applications already created, with their Client ID, Company and Scopes. If an application for RingQ already exists with the qontak-crm scope (here ringQTest), you can reuse it: skip to Step A4.
If the company has no Qontak CRM API access yet, the company owner must request it from Mekari first. Without it, every request is refused with lack permission (HTTP 403).
Click Create Application (top right). Fill in:
| Field | Value |
|---|---|
| Application Name | RingQ |
| Company | Your Qontak company (here cal4care). The scopes load after you choose it. |
| Authorized Scopes | Click the qontak-crm filter, then tick qontak-crm:all (ticks every Qontak CRM scope) |

Scroll down and click Submit.
RingQ uses Qontak CRM contacts, tasks, task categories, companies and deals. qontak-crm:all covers all of them; the qontak-chat, qontak-cdp and talenta scopes are not needed.
After Submit, Mekari shows the Client ID and Client Secret. Copy the Client Secret now: later it is only shown masked.
Open Applications → your application's Detail.

The Credentials tab shows the Client ID (with a copy button) and the Client Secret masked:

RingQ can create contacts and tasks as a specific Qontak user. Its SSO ID is a UUID such as 50c3d284-7b8b-460d-88bf-9cdde2bdbc26. Leave it empty unless Mekari or Qontak support gave it to you; tasks are then created as the application's default user.
| Credential | Goes into RingQ field |
|---|---|
| Client ID | Client ID |
| Client Secret | Client Secret |
| SSO ID (optional) | Acting CRM user SSO ID |
Keep the Client Secret private. If it is ever shared, regenerate it and enter the new one in RingQ.
Sign in to RingQ as an admin. In the left menu click Global Settings, then under Tools click Integrations.

On the CRM tab, click the Qontak card (or its Configure link). The card shows the status: Not configured, Enabled, Disabled or Connection error.


After saving, the secret field shows •••• (stored, leave blank to keep). Leave it blank when you change other settings.
Scroll down in the same window.


| Setting | Recommended | Notes |
|---|---|---|
| Contact popup on incoming / outgoing calls | On | Shows the Qontak contact in RingQ during calls |
| Call journaling | On | Every call becomes a Qontak task |
| Contact creation | On | Agents can create a contact for an unknown number |
| Task category | Call | Created in Qontak automatically if missing |
| Time zone | Your zone (e.g. Asia/Jakarta, Asia/Singapore) | Times written into tasks |
| Screen pop on incoming / outgoing calls | Your choice | Allow pop-ups for the RingQ site |
| Screen pop opens | This call's Qontak task, or the Qontak customer page | The customer page uses Qontak contact page URL (https://chat.qontak.com/customers/{customer_id}) |
| Unknown caller URL | Optional | Opened when no contact matches |
| AI transcription / summary / sentiment | Off | Optional; uses RingQ's own transcription service |
Click Save configuration.

If something is missing, see Part F. Troubleshooting.
In Qontak open Tasks (left menu). Every RingQ call is a task:

| Column | Content |
|---|---|
| Task Name | Inbound call - Answered - <contact> (<number>) - <agent> - RQ… |
| Status | Completed for answered calls; In Progress while ringing or live; Not Started for missed calls (a call-back to-do) |
| Associated | The contact (and its company and deal) when the number matched |
| Due Date | When the call ended |
Use Search by name with the call reference (RQ…) to find one call.
Click a task. Details / Plan holds everything RingQ recorded:

| Line | Content |
|---|---|
| Direction / Status | Inbound or Outbound; Answered, Missed… |
| Contact / Number | The Qontak contact and the number |
| Agent | The RingQ agent and extension |
| Started / Answered / Ended | Call times in the RingQ time zone setting |
| Duration / Talk time | Full call and talk time |
| RingQ call ID | The same ID as in RingQ Call Logs |
| Recording | Play recording: a signed RingQ link that plays the call. The address is also written as text below it, because Qontak's editor does not always make links clickable. |
| Transcription | Only when AI transcription is on |
Qontak cannot store audio through its API, so the recording stays on the RingQ server and the task holds the link. The link keeps working until you click Disconnect in RingQ (see Part E).
| Task | How |
|---|---|
| New secret (shared or leaked) | Mekari Developer Center → Applications → your app → Credentials → Regenerate Client Secret. Paste it in RingQ (Step B3) and save. |
| Disconnect | RingQ Qontak settings → Disconnect. Deletes the stored secret, stops logging and revokes recording links. Tasks already in Qontak stay. |
| Remove completely | Disconnect in RingQ, then delete the application in the Mekari Developer Center. |
Find your symptom below. Each fix points back to the step where the setting lives.
| Problem | Likely cause | What to do |
|---|---|---|
| Test connection fails, or the card shows Connection error | The Environment does not match the credentials, or the Client ID or Client Secret was pasted wrongly or has since been regenerated. | Use Production (api.mekari.com) with live credentials and Sandbox (api.mekari.io) only with sandbox credentials. Copy the Client ID and Client Secret again from the Mekari Developer Center (Step A4) and click Test connection. |
| HTTP 403 "lack permission" | The company has no Qontak CRM API access yet, or the application is missing the qontak-crm:all scope. | The Qontak company owner requests API access from Mekari. Then check the application has qontak-crm:all ticked (Step A2). |
| Your Qontak dashboard login is rejected | The dashboard login does not work for the API. | Use the HMAC Client ID and Client Secret from the Mekari Developer Center. |
| The popup shows no Qontak contact | The caller number does not match a Qontak contact, or the contact popup is off. | Save the number on a Qontak contact (0812…, 62812… and +62812… all match) and make sure Contact popup on incoming / outgoing calls is On (Step B4). |
| No task appears in Qontak | The integration is disabled, or Call journaling is off. | Switch Enable Qontak integration on, check the status shows Connected, and set Call journaling to On (Step B4). |
| The Qontak screen pop does not open | The browser is blocking pop-ups from RingQ. | Allow pop-ups for the RingQ site in your browser. |
| The recording link is not clickable in the task | Qontak's editor does not always turn links into clickable links. | Copy the recording address written as text below Play recording and open it in your browser. |
| The recording link no longer plays | The integration was disconnected, which revokes recording links. | Open the call in RingQ Call Logs using the RingQ call ID shown in the task. |
| A missed call shows Not Started | This is expected: a missed call is saved as a call-back to-do. | Complete the task in Qontak after you call the customer back. |
| The Client Secret field shows •••• | The secret is stored and is never shown again. | Leave the field blank to keep the saved secret when you change other settings. Type a new secret only after you regenerate it. |