Skip to content

integrations/contact-center/five9/dist

Interfaces

ConfiguredHandoffInput

Properties

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

Five9Client

Properties

providerClient
providerClient: Five9RawClient;
rawClient
rawClient: Five9RawClient;

Methods

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

Promise\<ProviderJsonObject>

readiness()
readiness(input?): Promise<ProviderJsonObject>;
Parameters
Parameter Type
input? Five9ReadinessInput
Returns

Promise\<ProviderJsonObject>


Five9ClientOptions

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?: Five9RawClient;
rawClient?
optional rawClient?: Five9RawClient;
readinessPath?
optional readinessPath?: string;
retry?
optional retry?: number | ProviderRestRetryOptions;
signal?
optional signal?: AbortSignal;
timeoutMs?
optional timeoutMs?: number;

Five9IntegrationOptions

Extends

Properties

accessToken?
optional accessToken?: string;
Inherited from

Five9ClientOptions.accessToken

apiBaseUrl?
optional apiBaseUrl?: string;
Inherited from

Five9ClientOptions.apiBaseUrl

apiKey?
optional apiKey?: string;
Inherited from

Five9ClientOptions.apiKey

apiKeyHeaderName?
optional apiKeyHeaderName?: string;
Inherited from

Five9ClientOptions.apiKeyHeaderName

authorizationHeader?
optional authorizationHeader?: string;
Inherited from

Five9ClientOptions.authorizationHeader

baseUrl?
optional baseUrl?: string;
Inherited from

Five9ClientOptions.baseUrl

client?
optional client?: Five9Client;
defaultHandoffPath?
optional defaultHandoffPath?: string;
Inherited from

Five9ClientOptions.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

Five9ClientOptions.fetch

providerClient?
optional providerClient?: Five9RawClient;
Inherited from

Five9ClientOptions.providerClient

rawClient?
optional rawClient?: Five9RawClient;
Inherited from

Five9ClientOptions.rawClient

readinessPath?
optional readinessPath?: string;
Inherited from

Five9ClientOptions.readinessPath

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

Five9ClientOptions.retry

signal?
optional signal?: AbortSignal;
Inherited from

Five9ClientOptions.signal

timeoutMs?
optional timeoutMs?: number;
Inherited from

Five9ClientOptions.timeoutMs


Five9RawClient

Methods

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

Promise\<ProviderJsonObject>

readiness()?
optional readiness(input?): Promise<ProviderJsonObject>;
Parameters
Parameter Type
input? Five9ReadinessInput
Returns

Promise\<ProviderJsonObject>


Five9ReadinessInput

Properties

signal?
optional signal?: AbortSignal;

ProviderRestRetryOptions

Properties

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

Type Aliases

Five9ProviderClient

type Five9ProviderClient = Five9RawClient;

ProviderJsonObject

type ProviderJsonObject = Record<string, unknown>;

Functions

createFive9Client()

function createFive9Client(options?): Five9Client;

Parameters

Parameter Type
options? Five9ClientOptions

Returns

Five9Client


createFive9Integration()

