Skip to content

integrations/contact-center/aircall/dist

Interfaces

AircallClient

Properties

rawClient
rawClient: AircallRawClient;

Methods

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

Promise\<ProviderJsonObject>

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

Promise\<ProviderJsonObject>

transferCall()
transferCall(input): Promise<ProviderJsonObject>;
Parameters
Parameter Type
input AircallTransferCallInput
Returns

Promise\<ProviderJsonObject>


AircallClientOptions

Extended by

Properties

accessToken?
optional accessToken?: string;
apiBaseUrl?
optional apiBaseUrl?: string;
authorizationHeader?
optional authorizationHeader?: string;
baseUrl?
optional baseUrl?: 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>

rawClient?
optional rawClient?: AircallRawClient;
readinessPath?
optional readinessPath?: string;
retry?
optional retry?: number | ProviderRestRetryOptions;
signal?
optional signal?: AbortSignal;
timeoutMs?
optional timeoutMs?: number;

AircallIntegrationOptions

Extends

Properties

accessToken?
optional accessToken?: string;
Inherited from

AircallClientOptions.accessToken

aircallClient?
optional aircallClient?: AircallClient;
apiBaseUrl?
optional apiBaseUrl?: string;
Inherited from

AircallClientOptions.apiBaseUrl

authorizationHeader?
optional authorizationHeader?: string;
Inherited from

AircallClientOptions.authorizationHeader

baseUrl?
optional baseUrl?: string;
Inherited from

AircallClientOptions.baseUrl

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

AircallClientOptions.fetch

rawClient?
optional rawClient?: AircallRawClient;
Inherited from

AircallClientOptions.rawClient

readinessPath?
optional readinessPath?: string;
Inherited from

AircallClientOptions.readinessPath

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

AircallClientOptions.retry

signal?
optional signal?: AbortSignal;
Inherited from

AircallClientOptions.signal

timeoutMs?
optional timeoutMs?: number;
Inherited from

AircallClientOptions.timeoutMs


AircallRawClient

Methods

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

Promise\<ProviderJsonObject>

transferCall()
transferCall(input): Promise<ProviderJsonObject>;
Parameters
Parameter Type
input AircallTransferCallInput
Returns

Promise\<ProviderJsonObject>


AircallReadinessInput

Properties

path?
optional path?: string;

AircallTransferCallInput

Properties

callId
callId: string | number;
dispatchingStrategy?
optional dispatchingStrategy?: AircallDispatchingStrategy;
number?
optional number?: string;
teamId?
optional teamId?: string | number;
userId?
optional userId?: string | number;

ProviderRestRetryOptions

Properties

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

Type Aliases

AircallDispatchingStrategy

type AircallDispatchingStrategy = "random" | "simultaneous" | "longest_idle";

ConfiguredHandoffInput

type ConfiguredHandoffInput = AircallTransferCallInput;

ProviderJsonObject

type ProviderJsonObject = Record<string, unknown>;

Functions

createAircallClient()

function createAircallClient(options?): AircallClient;

Parameters

Parameter Type
options? AircallClientOptions

Returns

AircallClient


createAircallIntegration()

