Skip to content

integrations/email/outlook/dist/runtime

Interfaces

OutlookAttachmentResource

Indexable

[key: string]: OutlookEmailProviderExtensionValue

Properties

contentType?
optional contentType?: string;
id?
optional id?: string;
isInline?
optional isInline?: boolean;
name?
optional name?: string;
size?
optional size?: number;

OutlookChangeNotification

Indexable

[key: string]: OutlookEmailProviderExtensionValue

Properties

changeType?
optional changeType?: string;
clientState?
optional clientState?: string;
encryptedContent?
optional encryptedContent?: OutlookEmailProviderExtensionValue;
lifecycleEvent?
optional lifecycleEvent?: string;
resource?
optional resource?: string;
resourceData?
optional resourceData?: OutlookResourceData;
subscriptionExpirationDateTime?
optional subscriptionExpirationDateTime?: string;
subscriptionId?
optional subscriptionId?: string;
tenantId?
optional tenantId?: string;

OutlookChangeNotificationPayload

Indexable

[key: string]: OutlookEmailProviderExtensionValue

Properties

validationTokens?
optional validationTokens?: string[];
value?
optional value?: OutlookChangeNotification[];

OutlookCreateDraftInput

Extends

Properties

additionalFields?
optional additionalFields?: OutlookEmailProviderExtensionFields;
Inherited from

OutlookMessageInput.additionalFields

attachments?
optional attachments?: OutlookAttachmentResource[];
Inherited from

OutlookMessageInput.attachments

bccRecipients?
optional bccRecipients?: OutlookRecipient[];
Inherited from

OutlookMessageInput.bccRecipients

body?
optional body?: OutlookItemBody;
Inherited from

OutlookMessageInput.body

categories?
optional categories?: string[];
Inherited from

OutlookMessageInput.categories

ccRecipients?
optional ccRecipients?: OutlookRecipient[];
Inherited from

OutlookMessageInput.ccRecipients

importance?
optional importance?: string;
Inherited from

OutlookMessageInput.importance

internetMessageHeaders?
optional internetMessageHeaders?: OutlookInternetMessageHeader[];
Inherited from

OutlookMessageInput.internetMessageHeaders

replyTo?
optional replyTo?: OutlookRecipient[];
Inherited from

OutlookMessageInput.replyTo

signal?
optional signal?: AbortSignal;
Inherited from

OutlookMessageInput.signal

subject?
optional subject?: string;
Inherited from

OutlookMessageInput.subject

toRecipients?
optional toRecipients?: OutlookRecipient[];
Inherited from

OutlookMessageInput.toRecipients


OutlookCreateSubscriptionInput

Extends

Properties

additionalFields?
optional additionalFields?: OutlookEmailProviderExtensionFields;
changeType
changeType: string;
clientState?
optional clientState?: string;
encryptionCertificate?
optional encryptionCertificate?: string;
encryptionCertificateId?
optional encryptionCertificateId?: string;
expirationDateTime
expirationDateTime: string;
includeResourceData?
optional includeResourceData?: boolean;
latestSupportedTlsVersion?
optional latestSupportedTlsVersion?: string;
lifecycleNotificationUrl?
optional lifecycleNotificationUrl?: string;
notificationUrl
notificationUrl: string;
resource
resource: string;
signal?
optional signal?: AbortSignal;
Inherited from

OutlookProviderRequestOptions.signal


OutlookCredentialStatusInput

Properties

accessToken?
optional accessToken?: string;
clientStateConfigured?
optional clientStateConfigured?: boolean;
delegatedMe?
optional delegatedMe?: boolean;
expiresAt?
optional expiresAt?: string;
scopes?
optional scopes?: string[];
userId?
optional userId?: string;

OutlookDeltaMessagesInput

Extends

Properties

folderId
folderId: string;
select?
optional select?: string[];
signal?
optional signal?: AbortSignal;
Inherited from

OutlookProviderRequestOptions.signal

top?
optional top?: number;

OutlookEmailClient

Properties

graphClient
graphClient: Client;
rawClient
rawClient: Client;

Methods

