TelephonyCallJob Class

A durable direct or campaign-created outbound call intent.

Constructor

TelephonyCallJob(*args: Any, **kwargs: Any)

Variables

Name Description
destination

The phone destination to call. Required.

connection_name
str

The Foundry connection name in the current project used to originate the call. Its category selects Twilio or Azure Communication Services / Teams Phone Extension. No inbound telephony binding is required. Required.

source
str

The caller identity used to originate the call. For a Twilio connection, provide an authorized E.164 phone number. For an Azure Communication Services / Teams Phone Extension connection, provide the Teams Resource Account object ID. The identity type is inferred from the connection category; originating does not change inbound routing. Required.

purpose
str

An optional customer-declared purpose for placing the call.

structured_inputs

Structured input values available to the agent and greeting for this call. Agent-declared inputs are validated against their schemas; omitted optional inputs may use their Agent-defined default values, while omitted required inputs are rejected. Additional inputs remain available as dynamic template variables.

schedule

The optional execution window.

id
str

The service-generated call-job identifier. Required.

object
str

The object type. Always telephony.call_job. Required. Default value is "telephony.call_job".

agent_name
str

The name of the voice agent used at execution time. Required.

status

The current call-job lifecycle status. Required. Known values are: "accepted", "waiting_for_schedule", "queued", "dispatching", "in_progress", "waiting_for_retry", "cancellation_requested", "completed", "blocked", "expired", "failed", and "cancelled".

cancellation

The recorded cancellation request, when cancellation was requested.

retry_policy

The frozen provider-attempt retry policy. Required.

attempt_count
int

The number of provider attempts created so far. Required.

next_attempt_at

The Unix timestamp in seconds at which the next retry becomes eligible.

terminal_reason

The stable service-generated reason for the overall outbound call job, which can span multiple provider attempts, when available. Interpret this with status: a queued job can retain a temporary dispatch-deferral reason. Additional string codes may be returned. Known values are: "no_answer", "no_answer_timeout", "answer_failed", "bridge_cancelled", "bridge_failed", "voice_session_configuration_invalid", "connection_project_mismatch", "outbound_connection_changed", "outbound_connection_unavailable", "telephony_binding_invalid", "telephony_binding_not_found", "telephony_binding_inactive", "telephony_binding_changed", "campaign_not_found", "campaign_cancelled", "campaign_completed", "campaign_failed", "origination_fence_not_recorded", "origination_reconciliation_timeout", "cancellation_reconciliation_timeout", and "provider_callback_timeout_cancellation_reconciliation_timeout".

revision
int

The monotonically increasing optimistic-concurrency revision. Required.

created_at

The Unix timestamp in seconds when the call job was created. Required.

updated_at

The Unix timestamp in seconds when the call job was last updated. Required.

Methods

as_dict

Return a dict that can be turned into json using json.dump.

clear

Remove all items from the dictionary.

copy
get

Get the value for key if key is in the dictionary, else default. :param str key: The key to look up. :param any default: The value to return if key is not in the dictionary. Defaults to None :returns: The value for key if key is in the dictionary, else default. :rtype: any

items
keys
pop

Removes specified key and return the corresponding value. :param str key: The key to pop. :param any default: The value to return if key is not in the dictionary :returns: The value corresponding to the key. :rtype: any :raises KeyError: If key is not found and default is not given.

popitem

Removes and returns some (key, value) pair :returns: The (key, value) pair. :rtype: tuple :raises KeyError: if the dictionary is empty.

setdefault

Return the value for key if key is in the dictionary; otherwise set the key to default and return default. :param str key: The key to look up. :param any default: The value to set if key is not in the dictionary :returns: The value for key if key is in the dictionary, else default. :rtype: any

update

Update the dictionary from a mapping or an iterable of key-value pairs. :param any args: Either a mapping object or an iterable of key-value pairs.

values

as_dict

Return a dict that can be turned into json using json.dump.

as_dict(*, exclude_readonly: bool = False) -> dict[str, Any]

Keyword-Only Parameters

Name Description
exclude_readonly

Whether to remove the readonly properties.

Default value: False

Returns

Type Description

A dict JSON compatible object

clear

Remove all items from the dictionary.

clear() -> None

copy

copy() -> Model

get

Get the value for key if key is in the dictionary, else default. :param str key: The key to look up. :param any default: The value to return if key is not in the dictionary. Defaults to None :returns: The value for key if key is in the dictionary, else default. :rtype: any

get(key: str, default: Any = None) -> Any

Parameters