function createAircallIntegration(options?): DefinedIntegration<{
  capabilities: [{
     capability: "handoff";
     exposesSensitiveData: true;
     providerObjects: [{
        kind: "callTransfer";
        label: "Aircall call transfer";
     }];
     requiresCredential: true;
     sideEffect: true;
  }];
  category: "contact-center";
  channelAudiences: ["customer-facing", "internal-support", "mixed"];
  coverage: {
     evidence: [{
        label: "Aircall API References";
        url: "https://developer.aircall.io/api-references/";
      }, {
        label: "Aircall Everywhere SDK";
        url: "https://github.com/aircall/aircall-everywhere";
      }, {
        label: "aircall-everywhere npm package";
        url: "https://www.npmjs.com/package/aircall-everywhere";
     }];
     notes: ["aircall-everywhere is a maintained Workspace iframe SDK, not a server-side Public API client.", "Runtime calls use Aircall Public API REST for documented call transfer and ping endpoints, with AircallRawClient available as the host-client override."];
     scope: "support-workflow-subset";
  };
  credentialRequirements: [{
     id: "aircall-api-base";
     label: "Aircall Public API base URL";
     required: false;
   }, {
     id: "aircall-api-access";
     label: "Aircall OAuth bearer token or Basic authorization header";
     required: true;
   }, {
     id: "aircall-routing";
     label: "Aircall number/team/routing configuration";
     required: false;
  }];
  directions: ["inbound-only", "outbound-only", "bidirectional"];
  id: "contact-center.aircall";
  maintainers: [{
     name: "Cognidesk";
     type: "official";
  }];
  metadata: {
     implementation: {
        adapterKind: "aircall-public-api-rest-adapter";
        allowedOperations: readonly [{
           alias: "contact-center.handoff.request";
           checksum: "aircall-public-api-transfer-call-2026-06-25";
           id: "transferCall";
           method: "POST";
           path: "/calls/{callId}/transfers";
           source: "provider-rest-adapter";
        }];
        defaultBaseUrl: "https://api.aircall.io/v1";
        failClosed: "Built-in REST calls require Aircall credentials and documented transfer inputs before fetch; rawClient overrides must implement transferCall().";
        implementationStrategy: "no-official-sdk-rest-adapter";
        providerSdkDecision: {
           checkedAt: "2026-06-25";
           checkedPackages: readonly [{
              checkedVersion: "2.0.6";
              license: "ISC";
              package: "aircall-everywhere";
              reason: "Maintained official package embeds and communicates with Aircall Workspace in a browser; it does not expose server-side Public API transfer operations.";
              result: "browser-workspace-iframe-sdk-not-public-api-client";
           }];
           defaultRestPolicy: "fail-closed-aircall-public-api-rest-adapter-with-typed-raw-client-override";
           result: "no-suitable-server-side-public-api-sdk";
           typedClientOverride: "AircallRawClient";
        };
        sdkDecision: "No maintained official backend/runtime SDK was found. aircall-everywhere is maintained, but it embeds the Workspace iframe in a browser; runtime support uses Aircall Public API REST with a strict rawClient override.";
        verifiedAt: "2026-06-25";
     };
     manifestOnlySafe: true;
     providerRestAdapter: {
        adapterKind: "aircall-public-api-rest-adapter";
        defaultBaseUrl: "https://api.aircall.io/v1";
        defaultClientPolicy: "provider-rest-adapter-when-configured";
        failClosed: true;
        rawClientOverride: "AircallRawClient";
        strategy: "no-official-sdk-rest-adapter";
     };
     providerSdkDecision: {
        checkedAt: "2026-06-25";
        checkedPackages: readonly [{
           checkedVersion: "2.0.6";
           license: "ISC";
           package: "aircall-everywhere";
           reason: "Maintained official package embeds and communicates with Aircall Workspace in a browser; it does not expose server-side Public API transfer operations.";
           result: "browser-workspace-iframe-sdk-not-public-api-client";
        }];
        defaultRestPolicy: "fail-closed-aircall-public-api-rest-adapter-with-typed-raw-client-override";
        result: "no-suitable-server-side-public-api-sdk";
        typedClientOverride: "AircallRawClient";
     };
  };
  name: "Aircall";
  operations: [{
     alias: "contact-center.handoff.request";
     capability: "handoff";
     providerObject: "callTransfer";
  }];
  packageName: "@cognidesk/integration-contact-center-aircall";
  provider: "aircall";
  trustLevel: "official";
}, unknown, {
  contact-center.handoff.request: (input) => Promise<ProviderJsonObject>;
}>;

Parameters

Parameter Type
options? AircallIntegrationOptions

Returns