createDraft()
createDraft(input): Promise<OutlookMessageResource>;
Parameters
Parameter Type
input OutlookCreateDraftInput
Returns

Promise\<OutlookMessageResource>

createSubscription()
createSubscription(input): Promise<OutlookSubscriptionResource>;
Parameters
Parameter Type
input OutlookCreateSubscriptionInput
Returns

Promise\<OutlookSubscriptionResource>

deltaMessages()
deltaMessages(input): Promise<OutlookListMessagesResult>;
Parameters
Parameter Type
input OutlookDeltaMessagesInput
Returns

Promise\<OutlookListMessagesResult>

getAttachment()
getAttachment(input): Promise<OutlookAttachmentResource>;
Parameters
Parameter Type
input OutlookGetAttachmentInput
Returns

Promise\<OutlookAttachmentResource>

getAttachmentValue()
getAttachmentValue(input): Promise<Response>;
Parameters
Parameter Type
input OutlookGetAttachmentInput
Returns

Promise\<Response>

getMailboxUser()
getMailboxUser(input?): Promise<OutlookMailboxUserResource>;
Parameters
Parameter Type
input? OutlookProviderRequestOptions
Returns

Promise\<OutlookMailboxUserResource>

getMessage()
getMessage(input): Promise<OutlookMessageResource>;
Parameters
Parameter Type
input OutlookGetMessageInput
Returns

Promise\<OutlookMessageResource>

listAttachments()
listAttachments(input): Promise<{
  nextLink?: string;
  value: OutlookAttachmentResource[];
}>;
Parameters
Parameter Type
input OutlookListAttachmentsInput
Returns

Promise\<{ nextLink?: string; value: OutlookAttachmentResource[]; }>

listMessages()
listMessages(input?): Promise<OutlookListMessagesResult>;
Parameters
Parameter Type
input? OutlookListMessagesInput
Returns

Promise\<OutlookListMessagesResult>

requestGraph()
requestGraph<T>(input): Promise<T>;
Type Parameters
Type Parameter Default type
T OutlookGraphResource
Parameters
Parameter Type
input OutlookGraphRequestInput
Returns

Promise\<T>

sendMail()
sendMail(input): Promise<OutlookSendMailResult>;
Parameters
Parameter Type
input OutlookSendMailInput
Returns

Promise\<OutlookSendMailResult>

updateMessage()
updateMessage(input): Promise<OutlookMessageResource>;
Parameters
Parameter Type
input OutlookUpdateMessageInput
Returns

Promise\<OutlookMessageResource>


OutlookEmailClientOptions

Extended by

Properties

accessToken
accessToken: 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>

graphApiVersion?
optional graphApiVersion?: string;
graphBaseUrl?
optional graphBaseUrl?: string;
graphClient?
optional graphClient?: Client;
signal?
optional signal?: AbortSignal;
userId?
optional userId?: string;

OutlookEmailJsonObject

Extended by

Indexable

[key: string]: OutlookEmailProviderExtensionValue

OutlookEmailProviderExtensionFields

Extends

Indexable

[key: string]: OutlookEmailProviderExtensionValue

OutlookGetAttachmentInput

Extends

Properties

attachmentId
attachmentId: string;
folderId?
optional folderId?: string;
Inherited from

OutlookListAttachmentsInput.folderId

messageId
messageId: string;
Inherited from

OutlookListAttachmentsInput.messageId

signal?
optional signal?: AbortSignal;
Inherited from

OutlookListAttachmentsInput.signal


OutlookGetMessageInput

Extends

Properties

expand?
optional expand?: string[];
id
id: string;
select?
optional select?: string[];
signal?
optional signal?: AbortSignal;
Inherited from

OutlookProviderRequestOptions.signal


OutlookGraphRequestInput

Extends

Properties

body?
optional body?: OutlookEmailProviderPayload;
headers?
optional headers?: Record<string, string>;
method
method: OutlookGraphHttpMethod;
path
path: string;
pathParams?
optional pathParams?: Record<string, string | number | boolean>;
query?
optional query?: OutlookEmailProviderQuery;
rawResponse?
optional rawResponse?: boolean;
signal?
optional signal?: AbortSignal;
Inherited from

