> ISPO SDK documentation. [HTML](https://ispo.ai/docs/variables/core.connectors.html) · [Documentation index](https://ispo.ai/docs/llms.txt)

# Variable connectors`Const`

```typescript
connectors: {
    call: <T = unknown>(
        providerId: string,
        resource: string,
        op: string,
        input?: ProjectCommandJsonValue,
    ) => Promise<T>;
    execute: (input: ConnectorExecuteInput) => Promise<ConnectorExecuteResult>;
    google: {
        calendar: {
            createEvent: (
                input: GoogleCalendarCreateEventInput,
            ) => Promise<GoogleCalendarEventResult>;
            deleteEvent: (
                input: GoogleCalendarDeleteEventInput,
            ) => Promise<GoogleCalendarDeleteEventResult>;
            ensureAccess: (
                input: ConnectorEnsureAccessInput<GoogleCalendarConnectorOperation>,
            ) => Promise<
                ConnectorEnsureAccessResult<GoogleCalendarConnectorOperation>,
            >;
            freebusy: (
                input: GoogleCalendarFreebusyInput,
            ) => Promise<GoogleCalendarFreebusyResult>;
            listAccounts: () => Promise<GoogleCalendarListAccountsResult>;
            listCalendars: (
                input?: GoogleCalendarListCalendarsInput,
            ) => Promise<GoogleCalendarListCalendarsResult>;
            listEvents: (
                input: GoogleCalendarListEventsInput,
            ) => Promise<GoogleCalendarListEventsResult>;
            updateEvent: (
                input: GoogleCalendarUpdateEventInput,
            ) => Promise<GoogleCalendarEventResult>;
        };
        mail: {
            createDraft: (
                input: GoogleMailCreateDraftInput,
            ) => Promise<GoogleMailDraftResult>;
            deleteDraft: (
                input: GoogleMailDeleteDraftInput,
            ) => Promise<GoogleMailDeleteDraftResult>;
            ensureAccess: (
                input: ConnectorEnsureAccessInput<GoogleMailConnectorOperation>,
            ) => Promise<ConnectorEnsureAccessResult<GoogleMailConnectorOperation>>;
            getMessage: (
                input: GoogleMailGetMessageInput,
            ) => Promise<GoogleMailMessageResult>;
            getThread: (
                input: GoogleMailGetThreadInput,
            ) => Promise<GoogleMailThreadResult>;
            listAccounts: () => Promise<GoogleMailListAccountsResult>;
            listLabels: (
                input?: GoogleMailListLabelsInput,
            ) => Promise<GoogleMailListLabelsResult>;
            listMessages: (
                input?: GoogleMailListMessagesInput,
            ) => Promise<GoogleMailListMessagesResult>;
            modifyMessage: (
                input: GoogleMailModifyMessageInput,
            ) => Promise<GoogleMailMessageSummaryResult>;
            send: (
                input: GoogleMailSendInput,
            ) => Promise<GoogleMailMessageSummaryResult>;
            updateDraft: (
                input: GoogleMailUpdateDraftInput,
            ) => Promise<GoogleMailDraftResult>;
        };
    };
} = ...
```

Types: [ProjectCommandJsonValue](../types/core.Supporting_types.ProjectCommandJsonValue.md), [ConnectorExecuteInput](../interfaces/core.ConnectorExecuteInput.md), [ConnectorExecuteResult](../types/core.ConnectorExecuteResult.md), [GoogleCalendarCreateEventInput](../interfaces/core.GoogleCalendarCreateEventInput.md), [GoogleCalendarEventResult](../interfaces/core.GoogleCalendarEventResult.md), [GoogleCalendarDeleteEventInput](../interfaces/core.GoogleCalendarDeleteEventInput.md), [GoogleCalendarDeleteEventResult](../interfaces/core.GoogleCalendarDeleteEventResult.md), [ConnectorEnsureAccessInput](../interfaces/core.ConnectorEnsureAccessInput.md), [GoogleCalendarConnectorOperation](../types/core.Supporting_types.GoogleCalendarConnectorOperation.md), [ConnectorEnsureAccessResult](../interfaces/core.ConnectorEnsureAccessResult.md), [GoogleCalendarFreebusyInput](../interfaces/core.GoogleCalendarFreebusyInput.md), [GoogleCalendarFreebusyResult](../interfaces/core.GoogleCalendarFreebusyResult.md), [GoogleCalendarListAccountsResult](../interfaces/core.GoogleCalendarListAccountsResult.md), [GoogleCalendarListCalendarsInput](../interfaces/core.GoogleCalendarListCalendarsInput.md), [GoogleCalendarListCalendarsResult](../interfaces/core.GoogleCalendarListCalendarsResult.md), [GoogleCalendarListEventsInput](../interfaces/core.GoogleCalendarListEventsInput.md), [GoogleCalendarListEventsResult](../interfaces/core.GoogleCalendarListEventsResult.md), [GoogleCalendarUpdateEventInput](../interfaces/core.GoogleCalendarUpdateEventInput.md), [GoogleMailCreateDraftInput](../interfaces/core.GoogleMailCreateDraftInput.md), [GoogleMailDraftResult](../interfaces/core.GoogleMailDraftResult.md), [GoogleMailDeleteDraftInput](../interfaces/core.GoogleMailDeleteDraftInput.md), [GoogleMailDeleteDraftResult](../interfaces/core.GoogleMailDeleteDraftResult.md), [GoogleMailConnectorOperation](../types/core.Supporting_types.GoogleMailConnectorOperation.md), [GoogleMailGetMessageInput](../interfaces/core.GoogleMailGetMessageInput.md), [GoogleMailMessageResult](../interfaces/core.GoogleMailMessageResult.md), [GoogleMailGetThreadInput](../interfaces/core.GoogleMailGetThreadInput.md), [GoogleMailThreadResult](../interfaces/core.GoogleMailThreadResult.md), [GoogleMailListAccountsResult](../interfaces/core.GoogleMailListAccountsResult.md), [GoogleMailListLabelsInput](../interfaces/core.GoogleMailListLabelsInput.md), [GoogleMailListLabelsResult](../interfaces/core.GoogleMailListLabelsResult.md), [GoogleMailListMessagesInput](../interfaces/core.GoogleMailListMessagesInput.md), [GoogleMailListMessagesResult](../interfaces/core.GoogleMailListMessagesResult.md), [GoogleMailModifyMessageInput](../interfaces/core.GoogleMailModifyMessageInput.md), [GoogleMailMessageSummaryResult](../interfaces/core.GoogleMailMessageSummaryResult.md), [GoogleMailSendInput](../interfaces/core.GoogleMailSendInput.md), [GoogleMailUpdateDraftInput](../interfaces/core.GoogleMailUpdateDraftInput.md)

#### Type Declaration

*   ##### <a id="call"></a>call: <T \= unknown\>(  
        providerId: string,  
        resource: string,  
        op: string,  
        input?: [ProjectCommandJsonValue](../types/core.Supporting_types.ProjectCommandJsonValue.md),  
    ) \=> Promise<T\>
    
