Skip to main content
POST
/
v1.0
/
workgroups
json
{
  "Name": "IVR Workgroup",
  "TelegentPhone": "+1234567890",
  "Type": "IVR",
  "CallOrder": "1",
  "AnnouncementText": "Hello, welcome to Telegent. Press 1 for Sales, Press 2 for Support.",
  "ScheduleId": "SID-3741d220-0663-4289-85df-c203f43db5a6",
  "RecordCalls": true,
  "TranscribeRecordings": false
}
curl -X POST https://api.telegent.com/v1.0/workgroups \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"Name": "IVR Workgroup",
"TelegentPhone": "+1234567890",
"Type": "IVR",
"ScheduleId": "SID-3741d220-0663-4289-85df-c203f43db5a6"
}'
import requests

url = "https://api.telegent.com/v1.0/workgroups"

payload = {
"Name": "IVR Workgroup",
"Type": "IVR",
"TelegentPhone": "+1234567890",
"CallOrder": "1",
"AnnouncementText": "<string>",
"AnnouncementUrl": "<string>",
"InternalExtension": "<string>",
"CallerIdType": "<string>",
"CallerIdName": "<string>",
"RecordCalls": True,
"TranscribeRecordings": False,
"ScheduleId": "SID-3741d220-0663-4289-85df-c203f43db5a6",
"TimeZone": "<string>",
"HoldMusicId": "<string>",
"AiRecording": True,
"OffHoursType": "<string>",
"OffHoursId": "<string>",
"OnHoursType": "<string>",
"OnHoursId": "<string>",
"WaitBetween": "<string>",
"TollFreeNumber": "<string>",
"AccountId": "<string>"
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
Name: 'IVR Workgroup',
Type: 'IVR',
TelegentPhone: '+1234567890',
CallOrder: '1',
AnnouncementText: '<string>',
AnnouncementUrl: '<string>',
InternalExtension: '<string>',
CallerIdType: '<string>',
CallerIdName: '<string>',
RecordCalls: true,
TranscribeRecordings: false,
ScheduleId: 'SID-3741d220-0663-4289-85df-c203f43db5a6',
TimeZone: '<string>',
HoldMusicId: '<string>',
AiRecording: true,
OffHoursType: '<string>',
OffHoursId: '<string>',
OnHoursType: '<string>',
OnHoursId: '<string>',
WaitBetween: '<string>',
TollFreeNumber: '<string>',
AccountId: '<string>'
})
};