OutlookProviderRequestOptions.signal


OutlookGraphResource

Indexable

[key: string]: OutlookEmailProviderExtensionValue

OutlookInternetMessageHeader

Indexable

[key: string]: OutlookEmailProviderExtensionValue

Properties

name?
optional name?: string;
value?
optional value?: string;

OutlookItemBody

Properties

content
content: string;
contentType
contentType: "html" | "text";

OutlookListAttachmentsInput

Extends

Extended by

Properties

folderId?
optional folderId?: string;
messageId
messageId: string;
signal?
optional signal?: AbortSignal;
Inherited from

OutlookProviderRequestOptions.signal


OutlookListMessagesInput

Extends

Properties

expand?
optional expand?: string[];
filter?
optional filter?: string;
folderId?
optional folderId?: string;
orderBy?
optional orderBy?: string[];
optional search?: string;
select?
optional select?: string[];
signal?
optional signal?: AbortSignal;
Inherited from

OutlookProviderRequestOptions.signal

skip?
optional skip?: number;
top?
optional top?: number;

OutlookListMessagesResult

Properties

optional deltaLink?: string;
optional nextLink?: string;
value
value: OutlookMessageResource[];

OutlookLiveCheckOptions

Extends

Properties

accessToken
accessToken: string;
Inherited from

OutlookEmailClientOptions.accessToken

client?
optional client?: Pick<OutlookEmailClient, "getMailboxUser">;
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

OutlookEmailClientOptions.fetch

graphApiVersion?
optional graphApiVersion?: string;
Inherited from

OutlookEmailClientOptions.graphApiVersion

graphBaseUrl?
optional graphBaseUrl?: string;
Inherited from

OutlookEmailClientOptions.graphBaseUrl

graphClient?
optional graphClient?: Client;
Inherited from

OutlookEmailClientOptions.graphClient

signal?
optional signal?: AbortSignal;
Inherited from

OutlookEmailClientOptions.signal

userId?
optional userId?: string;
Inherited from

OutlookEmailClientOptions.userId


OutlookMailboxUserResource

Indexable

[key: string]: OutlookEmailProviderExtensionValue

Properties

displayName?
optional displayName?: string;
id?
optional id?: string;
mail?
optional mail?: string;
userPrincipalName?
optional userPrincipalName?: string;

OutlookMessageInput

Extends

Extended by

Properties

additionalFields?
optional additionalFields?: OutlookEmailProviderExtensionFields;
attachments?
optional attachments?: OutlookAttachmentResource[];
bccRecipients?
optional bccRecipients?: OutlookRecipient[];
body?
optional body?: OutlookItemBody;
categories?
optional categories?: string[];
ccRecipients?
optional ccRecipients?: OutlookRecipient[];
importance?
optional importance?: string;
internetMessageHeaders?
optional internetMessageHeaders?: OutlookInternetMessageHeader[];
replyTo?
optional replyTo?: OutlookRecipient[];
signal?
optional signal?: AbortSignal;
Inherited from

OutlookProviderRequestOptions.signal

subject?
optional subject?: string;
toRecipients?
optional toRecipients?: OutlookRecipient[];

OutlookMessageResource

Indexable

[key: string]: OutlookEmailProviderExtensionValue

Properties

attachments?
optional attachments?: OutlookAttachmentResource[];
bccRecipients?
optional bccRecipients?: OutlookRecipient[];
body?
optional body?: OutlookItemBody;
bodyPreview?
optional bodyPreview?: string;
categories?
optional categories?: string[];
ccRecipients?
optional ccRecipients?: OutlookRecipient[];
conversationId?
optional conversationId?: string;
from?
optional from?: OutlookRecipient;
hasAttachments?
optional hasAttachments?: boolean;
id?
optional id?: string;
importance?
optional importance?: string;
internetMessageHeaders?
optional internetMessageHeaders?: OutlookInternetMessageHeader[];
internetMessageId?
optional internetMessageId?: string;
isRead?
optional isRead?: boolean;
receivedDateTime?
optional receivedDateTime?: string;
replyTo?
optional replyTo?: OutlookRecipient[];
sender?
optional sender?: OutlookRecipient;
sentDateTime?
optional sentDateTime?: string;
subject?
optional subject?: string;
toRecipients?
optional toRecipients?: OutlookRecipient[];
optional webLink?: string;

