Skip to content

integrations/contact-center/talkdesk/dist

Interfaces

ConfiguredHandoffInput

Properties

idempotencyKey?
optional idempotencyKey?: string;
payload?
optional payload?: ProviderJsonObject;
query?
optional query?: Record<string, ProviderQueryValue>;

ProviderRestRetryOptions

Properties

attempts?
optional attempts?: number;
baseDelayMs?
optional baseDelayMs?: number;
maxDelayMs?
optional maxDelayMs?: number;
statusCodes?
optional statusCodes?: readonly number[];

TalkdeskClient

Properties

providerClient
providerClient: TalkdeskProviderClient;

Methods

createHandoff()
createHandoff(input?): Promise<ProviderJsonObject>;
Parameters
Parameter Type
input? ConfiguredHandoffInput
Returns

Promise\<ProviderJsonObject>

createTask()
createTask(input?): Promise<ProviderJsonObject>;
Parameters
Parameter Type
input? TalkdeskOperationInput
Returns

Promise\<ProviderJsonObject>

readiness()
readiness(): Promise<ProviderJsonObject>;
Returns

Promise\<ProviderJsonObject>

scheduleCallback()
scheduleCallback(input?): Promise<ProviderJsonObject>;
Parameters
Parameter Type
input? TalkdeskOperationInput
Returns

Promise\<ProviderJsonObject>


TalkdeskClientOptions

Extended by

Properties

accessToken?
optional accessToken?: string;
apiBaseUrl?
optional apiBaseUrl?: string;
apiKey?
optional apiKey?: string;
apiKeyHeaderName?
optional apiKeyHeaderName?: string;
authorizationHeader?
optional authorizationHeader?: string;
baseUrl?
optional baseUrl?: string;
defaultHandoffPath?
optional defaultHandoffPath?: string;
fetch?
optional fetch?: {
  (input, init?): Promise<Response>;
  (input, init?): Promise<Response>;
};
Call Signature
(input, init?): Promise<Response>;

MDN Reference

Parameters
Parameter Type
input URL | RequestInfo
init? RequestInit
Returns

Promise\<Response>

Call Signature
(input, init?): Promise<Response>;

MDN Reference

Parameters
Parameter Type
input string | Request | URL
init? RequestInit
Returns

Promise\<Response>

providerClient?
optional providerClient?: TalkdeskProviderClient;
readinessPath?
optional readinessPath?: string;
retry?
optional retry?: number | ProviderRestRetryOptions;
signal?
optional signal?: AbortSignal;
timeoutMs?
optional timeoutMs?: number;

TalkdeskIntegrationOptions

Extends

Properties

accessToken?
optional accessToken?: string;
Inherited from

TalkdeskClientOptions.accessToken

apiBaseUrl?
optional apiBaseUrl?: string;
Inherited from

TalkdeskClientOptions.apiBaseUrl

apiKey?
optional apiKey?: string;
Inherited from

TalkdeskClientOptions.apiKey

apiKeyHeaderName?
optional apiKeyHeaderName?: string;
Inherited from

TalkdeskClientOptions.apiKeyHeaderName

authorizationHeader?
optional authorizationHeader?: string;
Inherited from

TalkdeskClientOptions.authorizationHeader

baseUrl?
optional baseUrl?: string;
Inherited from

TalkdeskClientOptions.baseUrl

defaultHandoffPath?
optional defaultHandoffPath?: string;
Inherited from

TalkdeskClientOptions.defaultHandoffPath

fetch?
optional fetch?: {
  (input, init?): Promise<Response>;
  (input, init?): Promise<Response>;
};
Call Signature
(input, init?): Promise<Response>;

MDN Reference

Parameters
Parameter Type
input URL | RequestInfo
init? RequestInit
Returns

Promise\<Response>

Call Signature
(input, init?): Promise<Response>;

MDN Reference

Parameters
Parameter Type
input string | Request | URL
init? RequestInit
Returns

Promise\<Response>

Inherited from

TalkdeskClientOptions.fetch

providerClient?
optional providerClient?: TalkdeskProviderClient;
Inherited from

TalkdeskClientOptions.providerClient

readinessPath?
optional readinessPath?: string;
Inherited from

TalkdeskClientOptions.readinessPath

retry?
optional retry?: number | ProviderRestRetryOptions;
Inherited from

TalkdeskClientOptions.retry

signal?
optional signal?: AbortSignal;
Inherited from

TalkdeskClientOptions.signal

talkdeskClient?
optional talkdeskClient?: TalkdeskClient;
timeoutMs?
optional timeoutMs?: number;
Inherited from