Name Description
key
Required
default
Default value: None

items

items() -> ItemsView[str, Any]

Returns

Type Description

a set-like object providing a view on the mapping's items

keys

keys() -> KeysView[str]

Returns

Type Description

a set-like object providing a view on the mapping's keys

pop

Removes specified key and return the corresponding value. :param str key: The key to pop. :param any default: The value to return if key is not in the dictionary :returns: The value corresponding to the key. :rtype: any :raises KeyError: If key is not found and default is not given.

pop(key: str, default: ~typing.Any = <object object>) -> Any

Parameters

Name Description
key
Required
default

popitem

Removes and returns some (key, value) pair :returns: The (key, value) pair. :rtype: tuple :raises KeyError: if the dictionary is empty.

popitem() -> tuple[str, Any]

setdefault

Return the value for key if key is in the dictionary; otherwise set the key to default and return default. :param str key: The key to look up. :param any default: The value to set if key is not in the dictionary :returns: The value for key if key is in the dictionary, else default. :rtype: any

setdefault(key: str, default: ~typing.Any = <object object>) -> Any

Parameters

Name Description
key
Required
default

update

Update the dictionary from a mapping or an iterable of key-value pairs. :param any args: Either a mapping object or an iterable of key-value pairs.

update(*args: Any, **kwargs: Any) -> None

values

values() -> ValuesView[Any]

Returns

Type Description

an object providing a view on the mapping's values

Attributes

agent_name

The name of the voice agent used at execution time. Required.

agent_name: str

attempt_count

The number of provider attempts created so far. Required.

attempt_count: int

cancellation

The recorded cancellation request, when cancellation was requested.

cancellation: _models.TelephonyCallJobCancellation | None

connection_name

The Foundry connection name in the current project used to originate the call. Its category selects Twilio or Azure Communication Services / Teams Phone Extension. No inbound telephony binding is required. Required.

connection_name: str

created_at

The Unix timestamp in seconds when the call job was created. Required.

created_at: datetime

destination

The phone destination to call. Required.

destination: _models.TelephonyOutboundDestination

id

The service-generated call-job identifier. Required.

id: str

next_attempt_at

The Unix timestamp in seconds at which the next retry becomes eligible.

next_attempt_at: datetime | None

object

The object type. Always telephony.call_job. Required. Default value is "telephony.call_job".

object: Literal['telephony.call_job']

purpose

An optional customer-declared purpose for placing the call.

purpose: str | None

retry_policy

The frozen provider-attempt retry policy. Required.

retry_policy: _models.TelephonyOutboundRetryPolicy

revision

The monotonically increasing optimistic-concurrency revision. Required.

revision: int

schedule

The optional execution window.

schedule: _models.TelephonyCallJobSchedule | None

source

The caller identity used to originate the call. For a Twilio connection, provide an authorized E.164 phone number. For an Azure Communication Services / Teams Phone Extension connection, provide the Teams Resource Account object ID. The identity type is inferred from the connection category; originating does not change inbound routing. Required.

source: str

status

"accepted", "waiting_for_schedule", "queued", "dispatching", "in_progress", "waiting_for_retry", "cancellation_requested", "completed", "blocked", "expired", "failed", and "cancelled".

status: str | _models.TelephonyCallJobStatus

structured_inputs

Structured input values available to the agent and greeting for this call. Agent-declared inputs are validated against their schemas; omitted optional inputs may use their Agent-defined default values, while omitted required inputs are rejected. Additional inputs remain available as dynamic template variables.

structured_inputs: dict[str, Any] | None

terminal_reason

The stable service-generated reason for the overall outbound call job, which can span multiple provider attempts, when available. Interpret this with status: a queued job can retain a temporary dispatch-deferral reason. Additional string codes may be returned. Known values are: "no_answer", "no_answer_timeout", "answer_failed", "bridge_cancelled", "bridge_failed", "voice_session_configuration_invalid", "connection_project_mismatch", "outbound_connection_changed", "outbound_connection_unavailable", "telephony_binding_invalid", "telephony_binding_not_found", "telephony_binding_inactive", "telephony_binding_changed", "campaign_not_found", "campaign_cancelled", "campaign_completed", "campaign_failed", "origination_fence_not_recorded", "origination_reconciliation_timeout", "cancellation_reconciliation_timeout", and "provider_callback_timeout_cancellation_reconciliation_timeout".

terminal_reason: str | _models.TelephonyCallJobTerminalReason | None

updated_at

The Unix timestamp in seconds when the call job was last updated. Required.

updated_at: datetime