OutlookProviderRequestOptions

Extended by

Properties

signal?
optional signal?: AbortSignal;

OutlookRecipient

Properties

emailAddress
emailAddress: {
  address: string;
  name?: string;
};
address
address: string;
name?
optional name?: string;

OutlookResourceData

Indexable

[key: string]: OutlookEmailProviderExtensionValue

Properties

etag?
optional etag?: string;
id?
optional id?: string;
oDataId?
optional oDataId?: string;
oDataType?
optional oDataType?: string;

OutlookSendMailInput

Extends

Properties

message
message: OutlookMessageInput;
saveToSentItems?
optional saveToSentItems?: boolean;
signal?
optional signal?: AbortSignal;
Inherited from

OutlookProviderRequestOptions.signal


OutlookSendMailResult

Properties

accepted
accepted: true;
status?
optional status?: number;

OutlookSubscriptionResource

Indexable

[key: string]: OutlookEmailProviderExtensionValue

Properties

applicationId?
optional applicationId?: string;
changeType?
optional changeType?: string;
clientState?
optional clientState?: string;
expirationDateTime?
optional expirationDateTime?: string;
id?
optional id?: string;
lifecycleNotificationUrl?
optional lifecycleNotificationUrl?: string;
notificationUrl?
optional notificationUrl?: string;
resource?
optional resource?: string;

OutlookUpdateMessageInput

Extends

Properties

additionalFields?
optional additionalFields?: OutlookEmailProviderExtensionFields;
Inherited from

OutlookMessageInput.additionalFields

attachments?
optional attachments?: OutlookAttachmentResource[];
Inherited from

OutlookMessageInput.attachments

bccRecipients?
optional bccRecipients?: OutlookRecipient[];
Inherited from

OutlookMessageInput.bccRecipients

body?
optional body?: OutlookItemBody;
Inherited from

OutlookMessageInput.body

categories?
optional categories?: string[];
Inherited from

OutlookMessageInput.categories

ccRecipients?
optional ccRecipients?: OutlookRecipient[];
Inherited from

OutlookMessageInput.ccRecipients

id
id: string;
importance?
optional importance?: string;
Inherited from

OutlookMessageInput.importance

internetMessageHeaders?
optional internetMessageHeaders?: OutlookInternetMessageHeader[];
Inherited from

OutlookMessageInput.internetMessageHeaders

isRead?
optional isRead?: boolean;
replyTo?
optional replyTo?: OutlookRecipient[];
Inherited from

OutlookMessageInput.replyTo

signal?
optional signal?: AbortSignal;
Inherited from

OutlookMessageInput.signal

subject?
optional subject?: string;
Inherited from

OutlookMessageInput.subject

toRecipients?
optional toRecipients?: OutlookRecipient[];
Inherited from

OutlookMessageInput.toRecipients


OutlookWebhookRequest

Properties

contentType?
optional contentType?: string;
notifications
notifications: OutlookChangeNotification[];
payload
payload: OutlookChangeNotificationPayload;
rawBody
rawBody: string;
validationTokens
validationTokens: string[];

ParseOutlookWebhookOptions

Properties

clientState?
optional clientState?: string;
requireClientState?
optional requireClientState?: boolean;

ValidateOutlookWebhookClientStateInput

Properties

actualClientState?
optional actualClientState?: string;
expectedClientState
expectedClientState: string;

VerifyOutlookWebhookValidationTokenInput

Properties

validationToken
validationToken: string;

Type Aliases

OutlookEmailJsonPrimitive

type OutlookEmailJsonPrimitive = string | number | boolean | null;

OutlookEmailJsonValue

type OutlookEmailJsonValue =
  | OutlookEmailJsonPrimitive
  | OutlookEmailJsonObject
  | readonly OutlookEmailJsonValue[];

