Call Groups
Call groups define pools of sales contacts for inbound lead distribution. Requires call2lead permission on your partner account.
Endpoints
GET
/v2/group/
List call groups —
?q= searches group reference; ?reference= filters by company reference
POST
/v2/group/
Create a call group
GET
/v2/group/{{reference}}/
Retrieve one call group by group reference
PUT
/v2/group/{{reference}}/
Full update — reference, company, contact_list required
DELETE is not supported on v2. alternate_callgroup is read-only in responses.
PUT replaces the entire contact_list. If contact_list is omitted or [], all group members are removed. Always send the complete member list when updating other fields.
Request examples
GET — retrieve call group
curl -s "https://next.logimeter.com/v2/group/sales-team/" -H "Authorization: Token xxxxxxx_your_token_xxxxx"
await fetch('https://next.logimeter.com/v2/group/sales-team/', { headers: { Authorization: 'Token xxxxxxx_your_token_xxxxx' } });
requests.get('https://next.logimeter.com/v2/group/sales-team/', headers={'Authorization': 'Token xxxxxxx_your_token_xxxxx'})
POST — create call group
curl -sX POST "https://next.logimeter.com/v2/group/" \
-H "Authorization: Token xxxxxxx_your_token_xxxxx" \
-H "Content-Type: application/json" \
-d '{
"reference": "sales-team",
"name": "Sales Team",
"company": {"reference": "6e7d1f48-2ca1-4ef4-a433-a3fa765ff190"},
"contact_list": [
{"reference": "agent123"},
{"reference": "agent456"}
],
"alternate_number": "27821112222",
"whisper_message": "A prospect is on the line, press 1 to connect.",
"timeout": 30,
"integration_active": true
}'
await fetch('https://next.logimeter.com/v2/group/', {
method: 'POST',
headers: { Authorization: 'Token xxxxxxx_your_token_xxxxx', 'Content-Type': 'application/json' },
body: JSON.stringify({
reference: 'sales-team',
name: 'Sales Team',
company: { reference: '6e7d1f48-2ca1-4ef4-a433-a3fa765ff190' },
contact_list: [{ reference: 'agent123' }, { reference: 'agent456' }],
timeout: 30,
integration_active: true,
}),
});
requests.post(
'https://next.logimeter.com/v2/group/',
headers={'Authorization': 'Token xxxxxxx_your_token_xxxxx', 'Content-Type': 'application/json'},
json={
'reference': 'sales-team',
'name': 'Sales Team',
'company': {'reference': '6e7d1f48-2ca1-4ef4-a433-a3fa765ff190'},
'contact_list': [{'reference': 'agent123'}, {'reference': 'agent456'}],
'timeout': 30,
'integration_active': True,
},
)
PUT — full update
curl -sX PUT "https://next.logimeter.com/v2/group/sales-team/" \
-H "Authorization: Token xxxxxxx_your_token_xxxxx" \
-H "Content-Type: application/json" \
-d '{
"reference": "sales-team",
"name": "Sales Team",
"company": {"reference": "6e7d1f48-2ca1-4ef4-a433-a3fa765ff190"},
"contact_list": [
{"reference": "agent123"},
{"reference": "agent456"}
],
"timeout": 45,
"integration_active": true
}'
await fetch('https://next.logimeter.com/v2/group/sales-team/', {
method: 'PUT',
headers: { Authorization: 'Token xxxxxxx_your_token_xxxxx', 'Content-Type': 'application/json' },
body: JSON.stringify({
reference: 'sales-team',
name: 'Sales Team',
company: { reference: '6e7d1f48-2ca1-4ef4-a433-a3fa765ff190' },
contact_list: [{ reference: 'agent123' }, { reference: 'agent456' }],
timeout: 45,
integration_active: true,
}),
});
requests.put(
'https://next.logimeter.com/v2/group/sales-team/',
headers={'Authorization': 'Token xxxxxxx_your_token_xxxxx', 'Content-Type': 'application/json'},
json={
'reference': 'sales-team',
'name': 'Sales Team',
'company': {'reference': '6e7d1f48-2ca1-4ef4-a433-a3fa765ff190'},
'contact_list': [{'reference': 'agent123'}, {'reference': 'agent456'}],
'timeout': 45,
'integration_active': True,
},
)
Responses
200 OK / 201 Created
{
"id": 7,
"name": "Sales Team",
"reference": "sales-team",
"is_live": true,
"integration_active": true,
"company": {"name": "Trask Industries", "reference": "6e7d1f48-2ca1-4ef4-a433-a3fa765ff190"},
"contact_list": [
{"name": "Jane Smith", "reference": "agent123"}
],
"alternate_contact": null,
"alternate_callgroup": null,
"alternate_number": "27821112222",
"whisper_message": "A prospect is on the line, press 1 to connect.",
"timeout": 30
}
Validation errors (400)
| Scenario | Error |
|---|---|
| No call2lead permission | You do not have permission to use Call2Lead. |
| Missing reference | You need to specify a reference. |
| Invalid company | You need to specify a valid Company. |
| Too many contacts | Call group contacts may not exceed 50 members. |
| Unknown contact reference | Silently skipped (not added to group) |
Fields
| Field | Type | Required | Description |
|---|---|---|---|
| reference | string | yes | Your unique call group ID (URL lookup key). |
| name | string | yes | Display name for the group. |
| company | object | yes | {reference} required on write; name read-only in responses. |
| contact_list[] | array | required on PUT | Up to 50 contacts as {reference}. PUT replaces the full list — see warning above. |
| alternate_contact | object | optional | Fallback contact {reference}. |
| alternate_number | string | optional | E.164 fallback if no contact answers. |
| whisper_message | string | optional | TTS played to agent before connect (model default if omitted). |
| timeout | integer | optional | Ring timeout in seconds (default 30). |
| integration_active | boolean | optional | Defaults to false on create. Deactivation may trigger emails and webhooks. |
| is_live | boolean | read-only | Group is in use. |
| alternate_callgroup | object | read-only | Linked alternate group, if configured internally. |