TalkdeskClientOptions.timeoutMs


TalkdeskOperationInput

Extended by

Properties

body?
optional body?: ProviderJsonObject;
idempotencyKey?
optional idempotencyKey?: string;
query?
optional query?: Record<string, ProviderQueryValue>;

TalkdeskProviderClient

Methods

createHandoff()
createHandoff(input): Promise<ProviderJsonObject>;
Parameters
Parameter Type
input ConfiguredHandoffInput
Returns

Promise\<ProviderJsonObject>

createTask()
createTask(input): Promise<ProviderJsonObject>;
Parameters
Parameter Type
input TalkdeskReviewedOperationInput
Returns

Promise\<ProviderJsonObject>

readiness()?
optional readiness(): Promise<ProviderJsonObject>;
Returns

Promise\<ProviderJsonObject>

scheduleCallback()
scheduleCallback(input): Promise<ProviderJsonObject>;
Parameters
Parameter Type
input TalkdeskReviewedOperationInput
Returns

Promise\<ProviderJsonObject>


TalkdeskReviewedOperationInput

Extends

Properties

body?
optional body?: ProviderJsonObject;
Inherited from

TalkdeskOperationInput.body

idempotencyKey?
optional idempotencyKey?: string;
Inherited from

TalkdeskOperationInput.idempotencyKey

method
method: ProviderHttpMethod;
operationId
operationId: TalkdeskReviewedOperationId;
path
path: string;
query?
optional query?: Record<string, ProviderQueryValue>;
Inherited from

TalkdeskOperationInput.query

Type Aliases

ProviderJsonObject

type ProviderJsonObject = {
[key: string]: TalkdeskJsonValue;
};

Index Signature

[key: string]: TalkdeskJsonValue

TalkdeskJsonValue

type TalkdeskJsonValue =
  | string
  | number
  | boolean
  | null
  | ProviderJsonObject
  | readonly TalkdeskJsonValue[];

TalkdeskReviewedOperationId

type TalkdeskReviewedOperationId = "calls-callback-post" | "CreatingACase";

Functions

createTalkdeskClient()

function createTalkdeskClient(options?): TalkdeskClient;

Parameters

Parameter Type
options? TalkdeskClientOptions

Returns

TalkdeskClient


createTalkdeskIntegration()