OutlookEmailOperationCredentials

type OutlookEmailOperationCredentials = OutlookEmailClientOptions;

OutlookEmailProviderExtensionValue

type OutlookEmailProviderExtensionValue = OutlookEmailJsonValue | object | undefined;

OutlookEmailProviderPayload

type OutlookEmailProviderPayload = OutlookEmailJsonObject | object;

OutlookEmailProviderQuery

type OutlookEmailProviderQuery = Record<string, OutlookEmailProviderExtensionValue>;

OutlookGraphHttpMethod

type OutlookGraphHttpMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";

OutlookSignedWebhook

type OutlookSignedWebhook = OutlookWebhookRequest;

Deprecated

Microsoft Graph change notifications are validated by clientState, not provider signatures.

Variables

outlookEmailIntegration

const outlookEmailIntegration: DefinedIntegration<{
  capabilities: [{
     audiences: ["customer-facing", "internal-support", "mixed"];
     capability: "receive";
     description: "Reads Microsoft Graph message resources and validates Outlook change notifications.";
     exposesSensitiveData: true;
     label: "Read Outlook messages and notifications";
     providerObjects: [{
        kind: "outlookMailboxUser";
        label: "Outlook Mailbox User";
      }, {
        kind: "outlookMessage";
        label: "Outlook Message";
      }, {
        kind: "outlookChangeNotification";
        label: "Outlook Change Notification";
     }];
     requiresCredential: true;
   }, {
     audiences: ["customer-facing", "internal-support", "mixed"];
     capability: "draft";
     description: "Creates Microsoft Graph draft message resources for SDK-user-configured approval workflows.";
     exposesSensitiveData: true;
     label: "Create Outlook drafts";
     providerObjects: [{
        kind: "outlookMessage";
        label: "Outlook Draft Message";
     }];
     requiresCredential: true;
     sideEffect: true;
   }, {
     audiences: ["customer-facing", "mixed"];
     capability: "send";
     description: "Calls Microsoft Graph sendMail when SDK-user policy permits outbound contact.";
     exposesSensitiveData: true;
     label: "Send Outlook mail";
     providerObjects: [{
        kind: "outlookMessage";
        label: "Outlook Message";
     }];
     requiresCredential: true;
     sideEffect: true;
   }, {
     audiences: ["customer-facing", "internal-support", "mixed"];
     capability: "read-provider-object";
     description: "Reads messages, attachments, mailbox users, and raw Graph resources needed by support workflows.";
     exposesSensitiveData: true;
     label: "Read Outlook mailbox objects";
     providerObjects: [{
        kind: "outlookMessage";
        label: "Outlook Message";
      }, {
        kind: "outlookAttachment";
        label: "Outlook Attachment";
      }, {
        kind: "outlookMailboxUser";
        label: "Outlook Mailbox User";
     }];
     requiresCredential: true;
   }, {
     audiences: ["internal-support", "mixed"];
     capability: "update-provider-object";
     changesWorkflow: true;
     description: "Updates Microsoft Graph message fields such as categories, importance, read state, or draft content.";
     exposesSensitiveData: true;
     label: "Update Outlook messages";
     providerObjects: [{
        kind: "outlookMessage";
        label: "Outlook Message";
     }];
     requiresCredential: true;
     sideEffect: true;
  }];
  category: "email";
  channelAudiences: ["customer-facing", "internal-support", "mixed"];
  coverage: {
     evidence: [{
        label: "Microsoft Graph JavaScript client";
        url: "https://www.npmjs.com/package/@microsoft/microsoft-graph-client";
      }, {
        label: "Microsoft Graph create message";
        url: "https://learn.microsoft.com/en-us/graph/api/user-post-messages?view=graph-rest-1.0";
      }, {
        label: "Microsoft Graph sendMail";
        url: "https://learn.microsoft.com/en-us/graph/api/user-sendmail?view=graph-rest-1.0";
      }, {
        label: "Microsoft Graph message delta";
        url: "https://learn.microsoft.com/en-us/graph/api/message-delta?view=graph-rest-1.0";
      }, {
        label: "Microsoft Graph list attachments";
        url: "https://learn.microsoft.com/en-us/graph/api/message-list-attachments?view=graph-rest-1.0";
      }, {
        label: "Microsoft Graph create subscription";
        url: "https://learn.microsoft.com/en-us/graph/api/subscription-post-subscriptions?view=graph-rest-1.0";
      }, {
        label: "Microsoft Graph webhook subscription lifecycle";
        url: "https://learn.microsoft.com/en-us/graph/change-notifications-delivery-webhooks";
     }];
     notes: ["Coverage includes SDK-backed Microsoft Graph Outlook mailbox support workflows: messages, mailFolders, attachments, sendMail, subscriptions, mailbox user readiness, and change notifications.", "The package uses @microsoft/microsoft-graph-client for Graph calls and keeps Cognidesk-normalized helper methods and operation handlers.", "This is not full Microsoft Graph coverage. Calendar, contacts, files/Drive, identity, admin, security, and broader Graph resources remain outside this Outlook adapter."];
     scope: "provider-api-subset";
  };
  credentialRequirements: [{
     description: "Server-side OAuth access token for Microsoft Graph mail APIs. Required permissions are operation-specific.";
     id: "microsoft-graph-oauth-access-token";
     label: "Microsoft Graph OAuth access token";
     metadata: {
        scopeKind: "provider-oauth-scopes";
     };
     required: true;
     scopes: ["Mail.Read", "Mail.ReadWrite", "Mail.Send", "User.Read"];
   }, {
     description: "Delegated /me mailbox access or a configured Microsoft Graph user ID/userPrincipalName.";
     id: "microsoft-graph-mailbox-user";
     label: "Mailbox user";
     required: false;
   }, {
     description: "SDK-user-owned clientState value used to validate Microsoft Graph change notifications.";
     id: "microsoft-graph-webhook-client-state";
     label: "Webhook clientState secret";
     required: false;
  }];
  directions: ["receive-only", "send-only", "bidirectional"];
  id: "email.outlook";
  limitations: ["Available operations depend on Microsoft Graph permissions, OAuth grant type, tenant admin consent, conditional access, mailbox licensing, Exchange Online policy, and delegated or application user selection.", "This package provides transport and webhook foundations; it does not choose default automation, retention, consent, retry, or rate-limit policies.", "Webhook validation is based on Microsoft Graph clientState matching. Subscription renewal/delete/reauthorize policy remains SDK-user-owned."];
  maintainers: [{
     name: "Cognidesk";
     type: "official";
  }];
  metadata: {
     channelCoverage: {
        attachments: "sdk-owned-list-get-download";
        drafts: "sdk-owned-create";
        mailboxUser: "sdk-owned-read";
        messages: "sdk-owned-list-get-delta-update";
        sendMail: "sdk-owned-send";
        subscriptions: "sdk-owned-create";
        webhookClientState: "typed-validate";
     };
     implementation: {
        manifestOnlyExport: "@cognidesk/integration-email-outlook/manifest";
        rawClientEscapeHatch: "rawClient";
        sdkPackage: "@microsoft/microsoft-graph-client";
        strategy: "official-sdk";
     };
  };
  name: "Microsoft Outlook";
  operations: [{
     alias: "email.receive";
     capability: "receive";
     exposesSensitiveData: true;
     label: "Receive Outlook change notifications";
     providerObject: "emailMessage";
   }, {
     alias: "email.send";
     capability: "send";
     exposesSensitiveData: true;
     externallyVisible: true;
     label: "Send Outlook mail";
     providerObject: "emailMessage";
     requiresApproval: true;
     sideEffect: true;
   }, {
     alias: "email.draft.create";
     capability: "draft";
     exposesSensitiveData: true;
     label: "Create Outlook draft";
     providerObject: "emailDraft";
     sideEffect: true;
   }, {
     alias: "email.attachments.read";
     capability: "read-provider-object";
     exposesSensitiveData: true;
     label: "Read Outlook attachments";
     providerObject: "attachment";
   }, {
     alias: "mailbox.watch";
     capability: "receive";
     label: "Create Microsoft Graph mailbox subscription";
     providerObject: "mailbox";
     sideEffect: true;
   }, {
     alias: "outlook.message.list";
     capability: "read-provider-object";
     exposesSensitiveData: true;
     extension: true;
     label: "List Outlook messages";
     providerObject: "emailMessage";
   }, {
     alias: "outlook.message.get";
     capability: "read-provider-object";
     exposesSensitiveData: true;
     extension: true;
     label: "Get Outlook message";
     providerObject: "emailMessage";
   }, {
     alias: "outlook.message.delta";
     capability: "receive";
     exposesSensitiveData: true;
     extension: true;
     label: "Read Outlook message delta page";
     providerObject: "emailMessage";
   }, {
     alias: "outlook.message.update";
     capability: "update-provider-object";
     changesWorkflow: true;
     exposesSensitiveData: true;
     extension: true;
     label: "Update Outlook message";
     providerObject: "emailMessage";
     sideEffect: true;
   }, {
     alias: "outlook.mailboxUser.get";
     capability: "read-provider-object";
     exposesSensitiveData: true;
     extension: true;
     label: "Get Outlook mailbox user";
     providerObject: "mailbox";
   }, {
     alias: "outlook.webhook.parse";
     capability: "receive";
     exposesSensitiveData: true;
     extension: true;
     label: "Parse Outlook webhook";
     providerObject: "emailMessage";
   }, {
     alias: "outlook.rawGraph.request";
     capability: "read-provider-object";
     exposesSensitiveData: true;
     extension: true;
     label: "Run raw Microsoft Graph request";
     metadata: {
        rawClientEscapeHatch: true;
     };
     providerObject: "mailbox";
  }];
  packageName: "@cognidesk/integration-email-outlook";
  privacyNotes: ["Outlook messages can contain customer content, attachments, addresses, recipients, categories, internet headers, and conversation history.", "Microsoft Graph OAuth access tokens and webhook clientState secrets stay server-side and are represented in Studio only as credential readiness.", "SDK users own outbound approval, auto-send controls, contact consent, tenant/admin policy review, retention, redaction, attachment retrieval, and deletion behavior."];
  provider: "outlook";
  trustLevel: "official";
}, OutlookEmailClientOptions, {
  email.attachments.read: (input, context) =>
     | Promise<{
     nextLink?: string;
     value: OutlookAttachmentResource[];
   }>
    | Promise<OutlookAttachmentResource>;
  email.draft.create: (input, context) => Promise<OutlookMessageResource>;
  email.receive: (input, _context) => Promise<OutlookWebhookRequest>;
  email.send: (input, context) => Promise<OutlookSendMailResult>;
  mailbox.watch: (input, context) => Promise<OutlookSubscriptionResource>;
  outlook.mailboxUser.get: (input, context) => Promise<OutlookMailboxUserResource>;
  outlook.message.delta: (input, context) => Promise<OutlookListMessagesResult>;
  outlook.message.get: (input, context) => Promise<OutlookMessageResource>;
  outlook.message.list: (input, context) => Promise<OutlookListMessagesResult>;
  outlook.message.update: (input, context) => Promise<OutlookMessageResource>;
  outlook.rawGraph.request: (input, context) => Promise<OutlookGraphResource>;
  outlook.webhook.parse: (input, _context) => Promise<OutlookWebhookRequest>;
}>;