function createFive9Integration(options?): DefinedIntegration<{
  capabilities: readonly [{
     capability: "handoff";
     exposesSensitiveData: true;
     providerObjects: readonly [{
        kind: "contactTransfer";
        label: "contactTransfer";
     }];
     requiresCredential: true;
     sideEffect: true;
  }];
  category: "contact-center";
  channelAudiences: readonly ["customer-facing", "internal-support", "mixed"];
  coverage: {
     evidence: readonly [{
        label: "Five9 Contact Center APIs and SDKs";
        url: "https://www.five9.com/products/capabilities/call-center-apis-and-sdks";
      }, {
        label: "Five9 CRM SDK JSDoc";
        url: "https://cdn.prod.us.five9.net/stable/crm-sdk-lib/doc/index.html";
      }, {
        label: "npm five9 package";
        url: "https://www.npmjs.com/package/five9";
     }];
     notes: readonly ["No suitable official backend JavaScript/TypeScript SDK was verified.", "Runtime calls use a built-in REST adapter only when baseUrl/API credentials and host-configured operation paths are supplied, with Five9ProviderClient available as a typed host-client override."];
     scope: "support-workflow-subset";
  };
  credentialRequirements: readonly [{
     id: "five9-api-base";
     label: "Five9 API base URL";
     required: true;
   }, {
     id: "five9-api-access";
     label: "Five9 API access";
     required: true;
   }, {
     id: "five9-routing";
     label: "Five9 skill/campaign routing configuration";
     required: false;
  }];
  directions: readonly ["inbound-only", "outbound-only", "bidirectional"];
  id: "contact-center.five9";
  maintainers: readonly [{
     name: "Cognidesk";
     type: "official";
  }];
  metadata: {
     checkedProviderSdk: {
        candidates: readonly [{
           checkedVersion: "0.1.3";
           package: "five9";
           reason: "The npm package is a third-party Node module last published in 2017, not an official maintained Five9 backend SDK.";
           result: "third-party-stale";
           source: "https://www.npmjs.com/package/five9";
         }, {
           checkedVersion: "7.2.0";
           package: "uniphore-five9-messaging-api-client-library";
           reason: "The npm package is maintained by Uniphore and targets a messaging API client surface rather than an official Five9 contact-center runtime SDK.";
           result: "third-party-messaging-specific";
           source: "https://www.npmjs.com/package/uniphore-five9-messaging-api-client-library";
         }, {
           package: "Five9 CRM SDK";
           reason: "Five9's JavaScript CRM SDK is loaded from Five9's CDN and integrates browser pages with Agent Desktop Toolkit through window.Five9.CrmSdk.";
           result: "not-backend-runtime-sdk";
           source: "https://cdn.prod.us.five9.net/stable/crm-sdk-lib/doc/index.html";
        }];
        checkedAt: "2026-06-25";
        officialRuntimeSdkAvailable: false;
        verdict: "no-official-sdk-rest-adapter";
     };
     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";
        }];
        defaultClientPolicy: "configured-rest-default-with-host-client-override";
        failClosedWithoutHostConfig: true;
        implementationStrategy: "provider-rest-adapter";
        officialRuntimeSdkAvailable: false;
        providerClientInterface: "Five9ProviderClient";
        providerSdkDecision: {
           checkedAt: "2026-06-25";
           checkedPackages: readonly [{
              checkedVersion: "0.1.3";
              package: "five9";
              reason: "Third-party package last published years ago, not an official maintained Five9 runtime SDK.";
              result: "third-party-stale-node-module";
            }, {
              checkedVersion: "7.2.0";
              license: "ISC";
              package: "uniphore-five9-messaging-api-client-library";
              reason: "Uniphore-maintained messaging client, not an official Five9 contact-center runtime SDK for the declared handoff surface.";
              result: "third-party-messaging-specific-client";
            }, {
              package: "Five9 CRM SDK";
              reason: "Five9 JavaScript CRM SDK is loaded from Five9 CDN for browser pages integrated with Agent Desktop Toolkit.";
              result: "browser-agent-desktop-cdn-sdk-not-node-runtime";
           }];
           defaultRestPolicy: "fail-closed-configured-rest-adapter-with-typed-provider-client-override";
           result: "no-suitable-official-server-side-sdk";
           typedClientOverride: "Five9ProviderClient";
        };
        sdkDecision: "No suitable official backend JavaScript/TypeScript SDK was verified; five9@0.1.3 is third-party and stale, Uniphore's package is third-party and messaging-specific, and Five9 CRM SDK is browser/ADT-oriented.";
        verifiedAt: "2026-06-25";
     };
     manifestOnlySafe: true;
     providerClient: {
        defaultClientPolicy: "configured-rest-default-with-host-client-override";
        importPolicy: "runtime-entrypoint-only";
        interface: "Five9ProviderClient";
        package: "built-in-provider-rest-adapter";
        rawClientAlias: "Five9RawClient";
        sdkDecision: {
           checkedAt: "2026-06-25";
           result: "no-official-sdk-rest-adapter";
        };
     };
     providerRestAdapter: {
        adapterKind: "no-official-sdk-rest-adapter";
        defaultClientPolicy: "configured-rest-default-with-host-client-override";
        failClosedWithoutBaseUrl: true;
        failClosedWithoutConfiguredPath: true;
        providerClientOverride: "Five9ProviderClient";
        rawClientOverride: "Five9RawClient";
        strategy: "provider-rest-adapter";
     };
     providerRestAdapterException: {
        adapterKind: "no-official-sdk-rest-adapter";
        allowedDefaultRuntime: "built-in-rest-adapter";
        failClosed: true;
        guardrails: readonly ["Keep Five9 calls behind Five9ProviderClient or the built-in REST adapter until an official maintained Node/TypeScript Five9 runtime SDK exists.", "Require baseUrl and host-configured operation paths before the built-in REST adapter can call fetch.", "If an official maintained runtime SDK is adopted later, switch implementationStrategy away from provider-rest-adapter and add a normal package.json runtime dependency."];
        hostSdkPath: "Five9ProviderClient";
        reason: "No maintained official Five9 Node/TypeScript backend runtime SDK was verified for the declared contact-center handoff workflow; documented Five9 JavaScript SDK surfaces are browser/ADT-oriented.";
        reviewedAt: "2026-06-25";
        status: "accepted";
     };
     providerSdkDecision: {
        checkedAt: "2026-06-25";
        checkedPackages: readonly [{
           checkedVersion: "0.1.3";
           package: "five9";
           reason: "Third-party package last published years ago, not an official maintained Five9 runtime SDK.";
           result: "third-party-stale-node-module";
         }, {
           checkedVersion: "7.2.0";
           license: "ISC";
           package: "uniphore-five9-messaging-api-client-library";
           reason: "Uniphore-maintained messaging client, not an official Five9 contact-center runtime SDK for the declared handoff surface.";
           result: "third-party-messaging-specific-client";
         }, {
           package: "Five9 CRM SDK";
           reason: "Five9 JavaScript CRM SDK is loaded from Five9 CDN for browser pages integrated with Agent Desktop Toolkit.";
           result: "browser-agent-desktop-cdn-sdk-not-node-runtime";
        }];
        defaultRestPolicy: "fail-closed-configured-rest-adapter-with-typed-provider-client-override";
        result: "no-suitable-official-server-side-sdk";
        typedClientOverride: "Five9ProviderClient";
     };
  };
  name: "Five9";
  operations: readonly [{
     alias: "contact-center.handoff.request";
     capability: "handoff";
     providerObject: "contactTransfer";
  }];
  packageName: "@cognidesk/integration-contact-center-five9";
  provider: "five9";
  trustLevel: "official";
}, unknown, {
  contact-center.handoff.request: (input) => Promise<ProviderJsonObject>;
}>;

