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
|
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
|
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
|
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
|
The service-generated call-job identifier. Required. |
|
object
|
The object type. Always |
|
agent_name
|
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
|
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 |
|
revision
|
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