outlookEmailOperationHandlers

const outlookEmailOperationHandlers: {
  email.attachments.read: (input, context) =>
     | Promise<{
     nextLink?: string;
     value: OutlookAttachmentResource[];
   }>
    | Promise<OutlookAttachmentResource>;
  email.draft.create: (input, context) => Promise<OutlookMessageResource>;
  email.receive: (input, _context) => Promise<OutlookWebhookRequest>;
  email.send: (input, context) => Promise<OutlookSendMailResult>;
  mailbox.watch: (input, context) => Promise<OutlookSubscriptionResource>;
  outlook.mailboxUser.get: (input, context) => Promise<OutlookMailboxUserResource>;
  outlook.message.delta: (input, context) => Promise<OutlookListMessagesResult>;
  outlook.message.get: (input, context) => Promise<OutlookMessageResource>;
  outlook.message.list: (input, context) => Promise<OutlookListMessagesResult>;
  outlook.message.update: (input, context) => Promise<OutlookMessageResource>;
  outlook.rawGraph.request: (input, context) => Promise<OutlookGraphResource>;
  outlook.webhook.parse: (input, _context) => Promise<OutlookWebhookRequest>;
};

Type Declaration

Name Type
email.attachments.read() (input, context) => | Promise\<{ nextLink?: string; value: OutlookAttachmentResource[]; }> | Promise\<OutlookAttachmentResource>
email.draft.create() (input, context) => Promise\<OutlookMessageResource>
email.receive() (input, _context) => Promise\<OutlookWebhookRequest>
email.send() (input, context) => Promise\<OutlookSendMailResult>
mailbox.watch() (input, context) => Promise\<OutlookSubscriptionResource>
outlook.mailboxUser.get() (input, context) => Promise\<OutlookMailboxUserResource>
outlook.message.delta() (input, context) => Promise\<OutlookListMessagesResult>
outlook.message.get() (input, context) => Promise\<OutlookMessageResource>
outlook.message.list() (input, context) => Promise\<OutlookListMessagesResult>
outlook.message.update() (input, context) => Promise\<OutlookMessageResource>
outlook.rawGraph.request() (input, context) => Promise\<OutlookGraphResource>
outlook.webhook.parse() (input, _context) => Promise\<OutlookWebhookRequest>