function createTalkdeskIntegration(options?): DefinedIntegration<{
  capabilities: readonly [{
     capability: "handoff";
     exposesSensitiveData: true;
     providerObjects: readonly [{
        kind: "contactTransfer";
        label: "contactTransfer";
     }];
     requiresCredential: true;
     sideEffect: true;
   }, {
     capability: "schedule";
     exposesSensitiveData: true;
     providerObjects: readonly [{
        kind: "callback";
        label: "callback";
     }];
     requiresCredential: true;
     sideEffect: true;
   }, {
     capability: "create-provider-object";
     exposesSensitiveData: true;
     providerObjects: readonly [{
        kind: "contact-center-task";
        label: "Contact Center Task";
     }];
     requiresCredential: true;
     sideEffect: true;
  }];
  category: "contact-center";
  channelAudiences: readonly ["customer-facing", "internal-support", "mixed"];
  coverage: {
     evidence: readonly [{
        label: "Talkdesk public OpenAPI bundle";
        url: "https://api-docs.talkdeskapp.com/public-api";
      }, {
        label: "Talkdesk Callback API";
        url: "https://docs.talkdesk.com/docs/callback-api";
     }];
     notes: readonly ["No suitable official npm REST SDK was verified.", "Runtime calls use a built-in REST adapter when baseUrl/API credentials are supplied, with TalkdeskProviderClient available as an override."];
     scope: "support-workflow-subset";
  };
  credentialRequirements: readonly [{
     id: "talkdesk-api-root";
     label: "Talkdesk localized API root";
     required: true;
   }, {
     id: "talkdesk-api-access";
     label: "Talkdesk OAuth access";
     required: true;
   }, {
     id: "talkdesk-routing";
     label: "Talkdesk callback/case routing configuration";
     required: false;
  }];
  directions: readonly ["inbound-only", "outbound-only", "bidirectional"];
  id: "contact-center.talkdesk";
  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.callback.schedule";
           checksum: "sha256:aa27c72eff1b281fdebab70da85cb4cd30f98c37dd0465207f7bab00438be491";
           id: "calls-callback-post";
           method: "POST";
           path: "/calls/callback";
           source: "https://api-docs.talkdeskapp.com/public-api";
         }, {
           alias: "contact-center.task.create";
           checksum: "sha256:aa27c72eff1b281fdebab70da85cb4cd30f98c37dd0465207f7bab00438be491";
           id: "CreatingACase";
           method: "POST";
           path: "/cm/core/va/cases";
           source: "https://api-docs.talkdeskapp.com/public-api";
        }];
        implementationStrategy: "provider-rest-adapter";
        providerSdkDecision: {
           checkedAt: "2026-06-25";
           checkedPackages: readonly [{
              package: "@talkdesk/td-sdk";
              reason: "No public npm package exists under this likely official SDK name.";
              result: "not-published";
            }, {
              package: "@talkdesk/client-sdk";
              reason: "No public npm package exists under this likely official SDK name.";
              result: "not-published";
            }, {
              package: "@talkdesk/app-connect";
              reason: "No public npm package exists under this likely official SDK name.";
              result: "not-published";
           }];
           defaultRestPolicy: "fail-closed-provider-rest-adapter-with-typed-provider-client-override";
           result: "no-official-npm-rest-sdk";
           typedClientOverride: "TalkdeskProviderClient";
        };
        sdkDecision: "No suitable official npm REST SDK was verified; this package provides a built-in REST adapter with providerClient override.";
        verifiedAt: "2026-06-25";
     };
     manifestOnlySafe: true;
     providerRestAdapter: {
        adapterKind: "no-official-sdk-rest-adapter";
        providerClientOverride: "TalkdeskProviderClient";
        strategy: "provider-rest-adapter";
     };
     providerSdkDecision: {
        checkedAt: "2026-06-25";
        checkedPackages: readonly [{
           package: "@talkdesk/td-sdk";
           reason: "No public npm package exists under this likely official SDK name.";
           result: "not-published";
         }, {
           package: "@talkdesk/client-sdk";
           reason: "No public npm package exists under this likely official SDK name.";
           result: "not-published";
         }, {
           package: "@talkdesk/app-connect";
           reason: "No public npm package exists under this likely official SDK name.";
           result: "not-published";
        }];
        defaultRestPolicy: "fail-closed-provider-rest-adapter-with-typed-provider-client-override";
        result: "no-official-npm-rest-sdk";
        typedClientOverride: "TalkdeskProviderClient";
     };
  };
  name: "Talkdesk";
  operations: readonly [{
     alias: "contact-center.handoff.request";
     capability: "handoff";
     providerObject: "contactTransfer";
   }, {
     alias: "contact-center.callback.schedule";
     capability: "schedule";
     providerObject: "callback";
   }, {
     alias: "contact-center.task.create";
     capability: "create-provider-object";
     providerObject: "contact-center-task";
  }];
  packageName: "@cognidesk/integration-contact-center-talkdesk";
  provider: "talkdesk";
  trustLevel: "official";
}, unknown, {
  contact-center.callback.schedule: (input) => Promise<ProviderJsonObject>;
  contact-center.handoff.request: (input) => Promise<ProviderJsonObject>;
  contact-center.task.create: (input) => Promise<ProviderJsonObject>;
}>;

Parameters

Parameter Type
options? TalkdeskIntegrationOptions

Returns