fetch('https://api.telegent.com/v1.0/workgroups', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.telegent.com/v1.0/workgroups",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'Name' => 'IVR Workgroup',
'Type' => 'IVR',
'TelegentPhone' => '+1234567890',
'CallOrder' => '1',
'AnnouncementText' => '<string>',
'AnnouncementUrl' => '<string>',
'InternalExtension' => '<string>',
'CallerIdType' => '<string>',
'CallerIdName' => '<string>',
'RecordCalls' => true,
'TranscribeRecordings' => false,
'ScheduleId' => 'SID-3741d220-0663-4289-85df-c203f43db5a6',
'TimeZone' => '<string>',
'HoldMusicId' => '<string>',
'AiRecording' => true,
'OffHoursType' => '<string>',
'OffHoursId' => '<string>',
'OnHoursType' => '<string>',
'OnHoursId' => '<string>',
'WaitBetween' => '<string>',
'TollFreeNumber' => '<string>',
'AccountId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.telegent.com/v1.0/workgroups"

payload := strings.NewReader("{\n \"Name\": \"IVR Workgroup\",\n \"Type\": \"IVR\",\n \"TelegentPhone\": \"+1234567890\",\n \"CallOrder\": \"1\",\n \"AnnouncementText\": \"<string>\",\n \"AnnouncementUrl\": \"<string>\",\n \"InternalExtension\": \"<string>\",\n \"CallerIdType\": \"<string>\",\n \"CallerIdName\": \"<string>\",\n \"RecordCalls\": true,\n \"TranscribeRecordings\": false,\n \"ScheduleId\": \"SID-3741d220-0663-4289-85df-c203f43db5a6\",\n \"TimeZone\": \"<string>\",\n \"HoldMusicId\": \"<string>\",\n \"AiRecording\": true,\n \"OffHoursType\": \"<string>\",\n \"OffHoursId\": \"<string>\",\n \"OnHoursType\": \"<string>\",\n \"OnHoursId\": \"<string>\",\n \"WaitBetween\": \"<string>\",\n \"TollFreeNumber\": \"<string>\",\n \"AccountId\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.telegent.com/v1.0/workgroups")
.header("Content-Type", "application/json")
.body("{\n \"Name\": \"IVR Workgroup\",\n \"Type\": \"IVR\",\n \"TelegentPhone\": \"+1234567890\",\n \"CallOrder\": \"1\",\n \"AnnouncementText\": \"<string>\",\n \"AnnouncementUrl\": \"<string>\",\n \"InternalExtension\": \"<string>\",\n \"CallerIdType\": \"<string>\",\n \"CallerIdName\": \"<string>\",\n \"RecordCalls\": true,\n \"TranscribeRecordings\": false,\n \"ScheduleId\": \"SID-3741d220-0663-4289-85df-c203f43db5a6\",\n \"TimeZone\": \"<string>\",\n \"HoldMusicId\": \"<string>\",\n \"AiRecording\": true,\n \"OffHoursType\": \"<string>\",\n \"OffHoursId\": \"<string>\",\n \"OnHoursType\": \"<string>\",\n \"OnHoursId\": \"<string>\",\n \"WaitBetween\": \"<string>\",\n \"TollFreeNumber\": \"<string>\",\n \"AccountId\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.telegent.com/v1.0/workgroups")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"Name\": \"IVR Workgroup\",\n \"Type\": \"IVR\",\n \"TelegentPhone\": \"+1234567890\",\n \"CallOrder\": \"1\",\n \"AnnouncementText\": \"<string>\",\n \"AnnouncementUrl\": \"<string>\",\n \"InternalExtension\": \"<string>\",\n \"CallerIdType\": \"<string>\",\n \"CallerIdName\": \"<string>\",\n \"RecordCalls\": true,\n \"TranscribeRecordings\": false,\n \"ScheduleId\": \"SID-3741d220-0663-4289-85df-c203f43db5a6\",\n \"TimeZone\": \"<string>\",\n \"HoldMusicId\": \"<string>\",\n \"AiRecording\": true,\n \"OffHoursType\": \"<string>\",\n \"OffHoursId\": \"<string>\",\n \"OnHoursType\": \"<string>\",\n \"OnHoursId\": \"<string>\",\n \"WaitBetween\": \"<string>\",\n \"TollFreeNumber\": \"<string>\",\n \"AccountId\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "WorkgroupId": "WID-12345-abc-12345",
  "Name": "IVR Workgroup",
  "TelegentPhone": "+1234567890",
  "Type": "IVR",
  "CallOrder": "1",
  "AnnouncementText": "Hello, welcome to Telegent. Press 1 for Sales, Press 2 for Support.",
  "ScheduleId": "SID-3741d220-0663-4289-85df-c203f43db5a6",
  "AccountId": "AID-ab12345-2725-45a1-bd5e-526ed19799xx"
}
{
"StatusCode": 123,
"Message": "<string>"
}
{
"StatusCode": 123,
"Message": "<string>"
}
{
"StatusCode": 123,
"Message": "<string>"
}
{
"StatusCode": 123,
"Message": "<string>"
}
{
"StatusCode": 123,
"Message": "<string>"
}
{
"StatusCode": 123,
"Message": "<string>"
}
{
"StatusCode": 123,
"Message": "<string>"
}
{
"StatusCode": 123,
"Message": "<string>"
}
{
"StatusCode": 123,
"Message": "<string>"
}
{
"StatusCode": 123,
"Message": "<string>"
}

Body

application/json
Name
string
required

Friendly name for the workgroup

Example:

"IVR Workgroup"

Type
enum<string>
required

Workgroup routing type

Available options:
IVR,
simultaneous,
round-robin
Example:

"IVR"

TelegentPhone
string

Phone number assigned to this workgroup (E.164 format)

Example:

"+1234567890"

CallOrder
string

Call distribution order

Example:

"1"

AnnouncementText
string

Text-to-speech announcement played to callers

AnnouncementUrl
string<uri>

URL of audio file for announcement

InternalExtension
string

Internal extension number

CallerIdType
string

Caller ID type configuration

CallerIdName
string

Caller ID name

RecordCalls
boolean

Enable call recording

Example:

true

TranscribeRecordings
boolean

Enable transcription of recordings

Example:

false

ScheduleId
string

Schedule ID to associate with this workgroup

Example:

"SID-3741d220-0663-4289-85df-c203f43db5a6"

TimeZone
string

Timezone for schedule (e.g., America/New_York)

HoldMusicId
string

ID of hold music to play

AiRecording
boolean

Enable AI-enhanced recording

OffHoursType
string

Off-hours routing type (User or Workgroup)

OffHoursId
string

User ID or Workgroup ID for off-hours routing

OnHoursType
string

On-hours routing type (User or Workgroup)

OnHoursId
string

User ID or Workgroup ID for on-hours routing

WaitBetween
string

Wait time between call attempts

TollFreeNumber
string

Toll-free number associated with workgroup

AccountId
string

Account ID to associate workgroup with

Response

Success — returns the new Workgroup ID (WID-) and configuration

The response is of type object.