Functions

createOutlookEmailClient()

function createOutlookEmailClient(options): OutlookEmailClient;

Parameters

Parameter Type
options OutlookEmailClientOptions

Returns

OutlookEmailClient


createOutlookEmailLiveChecks()

function createOutlookEmailLiveChecks(options): {
  description: string;
  id: string;
  requiredCredentialIds: string[];
  run: Promise<{
     details: {
        displayName: string;
        mail: string;
        userId: string;
        userPrincipalName: string;
     };
  }>;
}[];

Parameters

Parameter Type
options OutlookLiveCheckOptions

Returns

{ description: string; id: string; requiredCredentialIds: string[]; run: Promise\<{ details: { displayName: string; mail: string; userId: string; userPrincipalName: string; }; }>; }[]


createOutlookRecipient()

function createOutlookRecipient(address, name?): OutlookRecipient;

Parameters

Parameter Type
address string
name? string

Returns

OutlookRecipient


normalizeOutlookGraphError()

function normalizeOutlookGraphError(error): IntegrationError;

Parameters

Parameter Type
error unknown

Returns

IntegrationError


outlookEmailCredentialStatuses()

function outlookEmailCredentialStatuses(input): {
  expiresAt?: string;
  message?: string;
  providerPackageId?: string;
  requirementId: string;
  scopes?: string[];
  state:   | "required"
     | "configured"
     | "permission-blocked"
     | "not-required"
     | "missing"
     | "expired"
     | "insufficient-scope"
     | "unavailable";
}[];

Parameters

Parameter Type
input OutlookCredentialStatusInput

Returns

{ expiresAt?: string; message?: string; providerPackageId?: string; requirementId: string; scopes?: string[]; state: | "required" | "configured" | "permission-blocked" | "not-required" | "missing" | "expired" | "insufficient-scope" | "unavailable"; }[]


parseOutlookWebhook()

function parseOutlookWebhook(request, options?): Promise<OutlookWebhookRequest>;

Parameters

Parameter Type
request Request
options? ParseOutlookWebhookOptions

Returns

Promise\<OutlookWebhookRequest>


validateOutlookWebhookClientState()

function validateOutlookWebhookClientState(input): boolean;

Parameters

Parameter Type
input ValidateOutlookWebhookClientStateInput

Returns

boolean


verifyOutlookWebhookValidationToken()

function verifyOutlookWebhookValidationToken(input): string;

Parameters

Parameter Type
input VerifyOutlookWebhookValidationTokenInput

Returns

string