*   ##### <a id="execute"></a>execute: (input: [ConnectorExecuteInput](../interfaces/core.ConnectorExecuteInput.md)) \=> Promise<[ConnectorExecuteResult](../types/core.ConnectorExecuteResult.md)\>
    
*   ##### <a id="google"></a>google: {  
        calendar: {  
            createEvent: (  
                input: [GoogleCalendarCreateEventInput](../interfaces/core.GoogleCalendarCreateEventInput.md),  
            ) \=> Promise<[GoogleCalendarEventResult](../interfaces/core.GoogleCalendarEventResult.md)\>;  
            deleteEvent: (  
                input: [GoogleCalendarDeleteEventInput](../interfaces/core.GoogleCalendarDeleteEventInput.md),  
            ) \=> Promise<[GoogleCalendarDeleteEventResult](../interfaces/core.GoogleCalendarDeleteEventResult.md)\>;  
            ensureAccess: (  
                input: [ConnectorEnsureAccessInput](../interfaces/core.ConnectorEnsureAccessInput.md)<[GoogleCalendarConnectorOperation](../types/core.Supporting_types.GoogleCalendarConnectorOperation.md)\>,  
            ) \=> Promise<  
                [ConnectorEnsureAccessResult](../interfaces/core.ConnectorEnsureAccessResult.md)<[GoogleCalendarConnectorOperation](../types/core.Supporting_types.GoogleCalendarConnectorOperation.md)\>,  
            \>;  
            freebusy: (  
                input: [GoogleCalendarFreebusyInput](../interfaces/core.GoogleCalendarFreebusyInput.md),  
            ) \=> Promise<[GoogleCalendarFreebusyResult](../interfaces/core.GoogleCalendarFreebusyResult.md)\>;  
            listAccounts: () \=> Promise<[GoogleCalendarListAccountsResult](../interfaces/core.GoogleCalendarListAccountsResult.md)\>;  
            listCalendars: (  
                input?: [GoogleCalendarListCalendarsInput](../interfaces/core.GoogleCalendarListCalendarsInput.md),  
            ) \=> Promise<[GoogleCalendarListCalendarsResult](../interfaces/core.GoogleCalendarListCalendarsResult.md)\>;  
            listEvents: (  
                input: [GoogleCalendarListEventsInput](../interfaces/core.GoogleCalendarListEventsInput.md),  
            ) \=> Promise<[GoogleCalendarListEventsResult](../interfaces/core.GoogleCalendarListEventsResult.md)\>;  
            updateEvent: (  
                input: [GoogleCalendarUpdateEventInput](../interfaces/core.GoogleCalendarUpdateEventInput.md),  
            ) \=> Promise<[GoogleCalendarEventResult](../interfaces/core.GoogleCalendarEventResult.md)\>;  
        };  
        mail: {  
            createDraft: (  
                input: [GoogleMailCreateDraftInput](../interfaces/core.GoogleMailCreateDraftInput.md),  
            ) \=> Promise<[GoogleMailDraftResult](../interfaces/core.GoogleMailDraftResult.md)\>;  
            deleteDraft: (  
                input: [GoogleMailDeleteDraftInput](../interfaces/core.GoogleMailDeleteDraftInput.md),  
            ) \=> Promise<[GoogleMailDeleteDraftResult](../interfaces/core.GoogleMailDeleteDraftResult.md)\>;  
            ensureAccess: (  
                input: [ConnectorEnsureAccessInput](../interfaces/core.ConnectorEnsureAccessInput.md)<[GoogleMailConnectorOperation](../types/core.Supporting_types.GoogleMailConnectorOperation.md)\>,  
            ) \=> Promise<[ConnectorEnsureAccessResult](../interfaces/core.ConnectorEnsureAccessResult.md)<[GoogleMailConnectorOperation](../types/core.Supporting_types.GoogleMailConnectorOperation.md)\>\>;  
            getMessage: (  
                input: [GoogleMailGetMessageInput](../interfaces/core.GoogleMailGetMessageInput.md),  
            ) \=> Promise<[GoogleMailMessageResult](../interfaces/core.GoogleMailMessageResult.md)\>;  
            getThread: (  
                input: [GoogleMailGetThreadInput](../interfaces/core.GoogleMailGetThreadInput.md),  
            ) \=> Promise<[GoogleMailThreadResult](../interfaces/core.GoogleMailThreadResult.md)\>;  
            listAccounts: () \=> Promise<[GoogleMailListAccountsResult](../interfaces/core.GoogleMailListAccountsResult.md)\>;  
            listLabels: (  
                input?: [GoogleMailListLabelsInput](../interfaces/core.GoogleMailListLabelsInput.md),  
            ) \=> Promise<[GoogleMailListLabelsResult](../interfaces/core.GoogleMailListLabelsResult.md)\>;  
            listMessages: (  
                input?: [GoogleMailListMessagesInput](../interfaces/core.GoogleMailListMessagesInput.md),  
            ) \=> Promise<[GoogleMailListMessagesResult](../interfaces/core.GoogleMailListMessagesResult.md)\>;  
            modifyMessage: (  
                input: [GoogleMailModifyMessageInput](../interfaces/core.GoogleMailModifyMessageInput.md),  
            ) \=> Promise<[GoogleMailMessageSummaryResult](../interfaces/core.GoogleMailMessageSummaryResult.md)\>;  
            send: (  
                input: [GoogleMailSendInput](../interfaces/core.GoogleMailSendInput.md),  
            ) \=> Promise<[GoogleMailMessageSummaryResult](../interfaces/core.GoogleMailMessageSummaryResult.md)\>;  
            updateDraft: (  
                input: [GoogleMailUpdateDraftInput](../interfaces/core.GoogleMailUpdateDraftInput.md),  
            ) \=> Promise<[GoogleMailDraftResult](../interfaces/core.GoogleMailDraftResult.md)\>;  
        };  
    }