Parameters

Parameter Type
options? Five9IntegrationOptions

Returns

DefinedIntegration\<{ capabilities: readonly [{ capability: "handoff"; exposesSensitiveData: true; providerObjects: readonly [{ kind: "contactTransfer"; label: "contactTransfer"; }]; requiresCredential: true; sideEffect: true; }]; category: "contact-center"; channelAudiences: readonly ["customer-facing", "internal-support", "mixed"]; coverage: { evidence: readonly [{ label: "Five9 Contact Center APIs and SDKs"; url: "https://www.five9.com/products/capabilities/call-center-apis-and-sdks"; }, { label: "Five9 CRM SDK JSDoc"; url: "https://cdn.prod.us.five9.net/stable/crm-sdk-lib/doc/index.html"; }, { label: "npm five9 package"; url: "https://www.npmjs.com/package/five9"; }]; notes: readonly ["No suitable official backend JavaScript/TypeScript SDK was verified.", "Runtime calls use a built-in REST adapter only when baseUrl/API credentials and host-configured operation paths are supplied, with Five9ProviderClient available as a typed host-client override."]; scope: "support-workflow-subset"; }; credentialRequirements: readonly [{ id: "five9-api-base"; label: "Five9 API base URL"; required: true; }, { id: "five9-api-access"; label: "Five9 API access"; required: true; }, { id: "five9-routing"; label: "Five9 skill/campaign routing configuration"; required: false; }]; directions: readonly ["inbound-only", "outbound-only", "bidirectional"]; id: "contact-center.five9"; maintainers: readonly [{ name: "Cognidesk"; type: "official"; }]; metadata: { checkedProviderSdk: { candidates: readonly [{ checkedVersion: "0.1.3"; package: "five9"; reason: "The npm package is a third-party Node module last published in 2017, not an official maintained Five9 backend SDK."; result: "third-party-stale"; source: "https://www.npmjs.com/package/five9"; }, { checkedVersion: "7.2.0"; package: "uniphore-five9-messaging-api-client-library"; reason: "The npm package is maintained by Uniphore and targets a messaging API client surface rather than an official Five9 contact-center runtime SDK."; result: "third-party-messaging-specific"; source: "https://www.npmjs.com/package/uniphore-five9-messaging-api-client-library"; }, { package: "Five9 CRM SDK"; reason: "Five9's JavaScript CRM SDK is loaded from Five9's CDN and integrates browser pages with Agent Desktop Toolkit through window.Five9.CrmSdk."; result: "not-backend-runtime-sdk"; source: "https://cdn.prod.us.five9.net/stable/crm-sdk-lib/doc/index.html"; }]; checkedAt: "2026-06-25"; officialRuntimeSdkAvailable: false; verdict: "no-official-sdk-rest-adapter"; }; 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"; }]; defaultClientPolicy: "configured-rest-default-with-host-client-override"; failClosedWithoutHostConfig: true; implementationStrategy: "provider-rest-adapter"; officialRuntimeSdkAvailable: false; providerClientInterface: "Five9ProviderClient"; providerSdkDecision: { checkedAt: "2026-06-25"; checkedPackages: readonly [{ checkedVersion: "0.1.3"; package: "five9"; reason: "Third-party package last published years ago, not an official maintained Five9 runtime SDK."; result: "third-party-stale-node-module"; }, { checkedVersion: "7.2.0"; license: "ISC"; package: "uniphore-five9-messaging-api-client-library"; reason: "Uniphore-maintained messaging client, not an official Five9 contact-center runtime SDK for the declared handoff surface."; result: "third-party-messaging-specific-client"; }, { package: "Five9 CRM SDK"; reason: "Five9 JavaScript CRM SDK is loaded from Five9 CDN for browser pages integrated with Agent Desktop Toolkit."; result: "browser-agent-desktop-cdn-sdk-not-node-runtime"; }]; defaultRestPolicy: "fail-closed-configured-rest-adapter-with-typed-provider-client-override"; result: "no-suitable-official-server-side-sdk"; typedClientOverride: "Five9ProviderClient"; }; sdkDecision: "No suitable official backend JavaScript/TypeScript SDK was verified; five9@0.1.3 is third-party and stale, Uniphore's package is third-party and messaging-specific, and Five9 CRM SDK is browser/ADT-oriented."; verifiedAt: "2026-06-25"; }; manifestOnlySafe: true; providerClient: { defaultClientPolicy: "configured-rest-default-with-host-client-override"; importPolicy: "runtime-entrypoint-only"; interface: "Five9ProviderClient"; package: "built-in-provider-rest-adapter"; rawClientAlias: "Five9RawClient"; sdkDecision: { checkedAt: "2026-06-25"; result: "no-official-sdk-rest-adapter"; }; }; providerRestAdapter: { adapterKind: "no-official-sdk-rest-adapter"; defaultClientPolicy: "configured-rest-default-with-host-client-override"; failClosedWithoutBaseUrl: true; failClosedWithoutConfiguredPath: true; providerClientOverride: "Five9ProviderClient"; rawClientOverride: "Five9RawClient"; strategy: "provider-rest-adapter"; }; providerRestAdapterException: { adapterKind: "no-official-sdk-rest-adapter"; allowedDefaultRuntime: "built-in-rest-adapter"; failClosed: true; guardrails: readonly ["Keep Five9 calls behind Five9ProviderClient or the built-in REST adapter until an official maintained Node/TypeScript Five9 runtime SDK exists.", "Require baseUrl and host-configured operation paths before the built-in REST adapter can call fetch.", "If an official maintained runtime SDK is adopted later, switch implementationStrategy away from provider-rest-adapter and add a normal package.json runtime dependency."]; hostSdkPath: "Five9ProviderClient"; reason: "No maintained official Five9 Node/TypeScript backend runtime SDK was verified for the declared contact-center handoff workflow; documented Five9 JavaScript SDK surfaces are browser/ADT-oriented."; reviewedAt: "2026-06-25"; status: "accepted"; }; providerSdkDecision: { checkedAt: "2026-06-25"; checkedPackages: readonly [{ checkedVersion: "0.1.3"; package: "five9"; reason: "Third-party package last published years ago, not an official maintained Five9 runtime SDK."; result: "third-party-stale-node-module"; }, { checkedVersion: "7.2.0"; license: "ISC"; package: "uniphore-five9-messaging-api-client-library"; reason: "Uniphore-maintained messaging client, not an official Five9 contact-center runtime SDK for the declared handoff surface."; result: "third-party-messaging-specific-client"; }, { package: "Five9 CRM SDK"; reason: "Five9 JavaScript CRM SDK is loaded from Five9 CDN for browser pages integrated with Agent Desktop Toolkit."; result: "browser-agent-desktop-cdn-sdk-not-node-runtime"; }]; defaultRestPolicy: "fail-closed-configured-rest-adapter-with-typed-provider-client-override"; result: "no-suitable-official-server-side-sdk"; typedClientOverride: "Five9ProviderClient"; }; }; name: "Five9"; operations: readonly [{ alias: "contact-center.handoff.request"; capability: "handoff"; providerObject: "contactTransfer"; }]; packageName: "@cognidesk/integration-contact-center-five9"; provider: "five9"; trustLevel: "official"; }, unknown, { contact-center.handoff.request: (input) => Promise\<ProviderJsonObject>; }>


createFive9OperationHandlers()

function createFive9OperationHandlers(options?): {
  contact-center.handoff.request: (input) => Promise<ProviderJsonObject>;
};

Parameters

Parameter Type
options? Five9IntegrationOptions

Returns

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

References

five9CheckedProviderSdk

Re-exports five9CheckedProviderSdk


five9ProviderManifest

Re-exports five9ProviderManifest


five9ProviderManifestInput

Re-exports five9ProviderManifestInput


five9RestSupportSlice

Re-exports five9RestSupportSlice