DefinedIntegration\<{ capabilities: [{ capability: "handoff"; exposesSensitiveData: true; providerObjects: [{ kind: "callTransfer"; label: "Aircall call transfer"; }]; requiresCredential: true; sideEffect: true; }]; category: "contact-center"; channelAudiences: ["customer-facing", "internal-support", "mixed"]; coverage: { evidence: [{ label: "Aircall API References"; url: "https://developer.aircall.io/api-references/"; }, { label: "Aircall Everywhere SDK"; url: "https://github.com/aircall/aircall-everywhere"; }, { label: "aircall-everywhere npm package"; url: "https://www.npmjs.com/package/aircall-everywhere"; }]; notes: ["aircall-everywhere is a maintained Workspace iframe SDK, not a server-side Public API client.", "Runtime calls use Aircall Public API REST for documented call transfer and ping endpoints, with AircallRawClient available as the host-client override."]; scope: "support-workflow-subset"; }; credentialRequirements: [{ id: "aircall-api-base"; label: "Aircall Public API base URL"; required: false; }, { id: "aircall-api-access"; label: "Aircall OAuth bearer token or Basic authorization header"; required: true; }, { id: "aircall-routing"; label: "Aircall number/team/routing configuration"; required: false; }]; directions: ["inbound-only", "outbound-only", "bidirectional"]; id: "contact-center.aircall"; maintainers: [{ name: "Cognidesk"; type: "official"; }]; metadata: { implementation: { adapterKind: "aircall-public-api-rest-adapter"; allowedOperations: readonly [{ alias: "contact-center.handoff.request"; checksum: "aircall-public-api-transfer-call-2026-06-25"; id: "transferCall"; method: "POST"; path: "/calls/{callId}/transfers"; source: "provider-rest-adapter"; }]; defaultBaseUrl: "https://api.aircall.io/v1"; failClosed: "Built-in REST calls require Aircall credentials and documented transfer inputs before fetch; rawClient overrides must implement transferCall()."; implementationStrategy: "no-official-sdk-rest-adapter"; providerSdkDecision: { checkedAt: "2026-06-25"; checkedPackages: readonly [{ checkedVersion: "2.0.6"; license: "ISC"; package: "aircall-everywhere"; reason: "Maintained official package embeds and communicates with Aircall Workspace in a browser; it does not expose server-side Public API transfer operations."; result: "browser-workspace-iframe-sdk-not-public-api-client"; }]; defaultRestPolicy: "fail-closed-aircall-public-api-rest-adapter-with-typed-raw-client-override"; result: "no-suitable-server-side-public-api-sdk"; typedClientOverride: "AircallRawClient"; }; sdkDecision: "No maintained official backend/runtime SDK was found. aircall-everywhere is maintained, but it embeds the Workspace iframe in a browser; runtime support uses Aircall Public API REST with a strict rawClient override."; verifiedAt: "2026-06-25"; }; manifestOnlySafe: true; providerRestAdapter: { adapterKind: "aircall-public-api-rest-adapter"; defaultBaseUrl: "https://api.aircall.io/v1"; defaultClientPolicy: "provider-rest-adapter-when-configured"; failClosed: true; rawClientOverride: "AircallRawClient"; strategy: "no-official-sdk-rest-adapter"; }; providerSdkDecision: { checkedAt: "2026-06-25"; checkedPackages: readonly [{ checkedVersion: "2.0.6"; license: "ISC"; package: "aircall-everywhere"; reason: "Maintained official package embeds and communicates with Aircall Workspace in a browser; it does not expose server-side Public API transfer operations."; result: "browser-workspace-iframe-sdk-not-public-api-client"; }]; defaultRestPolicy: "fail-closed-aircall-public-api-rest-adapter-with-typed-raw-client-override"; result: "no-suitable-server-side-public-api-sdk"; typedClientOverride: "AircallRawClient"; }; }; name: "Aircall"; operations: [{ alias: "contact-center.handoff.request"; capability: "handoff"; providerObject: "callTransfer"; }]; packageName: "@cognidesk/integration-contact-center-aircall"; provider: "aircall"; trustLevel: "official"; }, unknown, { contact-center.handoff.request: (input) => Promise\<ProviderJsonObject>; }>


createAircallOperationHandlers()

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

Parameters

Parameter Type
options? AircallIntegrationOptions

Returns

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

References

aircallOperationAliases

Re-exports aircallOperationAliases


aircallProviderManifest

Re-exports aircallProviderManifest


aircallProviderManifestInput

Re-exports aircallProviderManifestInput


aircallRestSupportSlice

Re-exports aircallRestSupportSlice


aircallSupportSlice

Re-exports aircallSupportSlice