client.copilot_profiles
Real-time agent copilot configuration. These methods are on client.copilot_profiles, where client is a MoreVoice client (see the Python SDK). On AsyncMoreVoice the same methods are awaited. Each one returns the response object and raises an exception when the API answers with an error.
create()
Section titled “create()”Create a copilot profile. Returns the new CopilotProfile.
def create(self, body: _m.CopilotProfileCreateParamsInput | Mapping[str, Any] | Unset = UNSET, *, more_voice_version: str | Unset = UNSET, idempotency_key: str | Unset = UNSET) -> _m.CopilotProfileclient.copilot_profiles.create() · await async_client.copilot_profiles.create() · POST /copilot_profiles · API reference
Request body
Section titled “Request body”| Field | Type | Required | Description |
|---|---|---|---|
alerts |
object[] |
no | — |
coaching |
object |
no | — |
company |
string |
no | Who the agent represents. |
compliance |
object |
no | — |
fields |
object[] |
no | Details the copilot picks out of the conversation. |
goal |
string |
no | What the call should achieve. |
kb |
object |
no | — |
language |
string |
no | The calls’ language (he, en, …). |
model |
object |
no | — |
name |
string |
no | Default: the template’s name. |
objections |
object[] |
no | The objection library. |
product |
string |
no | — |
qa_rubric |
object[] |
no | The QA rubric this profile’s calls are scored against (empty: the organisation’s rubric). |
script |
object |
no | — |
stages |
object[] |
no | The call’s stages, each with a checklist (used when no script flow is set). |
template_id |
"sales-outbound" | "customer-service" |
no | Start from a template (GET /v1/copilot_profiles/templates); the fields you send override it. |
tone |
string |
no | How the agent should sound. |
Returns
Section titled “Returns”CopilotProfile:
| Field | Type | Description |
|---|---|---|
id |
string |
The profile’s ID. |
object |
"copilot_profile" |
Always copilot_profile. |
livemode |
boolean |
true in live mode, false in test mode. |
name |
string |
— |
version |
integer |
Goes up on every change. |
template_id |
string | null |
The template it was created from. |
goal |
string |
What the call should achieve. |
tone |
string |
How the agent should sound. |
company |
string |
Who the agent represents. |
product |
string |
— |
language |
string |
The calls’ language (he, en, …). |
stages |
object[] |
The call’s stages, each with a checklist (used when no script flow is set). |
objections |
object[] |
The objection library. |
kb |
object |
— |
fields |
object[] |
Details the copilot picks out of the conversation. |
compliance |
object |
— |
coaching |
object |
— |
alerts |
object[] |
— |
qa_rubric |
object[] |
The QA rubric this profile’s calls are scored against (empty: the organisation’s rubric). |
script |
object |
— |
model |
object |
— |
created |
string |
An ISO-8601 timestamp in UTC. |
updated |
string |
An ISO-8601 timestamp in UTC. |
Example
Section titled “Example”from morevoice import MoreVoice
client = MoreVoice() # MOREVOICE_API_KEY from the environment
copilot_profile = client.copilot_profiles.create({ "company": "Acme", "name": "Outbound sales", "product": "Acme Cloud PBX", "template_id": "sales-outbound",})print(copilot_profile)delete()
Section titled “delete()”Delete a copilot profile. Deletes the profile. Queues and calls that used it run without a copilot profile.
def delete(self, id: str, *, more_voice_version: str | Unset = UNSET, idempotency_key: str | Unset = UNSET) -> _m.DeletedCopilotProfileclient.copilot_profiles.delete() · await async_client.copilot_profiles.delete() · DELETE /copilot_profiles/{id} · API reference
Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
id |
str |
yes | A copilot profile ID (cop_…). |
Returns
Section titled “Returns”DeletedCopilotProfile:
| Field | Type | Description |
|---|---|---|
id |
string |
A copilot profile ID (prefix cop_). |
object |
"copilot_profile" |
Always copilot_profile. |
deleted |
true |
— |
Example
Section titled “Example”from morevoice import MoreVoice
client = MoreVoice() # MOREVOICE_API_KEY from the environment
deleted_copilot_profile = client.copilot_profiles.delete("cop_7Hk2Lm9Qp")print(deleted_copilot_profile)duplicate()
Section titled “duplicate()”Duplicate a copilot profile. Returns the new CopilotProfile. Answers 404 with the code resource_missing when nothing has this ID in this organisation and mode.
def duplicate(self, id: str, body: _m.DuplicateCopilotProfileParamsInput | Mapping[str, Any] | Unset = UNSET, *, more_voice_version: str | Unset = UNSET, idempotency_key: str | Unset = UNSET) -> _m.CopilotProfileclient.copilot_profiles.duplicate() · await async_client.copilot_profiles.duplicate() · POST /copilot_profiles/{id}/duplicate · API reference
Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
id |
str |
yes | A copilot profile ID (cop_…). |
Request body
Section titled “Request body”| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
no | Default: the original’s name with “(copy)”. |
Returns
Section titled “Returns”CopilotProfile:
| Field | Type | Description |
|---|---|---|
id |
string |
The profile’s ID. |
object |
"copilot_profile" |
Always copilot_profile. |
livemode |
boolean |
true in live mode, false in test mode. |
name |
string |
— |
version |
integer |
Goes up on every change. |
template_id |
string | null |
The template it was created from. |
goal |
string |
What the call should achieve. |
tone |
string |
How the agent should sound. |
company |
string |
Who the agent represents. |
product |
string |
— |
language |
string |
The calls’ language (he, en, …). |
stages |
object[] |
The call’s stages, each with a checklist (used when no script flow is set). |
objections |
object[] |
The objection library. |
kb |
object |
— |
fields |
object[] |
Details the copilot picks out of the conversation. |
compliance |
object |
— |
coaching |
object |
— |
alerts |
object[] |
— |
qa_rubric |
object[] |
The QA rubric this profile’s calls are scored against (empty: the organisation’s rubric). |
script |
object |
— |
model |
object |
— |
created |
string |
An ISO-8601 timestamp in UTC. |
updated |
string |
An ISO-8601 timestamp in UTC. |
Example
Section titled “Example”from morevoice import MoreVoice
client = MoreVoice() # MOREVOICE_API_KEY from the environment
copilot_profile = client.copilot_profiles.duplicate("cop_7Hk2Lm9Qp", { "name": "Outbound sales B",})print(copilot_profile)list()
Section titled “list()”List copilot profiles. Returns a page of CopilotProfile objects, newest first. Pass next_cursor as starting_after for the next page; the SDKs iterate every page for you.
def list(self, *, limit: int | Unset = 20, starting_after: str | Unset = UNSET, ending_before: str | Unset = UNSET, more_voice_version: str | Unset = UNSET) -> AsyncPage[_m.CopilotProfile]client.copilot_profiles.list() · await async_client.copilot_profiles.list() · GET /copilot_profiles · API reference
Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
limit |
integer |
no | How many objects to return, 1–100 (default 20). |
starting_after |
string |
no | A cursor (next_cursor) or object ID: return the objects after it (older). |
ending_before |
string |
no | A cursor or object ID: return the objects before it (newer). |
Returns
Section titled “Returns”A page of results (CopilotProfileList): data, has_more and next_cursor.
Example
Section titled “Example”from morevoice import MoreVoice
client = MoreVoice() # MOREVOICE_API_KEY from the environment
for copilot_profile in client.copilot_profiles.list(): print(copilot_profile)list_templates()
Section titled “list_templates()”List copilot profile templates. The built-in profiles you can start from (template_id on create).
def list_templates(self, *, limit: int | Unset = 20, starting_after: str | Unset = UNSET, ending_before: str | Unset = UNSET, more_voice_version: str | Unset = UNSET) -> AsyncPage[_m.CopilotProfileTemplate]client.copilot_profiles.list_templates() · await async_client.copilot_profiles.list_templates() · GET /copilot_profiles/templates · API reference
Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
limit |
integer |
no | How many objects to return, 1–100 (default 20). |
starting_after |
string |
no | A cursor (next_cursor) or object ID: return the objects after it (older). |
ending_before |
string |
no | A cursor or object ID: return the objects before it (newer). |
Returns
Section titled “Returns”A page of results (CopilotProfileTemplateList): data, has_more and next_cursor.
Example
Section titled “Example”from morevoice import MoreVoice
client = MoreVoice() # MOREVOICE_API_KEY from the environment
for copilot_profile in client.copilot_profiles.list_templates(): print(copilot_profile)retrieve()
Section titled “retrieve()”Retrieve a copilot profile. Returns the CopilotProfile object. Answers 404 with the code resource_missing when nothing has this ID in this organisation and mode.
def retrieve(self, id: str, *, more_voice_version: str | Unset = UNSET) -> _m.CopilotProfileclient.copilot_profiles.retrieve() · await async_client.copilot_profiles.retrieve() · GET /copilot_profiles/{id} · API reference
Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
id |
str |
yes | A copilot profile ID (cop_…). |
Returns
Section titled “Returns”CopilotProfile:
| Field | Type | Description |
|---|---|---|
id |
string |
The profile’s ID. |
object |
"copilot_profile" |
Always copilot_profile. |
livemode |
boolean |
true in live mode, false in test mode. |
name |
string |
— |
version |
integer |
Goes up on every change. |
template_id |
string | null |
The template it was created from. |
goal |
string |
What the call should achieve. |
tone |
string |
How the agent should sound. |
company |
string |
Who the agent represents. |
product |
string |
— |
language |
string |
The calls’ language (he, en, …). |
stages |
object[] |
The call’s stages, each with a checklist (used when no script flow is set). |
objections |
object[] |
The objection library. |
kb |
object |
— |
fields |
object[] |
Details the copilot picks out of the conversation. |
compliance |
object |
— |
coaching |
object |
— |
alerts |
object[] |
— |
qa_rubric |
object[] |
The QA rubric this profile’s calls are scored against (empty: the organisation’s rubric). |
script |
object |
— |
model |
object |
— |
created |
string |
An ISO-8601 timestamp in UTC. |
updated |
string |
An ISO-8601 timestamp in UTC. |
Example
Section titled “Example”from morevoice import MoreVoice
client = MoreVoice() # MOREVOICE_API_KEY from the environment
copilot_profile = client.copilot_profiles.retrieve("cop_7Hk2Lm9Qp")print(copilot_profile)update()
Section titled “update()”Update a copilot profile. Updates the fields you send. Nested objects merge with the stored values; lists (stages, objections, alerts…) replace them. Calls that start afterwards use the new version.
def update(self, id: str, body: _m.CopilotProfileUpdateParamsInput | Mapping[str, Any] | Unset = UNSET, *, more_voice_version: str | Unset = UNSET) -> _m.CopilotProfileclient.copilot_profiles.update() · await async_client.copilot_profiles.update() · PATCH /copilot_profiles/{id} · API reference
Parameters
Section titled “Parameters”| Name | Type | Required | Description |
|---|---|---|---|
id |
str |
yes | A copilot profile ID (cop_…). |
Request body
Section titled “Request body”| Field | Type | Required | Description |
|---|---|---|---|
alerts |
object[] |
no | — |
coaching |
object |
no | — |
company |
string |
no | Who the agent represents. |
compliance |
object |
no | — |
fields |
object[] |
no | Details the copilot picks out of the conversation. |
goal |
string |
no | What the call should achieve. |
kb |
object |
no | — |
language |
string |
no | The calls’ language (he, en, …). |
model |
object |
no | — |
name |
string |
no | — |
objections |
object[] |
no | The objection library. |
product |
string |
no | — |
qa_rubric |
object[] |
no | The QA rubric this profile’s calls are scored against (empty: the organisation’s rubric). |
script |
object |
no | — |
stages |
object[] |
no | The call’s stages, each with a checklist (used when no script flow is set). |
tone |
string |
no | How the agent should sound. |
Returns
Section titled “Returns”CopilotProfile:
| Field | Type | Description |
|---|---|---|
id |
string |
The profile’s ID. |
object |
"copilot_profile" |
Always copilot_profile. |
livemode |
boolean |
true in live mode, false in test mode. |
name |
string |
— |
version |
integer |
Goes up on every change. |
template_id |
string | null |
The template it was created from. |
goal |
string |
What the call should achieve. |
tone |
string |
How the agent should sound. |
company |
string |
Who the agent represents. |
product |
string |
— |
language |
string |
The calls’ language (he, en, …). |
stages |
object[] |
The call’s stages, each with a checklist (used when no script flow is set). |
objections |
object[] |
The objection library. |
kb |
object |
— |
fields |
object[] |
Details the copilot picks out of the conversation. |
compliance |
object |
— |
coaching |
object |
— |
alerts |
object[] |
— |
qa_rubric |
object[] |
The QA rubric this profile’s calls are scored against (empty: the organisation’s rubric). |
script |
object |
— |
model |
object |
— |
created |
string |
An ISO-8601 timestamp in UTC. |
updated |
string |
An ISO-8601 timestamp in UTC. |
Example
Section titled “Example”from morevoice import MoreVoice
client = MoreVoice() # MOREVOICE_API_KEY from the environment
copilot_profile = client.copilot_profiles.update("cop_7Hk2Lm9Qp", { "coaching": { "talk_ratio_max": 0.6, },})print(copilot_profile)