DefinedIntegration\<{ capabilities: readonly [{ capability: "handoff"; exposesSensitiveData: true; providerObjects: readonly [{ kind: "contactTransfer"; label: "contactTransfer"; }]; requiresCredential: true; sideEffect: true; }, { capability: "schedule"; exposesSensitiveData: true; providerObjects: readonly [{ kind: "callback"; label: "callback"; }]; requiresCredential: true; sideEffect: true; }, { capability: "create-provider-object"; exposesSensitiveData: true; providerObjects: readonly [{ kind: "contact-center-task"; label: "Contact Center Task"; }]; requiresCredential: true; sideEffect: true; }]; category: "contact-center"; channelAudiences: readonly ["customer-facing", "internal-support", "mixed"]; coverage: { evidence: readonly [{ label: "Talkdesk public OpenAPI bundle"; url: "https://api-docs.talkdeskapp.com/public-api"; }, { label: "Talkdesk Callback API"; url: "https://docs.talkdesk.com/docs/callback-api"; }]; notes: readonly ["No suitable official npm REST SDK was verified.", "Runtime calls use a built-in REST adapter when baseUrl/API credentials are supplied, with TalkdeskProviderClient available as an override."]; scope: "support-workflow-subset"; }; credentialRequirements: readonly [{ id: "talkdesk-api-root"; label: "Talkdesk localized API root"; required: true; }, { id: "talkdesk-api-access"; label: "Talkdesk OAuth access"; required: true; }, { id: "talkdesk-routing"; label: "Talkdesk callback/case routing configuration"; required: false; }]; directions: readonly ["inbound-only", "outbound-only", "bidirectional"]; id: "contact-center.talkdesk"; 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.callback.schedule"; checksum: "sha256:aa27c72eff1b281fdebab70da85cb4cd30f98c37dd0465207f7bab00438be491"; id: "calls-callback-post"; method: "POST"; path: "/calls/callback"; source: "https://api-docs.talkdeskapp.com/public-api"; }, { alias: "contact-center.task.create"; checksum: "sha256:aa27c72eff1b281fdebab70da85cb4cd30f98c37dd0465207f7bab00438be491"; id: "CreatingACase"; method: "POST"; path: "/cm/core/va/cases"; source: "https://api-docs.talkdeskapp.com/public-api"; }]; implementationStrategy: "provider-rest-adapter"; providerSdkDecision: { checkedAt: "2026-06-25"; checkedPackages: readonly [{ package: "@talkdesk/td-sdk"; reason: "No public npm package exists under this likely official SDK name."; result: "not-published"; }, { package: "@talkdesk/client-sdk"; reason: "No public npm package exists under this likely official SDK name."; result: "not-published"; }, { package: "@talkdesk/app-connect"; reason: "No public npm package exists under this likely official SDK name."; result: "not-published"; }]; defaultRestPolicy: "fail-closed-provider-rest-adapter-with-typed-provider-client-override"; result: "no-official-npm-rest-sdk"; typedClientOverride: "TalkdeskProviderClient"; }; sdkDecision: "No suitable official npm REST SDK was verified; this package provides a built-in REST adapter with providerClient override."; verifiedAt: "2026-06-25"; }; manifestOnlySafe: true; providerRestAdapter: { adapterKind: "no-official-sdk-rest-adapter"; providerClientOverride: "TalkdeskProviderClient"; strategy: "provider-rest-adapter"; }; providerSdkDecision: { checkedAt: "2026-06-25"; checkedPackages: readonly [{ package: "@talkdesk/td-sdk"; reason: "No public npm package exists under this likely official SDK name."; result: "not-published"; }, { package: "@talkdesk/client-sdk"; reason: "No public npm package exists under this likely official SDK name."; result: "not-published"; }, { package: "@talkdesk/app-connect"; reason: "No public npm package exists under this likely official SDK name."; result: "not-published"; }]; defaultRestPolicy: "fail-closed-provider-rest-adapter-with-typed-provider-client-override"; result: "no-official-npm-rest-sdk"; typedClientOverride: "TalkdeskProviderClient"; }; }; name: "Talkdesk"; operations: readonly [{ alias: "contact-center.handoff.request"; capability: "handoff"; providerObject: "contactTransfer"; }, { alias: "contact-center.callback.schedule"; capability: "schedule"; providerObject: "callback"; }, { alias: "contact-center.task.create"; capability: "create-provider-object"; providerObject: "contact-center-task"; }]; packageName: "@cognidesk/integration-contact-center-talkdesk"; provider: "talkdesk"; trustLevel: "official"; }, unknown, { contact-center.callback.schedule: (input) => Promise\<ProviderJsonObject>; contact-center.handoff.request: (input) => Promise\<ProviderJsonObject>; contact-center.task.create: (input) => Promise\<ProviderJsonObject>; }>


createTalkdeskIntegrationOperationHandlers()

function createTalkdeskIntegrationOperationHandlers(options?): {
  contact-center.callback.schedule: (input) => Promise<ProviderJsonObject>;
  contact-center.handoff.request: (input) => Promise<ProviderJsonObject>;
  contact-center.task.create: (input) => Promise<ProviderJsonObject>;
};

Parameters

Parameter Type
options? TalkdeskIntegrationOptions

Returns

{
  contact-center.callback.schedule: (input) => Promise<ProviderJsonObject>;
  contact-center.handoff.request: (input) => Promise<ProviderJsonObject>;
  contact-center.task.create: (input) => Promise<ProviderJsonObject>;
}
Name Type
contact-center.callback.schedule() (input) => Promise\<ProviderJsonObject>
contact-center.handoff.request() (input) => Promise\<ProviderJsonObject>
contact-center.task.create() (input) => Promise\<ProviderJsonObject>

References

talkdeskProviderManifest

Re-exports talkdeskProviderManifest


talkdeskProviderManifestInput

Re-exports talkdeskProviderManifestInput


talkdeskSupportSlice

Re-exports talkdeskSupportSlice