integrations/contact-center/8x8/dist¶
Interfaces¶
ConfiguredHandoffInput¶
Properties¶
idempotencyKey?¶
payload?¶
query?¶
routing?¶
EightByEightAgentStatusRequest¶
Extended by¶
Properties¶
agent-status¶
status-code-item-id?¶
status-code-item-short-code?¶
status-code-list-id?¶
EightByEightClient¶
Properties¶
rawClient¶
Methods¶
createHandoff()¶
Parameters¶
| Parameter | Type |
|---|---|
input? |
ConfiguredHandoffInput |
Returns¶
Promise\<ProviderJsonObject>
endContact()¶
Parameters¶
| Parameter | Type |
|---|---|
input |
EightByEightEndContactInput |
Returns¶
Promise\<ProviderJsonObject>
readiness()¶
Parameters¶
| Parameter | Type |
|---|---|
input? |
EightByEightReadinessInput |
Returns¶
Promise\<ProviderJsonObject>
startContact()¶
Parameters¶
| Parameter | Type |
|---|---|
input |
EightByEightStartContactInput |
Returns¶
Promise\<ProviderJsonObject>
updateAgentStatus()¶
Parameters¶
| Parameter | Type |
|---|---|
input |
EightByEightUpdateAgentStatusInput |
Returns¶
Promise\<ProviderJsonObject>
EightByEightClientOptions¶
Extended by¶
Properties¶
accessToken?¶
apiBaseUrl?¶
apiKey?¶
apiKeyHeaderName?¶
authorizationHeader?¶
baseUrl?¶
defaultHandoffPath?¶
fetch?¶
Call Signature¶
Parameters¶
| Parameter | Type |
|---|---|
input |
URL | RequestInfo |
init? |
RequestInit |
Returns¶
Promise\<Response>
Call Signature¶
Parameters¶
| Parameter | Type |
|---|---|
input |
string | Request | URL |
init? |
RequestInit |
Returns¶
Promise\<Response>
rawClient?¶
readinessPath?¶
retry?¶
signal?¶
timeoutMs?¶
EightByEightEndContactInput¶
Properties¶
endPostProcessing?¶
idempotencyKey?¶
interactionId¶
tenantId¶
EightByEightIntegrationOptions¶
Extends¶
Properties¶
accessToken?¶
Inherited from¶
EightByEightClientOptions.accessToken
apiBaseUrl?¶
Inherited from¶
EightByEightClientOptions.apiBaseUrl
apiKey?¶
Inherited from¶
EightByEightClientOptions.apiKey
apiKeyHeaderName?¶
Inherited from¶
EightByEightClientOptions.apiKeyHeaderName
authorizationHeader?¶
Inherited from¶
EightByEightClientOptions.authorizationHeader
baseUrl?¶
Inherited from¶
EightByEightClientOptions.baseUrl
client?¶
defaultHandoffPath?¶
Inherited from¶
EightByEightClientOptions.defaultHandoffPath
fetch?¶
Call Signature¶
Parameters¶
| Parameter | Type |
|---|---|
input |
URL | RequestInfo |
init? |
RequestInit |
Returns¶
Promise\<Response>
Call Signature¶
Parameters¶
| Parameter | Type |
|---|---|
input |
string | Request | URL |
init? |
RequestInit |
Returns¶
Promise\<Response>
Inherited from¶
EightByEightClientOptions.fetch
rawClient?¶
Inherited from¶
EightByEightClientOptions.rawClient
readinessPath?¶
Inherited from¶
EightByEightClientOptions.readinessPath
retry?¶
Inherited from¶
EightByEightClientOptions.retry
signal?¶
Inherited from¶
EightByEightClientOptions.signal
timeoutMs?¶
Inherited from¶
EightByEightClientOptions.timeoutMs
EightByEightPhoneInteraction¶
Extended by¶
Properties¶
agentId¶
callerId¶
ctlUserData?¶
dialplanId?¶
extTransactionData?¶
forceCall?¶
number¶
prefix¶
queueId?¶
EightByEightRawClient¶
Methods¶
createHandoff()¶
Parameters¶
| Parameter | Type |
|---|---|
input? |
ConfiguredHandoffInput |
Returns¶
Promise\<ProviderJsonObject>
endContact()¶
Parameters¶
| Parameter | Type |
|---|---|
input |
EightByEightEndContactInput |
Returns¶
Promise\<ProviderJsonObject>
readiness()?¶
Parameters¶
| Parameter | Type |
|---|---|
input? |
EightByEightReadinessInput |
Returns¶
Promise\<ProviderJsonObject>
startContact()¶
Parameters¶
| Parameter | Type |
|---|---|
input |
EightByEightStartContactInput |
Returns¶
Promise\<ProviderJsonObject>
updateAgentStatus()¶
Parameters¶
| Parameter | Type |
|---|---|
input |
EightByEightUpdateAgentStatusInput |
Returns¶
Promise\<ProviderJsonObject>
EightByEightReadinessInput¶
Properties¶
metadata?¶
probe?¶
EightByEightStartContactInput¶
Extends¶
Properties¶
agentId¶
Inherited from¶
EightByEightPhoneInteraction.agentId
callerId¶
Inherited from¶
EightByEightPhoneInteraction.callerId
ctlUserData?¶
Inherited from¶
EightByEightPhoneInteraction.ctlUserData
dialplanId?¶
Inherited from¶
EightByEightPhoneInteraction.dialplanId
extTransactionData?¶
Inherited from¶
EightByEightPhoneInteraction.extTransactionData
forceCall?¶
Inherited from¶
EightByEightPhoneInteraction.forceCall
idempotencyKey?¶
number¶
Inherited from¶
EightByEightPhoneInteraction.number
prefix¶
Inherited from¶
EightByEightPhoneInteraction.prefix
queueId?¶
Inherited from¶
EightByEightPhoneInteraction.queueId
tenantId¶
EightByEightUpdateAgentStatusInput¶
Extends¶
Properties¶
agent-status¶
Inherited from¶
EightByEightAgentStatusRequest.agent-status
agentId¶
idempotencyKey?¶
status-code-item-id?¶
Inherited from¶
EightByEightAgentStatusRequest.status-code-item-id
status-code-item-short-code?¶
Inherited from¶
EightByEightAgentStatusRequest.status-code-item-short-code
status-code-list-id?¶
Inherited from¶
EightByEightAgentStatusRequest.status-code-list-id
tenantId¶
EightByEightUserParam¶
Properties¶
name¶
value¶
ProviderRestRetryOptions¶
Properties¶
attempts?¶
baseDelayMs?¶
maxDelayMs?¶
statusCodes?¶
Type Aliases¶
EightByEightAgentStatus¶
EightByEightPhoneNumberValue¶
EightByEightProviderPayload¶
ProviderJsonObject¶
Functions¶
createEightByEightClient()¶
Parameters¶
| Parameter | Type |
|---|---|
options? |
EightByEightClientOptions |
Returns¶
createEightByEightIntegration()¶
function createEightByEightIntegration(options?): DefinedIntegration<{
capabilities: readonly [{
capability: "handoff";
exposesSensitiveData: true;
providerObjects: readonly [{
kind: "contactTransfer";
label: "contactTransfer";
}];
requiresCredential: true;
sideEffect: true;
}, {
capability: "send";
exposesSensitiveData: true;
providerObjects: readonly [{
kind: "contact";
label: "contact";
}];
requiresCredential: true;
sideEffect: true;
}, {
capability: "update-provider-object";
exposesSensitiveData: true;
providerObjects: readonly [{
kind: "contact";
label: "contact";
}];
requiresCredential: true;
sideEffect: true;
}, {
capability: "update-provider-object";
exposesSensitiveData: true;
providerObjects: readonly [{
kind: "agent";
label: "agent";
}];
requiresCredential: true;
sideEffect: true;
}];
category: "contact-center";
channelAudiences: readonly ["customer-facing", "internal-support", "mixed"];
coverage: {
evidence: readonly [{
label: "8x8 Contact Center Call API OpenAPI";
url: "https://raw.githubusercontent.com/8x8Cloud/public-developer-docs/master/docs_oas/actions-events/contact_center_call_api.json";
}, {
label: "8x8 Contact Center Agent Status OpenAPI";
url: "https://raw.githubusercontent.com/8x8Cloud/public-developer-docs/master/docs_oas/actions-events/contact_center_agent_status_api.json";
}, {
label: "8x8 Partner SDK";
url: "https://developer.8x8.com/tech-partner/docs/partner-sdk-integration-guide";
}];
notes: readonly ["No suitable official server-side JavaScript Contact Center SDK was verified.", "The official @8x8/pui-partner-comm package is a partner iframe communication SDK, not a backend Contact Center API client.", "The runtime constructs a fail-closed built-in REST adapter from baseUrl/API credentials and keeps rawClient available as an override.", "OpenAPI operation IDs are retained as the reviewed path allowlist for package-owned REST calls."];
scope: "support-workflow-subset";
};
credentialRequirements: readonly [{
id: "8x8-contact-center-api-base";
label: "8x8 Contact Center API base URL";
required: true;
}, {
id: "8x8-contact-center-api-access";
label: "8x8 Contact Center API access";
required: true;
}, {
id: "8x8-contact-center-routing";
label: "8x8 queue/campaign routing configuration";
required: false;
}];
directions: readonly ["inbound-only", "outbound-only", "bidirectional"];
id: "contact-center.8x8";
maintainers: readonly [{
name: "Cognidesk";
type: "official";
}];
metadata: {
implementation: {
adapterKind: "no-official-sdk-rest-adapter";
allowedOperations: readonly [{
alias: "contact-center.handoff.request";
checksum: "not-applicable-host-configured";
id: "configuredHandoff";
method: "POST";
path: "host-configured";
source: "provider-rest-adapter";
}, {
alias: "contact-center.contact.start";
checksum: "sha256:87445b35060c46e8e70b23636c77d33a1ff2558eb526aefb45447752132cfe62";
id: "placePhoneCall";
method: "POST";
path: "/tenants/{tenantId}/calls";
source: "https://raw.githubusercontent.com/8x8Cloud/public-developer-docs/master/docs_oas/actions-events/contact_center_call_api.json";
}, {
alias: "contact-center.contact.end";
checksum: "sha256:87445b35060c46e8e70b23636c77d33a1ff2558eb526aefb45447752132cfe62";
id: "deletePhoneInteraction";
method: "DELETE";
path: "/tenants/{tenantId}/calls/{interactionId}";
source: "https://raw.githubusercontent.com/8x8Cloud/public-developer-docs/master/docs_oas/actions-events/contact_center_call_api.json";
}, {
alias: "contact-center.agent.status.update";
checksum: "sha256:89ba77f48f7a471fb21c34dfb0c7170c1a90b7ea08da8de65981049ade09c2ae";
id: "setagentstatus";
method: "PUT";
path: "/tenants/{tenantId}/agentstatus/agents/{agentId}";
source: "https://raw.githubusercontent.com/8x8Cloud/public-developer-docs/master/docs_oas/actions-events/contact_center_agent_status_api.json";
}];
implementationStrategy: "provider-rest-adapter";
providerSdkDecision: {
checkedAt: "2026-06-25";
checkedPackages: readonly [{
checkedVersion: "0.15.0";
license: "SEE LICENSE IN LICENSE.md";
package: "@8x8/pui-partner-comm";
reason: "Official package is for 8x8 platform-ui partner iframe communication and does not expose server-side Contact Center REST operations.";
result: "browser-partner-iframe-sdk-not-contact-center-api-client";
}];
defaultRestPolicy: "fail-closed-built-in-rest-adapter-with-typed-raw-client-override";
result: "no-suitable-server-side-contact-center-sdk";
typedClientOverride: "EightByEightRawClient";
};
runtimePolicy: {
defaultClient: "built-in-provider-rest-adapter";
failClosed: true;
override: "createEightByEightClient({ rawClient })";
requestOptions: readonly ["baseUrl", "accessToken", "authorizationHeader", "apiKey", "apiKeyHeaderName", "fetch", "signal", "timeoutMs", "retry"];
};
sdkDecision: "No suitable official server-side JavaScript Contact Center SDK was verified. The official @8x8/pui-partner-comm SDK is for iframe partner integrations, so this package provides a fail-closed REST adapter with a rawClient override.";
verifiedAt: "2026-06-25";
};
manifestOnlySafe: true;
providerRestAdapter: {
adapterKind: "no-official-sdk-rest-adapter";
failClosed: true;
rawClientOverride: "EightByEightClient.rawClient";
strategy: "provider-rest-adapter";
};
providerSdkDecision: {
checkedAt: "2026-06-25";
checkedPackages: readonly [{
checkedVersion: "0.15.0";
license: "SEE LICENSE IN LICENSE.md";
package: "@8x8/pui-partner-comm";
reason: "Official package is for 8x8 platform-ui partner iframe communication and does not expose server-side Contact Center REST operations.";
result: "browser-partner-iframe-sdk-not-contact-center-api-client";
}];
defaultRestPolicy: "fail-closed-built-in-rest-adapter-with-typed-raw-client-override";
result: "no-suitable-server-side-contact-center-sdk";
typedClientOverride: "EightByEightRawClient";
};
};
name: "8x8 Contact Center";
operations: readonly [{
alias: "contact-center.handoff.request";
capability: "handoff";
providerObject: "contactTransfer";
}, {
alias: "contact-center.contact.start";
capability: "send";
providerObject: "contact";
}, {
alias: "contact-center.contact.end";
capability: "update-provider-object";
providerObject: "contact";
}, {
alias: "contact-center.agent.status.update";
capability: "update-provider-object";
providerObject: "agent";
}];
packageName: "@cognidesk/integration-contact-center-8x8";
provider: "8x8";
trustLevel: "official";
}, unknown, {
contact-center.agent.status.update: (input) => Promise<ProviderJsonObject>;
contact-center.contact.end: (input) => Promise<ProviderJsonObject>;
contact-center.contact.start: (input) => Promise<ProviderJsonObject>;
contact-center.handoff.request: (input) => Promise<ProviderJsonObject>;
}>;
Parameters¶
| Parameter | Type |
|---|---|
options? |
EightByEightIntegrationOptions |
Returns¶
DefinedIntegration\<{
capabilities: readonly [{
capability: "handoff";
exposesSensitiveData: true;
providerObjects: readonly [{
kind: "contactTransfer";
label: "contactTransfer";
}];
requiresCredential: true;
sideEffect: true;
}, {
capability: "send";
exposesSensitiveData: true;
providerObjects: readonly [{
kind: "contact";
label: "contact";
}];
requiresCredential: true;
sideEffect: true;
}, {
capability: "update-provider-object";
exposesSensitiveData: true;
providerObjects: readonly [{
kind: "contact";
label: "contact";
}];
requiresCredential: true;
sideEffect: true;
}, {
capability: "update-provider-object";
exposesSensitiveData: true;
providerObjects: readonly [{
kind: "agent";
label: "agent";
}];
requiresCredential: true;
sideEffect: true;
}];
category: "contact-center";
channelAudiences: readonly ["customer-facing", "internal-support", "mixed"];
coverage: {
evidence: readonly [{
label: "8x8 Contact Center Call API OpenAPI";
url: "https://raw.githubusercontent.com/8x8Cloud/public-developer-docs/master/docs_oas/actions-events/contact_center_call_api.json";
}, {
label: "8x8 Contact Center Agent Status OpenAPI";
url: "https://raw.githubusercontent.com/8x8Cloud/public-developer-docs/master/docs_oas/actions-events/contact_center_agent_status_api.json";
}, {
label: "8x8 Partner SDK";
url: "https://developer.8x8.com/tech-partner/docs/partner-sdk-integration-guide";
}];
notes: readonly ["No suitable official server-side JavaScript Contact Center SDK was verified.", "The official @8x8/pui-partner-comm package is a partner iframe communication SDK, not a backend Contact Center API client.", "The runtime constructs a fail-closed built-in REST adapter from baseUrl/API credentials and keeps rawClient available as an override.", "OpenAPI operation IDs are retained as the reviewed path allowlist for package-owned REST calls."];
scope: "support-workflow-subset";
};
credentialRequirements: readonly [{
id: "8x8-contact-center-api-base";
label: "8x8 Contact Center API base URL";
required: true;
}, {
id: "8x8-contact-center-api-access";
label: "8x8 Contact Center API access";
required: true;
}, {
id: "8x8-contact-center-routing";
label: "8x8 queue/campaign routing configuration";
required: false;
}];
directions: readonly ["inbound-only", "outbound-only", "bidirectional"];
id: "contact-center.8x8";
maintainers: readonly [{
name: "Cognidesk";
type: "official";
}];
metadata: {
implementation: {
adapterKind: "no-official-sdk-rest-adapter";
allowedOperations: readonly [{
alias: "contact-center.handoff.request";
checksum: "not-applicable-host-configured";
id: "configuredHandoff";
method: "POST";
path: "host-configured";
source: "provider-rest-adapter";
}, {
alias: "contact-center.contact.start";
checksum: "sha256:87445b35060c46e8e70b23636c77d33a1ff2558eb526aefb45447752132cfe62";
id: "placePhoneCall";
method: "POST";
path: "/tenants/{tenantId}/calls";
source: "https://raw.githubusercontent.com/8x8Cloud/public-developer-docs/master/docs_oas/actions-events/contact_center_call_api.json";
}, {
alias: "contact-center.contact.end";
checksum: "sha256:87445b35060c46e8e70b23636c77d33a1ff2558eb526aefb45447752132cfe62";
id: "deletePhoneInteraction";
method: "DELETE";
path: "/tenants/{tenantId}/calls/{interactionId}";
source: "https://raw.githubusercontent.com/8x8Cloud/public-developer-docs/master/docs_oas/actions-events/contact_center_call_api.json";
}, {
alias: "contact-center.agent.status.update";
checksum: "sha256:89ba77f48f7a471fb21c34dfb0c7170c1a90b7ea08da8de65981049ade09c2ae";
id: "setagentstatus";
method: "PUT";
path: "/tenants/{tenantId}/agentstatus/agents/{agentId}";
source: "https://raw.githubusercontent.com/8x8Cloud/public-developer-docs/master/docs_oas/actions-events/contact_center_agent_status_api.json";
}];
implementationStrategy: "provider-rest-adapter";
providerSdkDecision: {
checkedAt: "2026-06-25";
checkedPackages: readonly [{
checkedVersion: "0.15.0";
license: "SEE LICENSE IN LICENSE.md";
package: "@8x8/pui-partner-comm";
reason: "Official package is for 8x8 platform-ui partner iframe communication and does not expose server-side Contact Center REST operations.";
result: "browser-partner-iframe-sdk-not-contact-center-api-client";
}];
defaultRestPolicy: "fail-closed-built-in-rest-adapter-with-typed-raw-client-override";
result: "no-suitable-server-side-contact-center-sdk";
typedClientOverride: "EightByEightRawClient";
};
runtimePolicy: {
defaultClient: "built-in-provider-rest-adapter";
failClosed: true;
override: "createEightByEightClient({ rawClient })";
requestOptions: readonly ["baseUrl", "accessToken", "authorizationHeader", "apiKey", "apiKeyHeaderName", "fetch", "signal", "timeoutMs", "retry"];
};
sdkDecision: "No suitable official server-side JavaScript Contact Center SDK was verified. The official @8x8/pui-partner-comm SDK is for iframe partner integrations, so this package provides a fail-closed REST adapter with a rawClient override.";
verifiedAt: "2026-06-25";
};
manifestOnlySafe: true;
providerRestAdapter: {
adapterKind: "no-official-sdk-rest-adapter";
failClosed: true;
rawClientOverride: "EightByEightClient.rawClient";
strategy: "provider-rest-adapter";
};
providerSdkDecision: {
checkedAt: "2026-06-25";
checkedPackages: readonly [{
checkedVersion: "0.15.0";
license: "SEE LICENSE IN LICENSE.md";
package: "@8x8/pui-partner-comm";
reason: "Official package is for 8x8 platform-ui partner iframe communication and does not expose server-side Contact Center REST operations.";
result: "browser-partner-iframe-sdk-not-contact-center-api-client";
}];
defaultRestPolicy: "fail-closed-built-in-rest-adapter-with-typed-raw-client-override";
result: "no-suitable-server-side-contact-center-sdk";
typedClientOverride: "EightByEightRawClient";
};
};
name: "8x8 Contact Center";
operations: readonly [{
alias: "contact-center.handoff.request";
capability: "handoff";
providerObject: "contactTransfer";
}, {
alias: "contact-center.contact.start";
capability: "send";
providerObject: "contact";
}, {
alias: "contact-center.contact.end";
capability: "update-provider-object";
providerObject: "contact";
}, {
alias: "contact-center.agent.status.update";
capability: "update-provider-object";
providerObject: "agent";
}];
packageName: "@cognidesk/integration-contact-center-8x8";
provider: "8x8";
trustLevel: "official";
}, unknown, {
contact-center.agent.status.update: (input) => Promise\<ProviderJsonObject>;
contact-center.contact.end: (input) => Promise\<ProviderJsonObject>;
contact-center.contact.start: (input) => Promise\<ProviderJsonObject>;
contact-center.handoff.request: (input) => Promise\<ProviderJsonObject>;
}>
createEightByEightOperationHandlers()¶
function createEightByEightOperationHandlers(options?): {
contact-center.agent.status.update: (input) => Promise<ProviderJsonObject>;
contact-center.contact.end: (input) => Promise<ProviderJsonObject>;
contact-center.contact.start: (input) => Promise<ProviderJsonObject>;
contact-center.handoff.request: (input) => Promise<ProviderJsonObject>;
};
Parameters¶
| Parameter | Type |
|---|---|
options? |
EightByEightIntegrationOptions |
Returns¶
{
contact-center.agent.status.update: (input) => Promise<ProviderJsonObject>;
contact-center.contact.end: (input) => Promise<ProviderJsonObject>;
contact-center.contact.start: (input) => Promise<ProviderJsonObject>;
contact-center.handoff.request: (input) => Promise<ProviderJsonObject>;
}
| Name | Type |
|---|---|
contact-center.agent.status.update() |
(input) => Promise\<ProviderJsonObject> |
contact-center.contact.end() |
(input) => Promise\<ProviderJsonObject> |
contact-center.contact.start() |
(input) => Promise\<ProviderJsonObject> |
contact-center.handoff.request() |
(input) => Promise\<ProviderJsonObject> |
References¶
eightByEightProviderManifest¶
Re-exports eightByEightProviderManifest
eightByEightProviderManifestInput¶
Re-exports eightByEightProviderManifestInput
eightByEightSupportSlice¶
Re-exports eightByEightSupportSlice