# How to configure Ringostat

Quickly set up the Ringostat integration with a preset configuration. The preset includes ready field mapping that works for most Ringostat use cases.

## Prerequisites

- Access to bot settings in ConnectiveOne
- A Ringostat account with a configured webhook

## When to use it

- You use Ringostat as your telephony provider
- You need to set up the integration quickly without entering field mapping manually

## Step 1: Open channel settings

1. Go to **Settings** → **Bots**
2. Select the bot you need
3. Open the **Telephony** tab
4. Create a new channel or open an existing one for editing

## Step 2: Load the Ringostat preset

1. In the channel settings form, find the **Load Ringostat preset** button
2. Click it — the preset configuration fills the Advanced Config field automatically

## Step 3: Configure the webhook in Ringostat (Webhooks 2.0)

In ConnectiveOne, the channel should already have a **Webhook URL** and **Webhook Token** (steps 1–2). Next, configure event delivery in Ringostat.

### Where to open it

1. In the Ringostat cabinet: **Settings** → **Integration** → **Webhooks 2.0**
2. Create or open a notification in **External system notifications**

### Main notification fields

| Field in Ringostat | Value |
|--------------------|-------|
| **Name** | Any clear name, for example `ConnectiveOne` |
| **Event** | **After call** (completed call — what ConnectiveOne v1.1 processes) |
| **Active** | Enabled |

### HTTP tab → Data subtab

| Field | Value |
|-------|-------|
| **HTTP method** | `POST` |
| **Destination (URL)** | Full **Webhook URL** from ConnectiveOne, including the `token` parameter, for example: `https://<your-domain>/kw/telephony/webhook/<channel_id>?token=<webhook_token>` |
| **Headers** | `Content-Type` = `application/json` |
| **Data send format** | `raw` |
| **Date format** | **Standard date** (`2023-01-20 15:00:00`) |
| **Request body** | **Json** mode — paste the JSON below (as one line or with line breaks) |

> The token must be **in the URL** (`?token=...`), as in the generated ConnectiveOne channel link. Do not change the `/kw/telephony/webhook/...` path.

### Request body example (Json)

Copy this into the **Request body** field. Variables with `$` are Ringostat parameters; they are substituted for each call.

```json
{"call_id":"$cdr_id","caller":"$userfield","callee":"$dst","status":"$disposition","date":"$calldate","call_duration":"$duration","type":"$call_type","waiting":"$duration-billsec","dialog":"$billsec","manager_id":"$staffid","record_link":"$recording_wav","project_id":"$project_id"}
```

What the keys mean for ConnectiveOne (after the **Ringostat preset** on the channel):

| Key in JSON webhook | Ringostat variable | Field in ConnectiveOne |
|---------------------|--------------------|------------------------|
| `call_id` | `$cdr_id` | Call ID |
| `caller` | `$userfield` | Caller number (inbound) |
| `callee` | `$dst` | Number that was dialed |
| `status` | `$disposition` | Status (PROPER / MISSED, etc.) |
| `date` | `$calldate` | Call time |
| `call_duration` | `$duration` | Duration |
| `type` | `$call_type` | Direction (in / out) |
| `waiting` | `$duration-billsec` | Wait time |
| `dialog` | `$billsec` | Talk time |
| `manager_id` | `$staffid` | Employee ID in Ringostat |
| `record_link` | `$recording_wav` | Recording link |
| `project_id` | `$project_id` | Ringostat project ID |

If the ConnectiveOne channel **Advanced Config** uses different field names — change the keys in the JSON or update `field_mapping` in the preset.

### Check in ConnectiveOne

1. In the channel form: **Webhook format** = **JSON**
2. Load the **Ringostat preset** (step 2) if you have not done it yet
3. Save the channel and make a test call or run **Test** webhook in ConnectiveOne

## Where to get Auth-key and Project id (Ringostat API)

These values are needed when ConnectiveOne **calls the Ringostat API** — for example for [webhook enrichment](/en/telephony/how-to/configure-webhook-enrich.md) (operator email, line status, topic).

### Where to open it

1. In the Ringostat cabinet: **Settings** → **Integration** → **Ringostat API**
2. On the page, find the credentials block (usually at the top, before the “API description” list)

### What to copy

| Field in Ringostat | Purpose in ConnectiveOne |
|--------------------|---------------------------|
| **Auth-key** | API authorization key (in Action Jail — a parameter such as `ringostat_api_key`) |
| **Project id** | Ringostat project ID (in Action Jail — `ringostat_project_id`; should match `project_id` in the webhook if you pass it) |

> **Auth-key** is a secret. Do not publish it in chats or public instructions. Share it only with the person who configures Action Jail.

On the same page below there is **API description** (Callback, call export, SIP statuses, etc.) — for the basic ConnectiveOne webhook and preset these URLs are **not needed**; **Webhooks 2.0** (step 3) is enough.

## Step 4: Webhook enrichment (optional, Ringostat)

If the Ringostat webhook **does not include the operator email** or you need to detect the topic automatically (Online / Offline):

1. Copy **Auth-key** and **Project id** from the [Ringostat API](#where-to-get-auth-key-and-project-id-ringostat-api) section
2. Configure an action in Action Jail with these parameters — usually done by the implementation team
3. In the ConnectiveOne channel form, set the action in **Webhook enrich action**

Step by step: [How to configure webhook enrichment](/en/telephony/how-to/configure-webhook-enrich.md).

## Step 5: Save and test

1. Click **Save**
2. Click **Test** to verify the webhook
3. Confirm that a test dialog was created successfully

## What the preset includes

The Ringostat preset includes:

- **Field mapping** — mapping of standard Ringostat fields
- **Status mapping** — call status mapping
- **Direction mapping** — call direction mapping
- **Recording settings** — if Ringostat provides recordings
- **Transcript settings** — if Ringostat provides transcripts

## Additional settings

After loading the preset you can:

- Change field mapping if your Ringostat uses different field names
- Add extra fields if needed
- Configure number normalization (default country code)

## Ringostat promocode

Connect any Ringostat product and get $50 credited to your company account.

**$50 promocode**\*: `Ringostat_ConnectiveOne`

To use the offer:

1. Register at [ringostat.com](https://ringostat.com/).
2. Tell the Ringostat manager the promocode: **Ringostat_ConnectiveOne**.
3. Start using Ringostat solutions.

\* The offer is for new customers and cannot be combined with other benefits.

[Get $50 on your Ringostat account](https://ringostat.com/?utm_campaign=partner&utm_medium=referral&utm_source=connectiveone&utm_term=partner-connectiveone-promocode)

## Related articles

- [Configure webhook enrichment](/en/telephony/how-to/configure-webhook-enrich.md)
- [Configure a telephony channel](/en/telephony/how-to/configure-telephony-channel.md)
