integrations:
    aircall:
        actions:
            create-user:
                description: Creates a user in Aircall.
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: CreateUser
            delete-user:
                description: Deletes a user in Aircall
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
        syncs:
            users:
                runs: every day
                description: |
                    Fetches a list of users from Aircall.
                output: User
                track_deletes: true
                sync_type: full
                endpoint:
                    method: GET
                    path: /users
                    group: Users
        models:
            SuccessResponse:
                success: boolean
            IdEntity:
                id: string
            User:
                id: string
                email: string
                firstName: string
                lastName: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
    aircall-basic:
        actions:
            create-user:
                description: Creates a user in Aircall.
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: CreateUser
            delete-user:
                description: Deletes a user in Aircall
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
        syncs:
            users:
                runs: every day
                description: |
                    Fetches a list of users from Aircall.
                output: User
                track_deletes: true
                sync_type: full
                endpoint:
                    method: GET
                    path: /users
                    group: Users
        models:
            SuccessResponse:
                success: boolean
            IdEntity:
                id: string
            User:
                id: string
                email: string
                firstName: string
                lastName: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
    airtable:
        syncs:
            tables:
                runs: every day
                description: >
                    Lists all tables with their schema for all bases with a reference to
                    the base id that

                    the table belongs to
                output: Table
                track_deletes: true
                sync_type: full
                endpoint:
                    method: GET
                    path: /tables
                scopes:
                    - schema.bases:read
            bases:
                runs: every day
                description: List all bases
                output: Base
                track_deletes: true
                sync_type: full
                endpoint:
                    method: GET
                    path: /bases
                scopes:
                    - schema.bases:read
        actions:
            whoami:
                description: Fetch current user information
                output: UserInformation
                endpoint:
                    method: GET
                    path: /whoami
                    group: Users
                scopes: user.email:read
            create-webhook:
                description: Create a webhook for a particular base
                input: CreateWebhook
                output: WebhookCreated
                endpoint:
                    method: POST
                    path: /webhooks
                    group: Webhooks
                scopes:
                    - webhook:manage
            list-webhooks:
                description: List all the webhooks available for a base
                output: WebhookResponse
                input: BaseId
                endpoint:
                    method: GET
                    path: /webhooks
                    group: Webhooks
                scopes:
                    - webhook:manage
            delete-webhook:
                description: Delete a webhook
                endpoint:
                    method: DELETE
                    path: /webhooks
                    group: Webhooks
                input: DeleteWebhook
                output: SuccessResponse
                scopes:
                    - webhook:manage
        models:
            SuccessResponse:
                success: boolean
            Table:
                baseId: string
                baseName: string
                id: string
                name: string
                views: TableView[]
                fields: TableField[]
                primaryFieldId: string
            TableView:
                id: string
                name: string
                type: string
            TableField:
                id: string
                description: string
                name: string
                type: string
                options?:
                    __string: any
            Base:
                id: string
                name: string
                permissionLevel: none | read | comment | edit | create
            BaseId:
                baseId: string
            WebhookResponse:
                webhooks: Webhook[]
            Webhook:
                id: string
                areNotificationsEnabled: boolean
                cursorForNextPayload: number
                isHookEnabled: boolean
                lastSuccessfulNotificationTime: string | null
                expirationTime?: string | undefined
                specification: WebhookSpecification
                lastNotificationResult: NotificationResult | null
            NotificationResult:
                success: boolean
                error?:
                    message: string
                completionTimestamp?: string
                durationMs?: number
                retryNumber?: number
                willBeRetried?: boolean
            WebhookSpecification:
                options:
                    filters:
                        recordChangeScope?: string
                        dataTypes: string[]
                        changeTypes?: string[]
                        fromSources?: string[]
                        sourceOptions?:
                            formPageSubmission?:
                                pageId: string
                            formSubmission?:
                                viewId: string
                        watchDataInFieldIds?: string[]
                        watchSchemasOfFieldIds?: string[]
                    includes?:
                        includeCellValuesInFieldIds?: string[] | all
                        includePreviousCellValues:?: boolean
                        includePreviousFieldDefinitions?: boolean
            CreateWebhook:
                baseId: string
                specification: WebhookSpecification
            WebhookCreated:
                id: string
                expirationTime: string
            DeleteWebhook:
                baseId: string
                webhookId: string
            UserInformation:
                id: string
                email: string | null
    algolia:
        actions:
            create-contacts:
                description: |
                    Action to add a single record contact to an index
                output: AlgoliaContact
                input: AlgoliaCreateContactInput
                endpoint:
                    method: POST
                    path: /contacts
        models:
            AlgoliaContact:
                createdAt: date
                taskID: number
                objectID: string
            AlgoliaCreateContactInput:
                name: string
                company: string
                email: string
    anrok:
        actions:
            create-ephemeral-transaction:
                description: |
                    Creates an ephemeral transaction in Anrok.
                input: Transaction
                output: TransactionActionResponse
                endpoint:
                    method: POST
                    path: /ephmeral-transactions
            create-or-update-transaction:
                description: |
                    Creates or updates a transaction in Anrok.
                input: Transaction[]
                output: TransactionActionResponse
                endpoint:
                    method: POST
                    path: /transactions
            void-transaction:
                description: |
                    Voids a transaction in Anrok.
                input: TransactionToDelete[]
                output: TransactionDeletionActionResponse
                endpoint:
                    method: POST
                    path: /transactions/void
            negate-transaction:
                description: |
                    Creates a negation in Anrok.
                input: TransactionToNegate[]
                output: TransactionNegationActionResponse
                endpoint:
                    method: POST
                    path: /transactions/negate
        models:
            AnrokAddress:
                line1: string
                city: string
                postalCode: string
                country: string
            AnrokLineItems:
                id: string
                productExternalId: string
                amount: number
            AnrokTaxIds:
                type: string
                value: string
            AnrokTransactionData:
                id?: string | undefined
                accountingDate: string
                currencyCode: string
                customerId: string
                customerName: string
                customerAddress: AnrokAddress
                lineItems: AnrokLineItems[]
                customerTaxIds?: AnrokTaxIds[]
            AnrokContact:
                external_id: string
                name: string
                address_line_1: string
                city: string
                zip: string
                country: string
                taxable: boolean
                tax_number: string
            BaseTransaction:
                id?: string | undefined
                issuing_date: string
                currency: string
                contact: AnrokContact
            Transaction:
                id?: string | undefined
                issuing_date: string
                currency: string
                contact: AnrokContact
                fees: TransactionFee[]
            TransactionFee:
                item_id: string
                item_code: string | null
                amount_cents: number | null
            TaxBreakdown:
                name?: string
                rate?: string
                tax_amount?: number
                type?: string | null
                reason?: string
            FailedTransaction:
                id?: string | undefined
                issuing_date: string
                currency: string
                contact: AnrokContact
                fees: TransactionFee[]
                validation_errors: any
            SuccessTransaction:
                id?: string | undefined
                issuing_date: string
                currency: string
                contact: AnrokContact
                fees: TransactionFee[]
                sub_total_excluding_taxes?: number
                taxes_amount_cents?: number
            TransactionActionResponse:
                succeeded: SuccessTransaction[]
                failed: FailedTransaction[]
            TransactionToNegate:
                id: string
                voided_id: string
            TransactionToDelete:
                id: string
            TransactionNegationActionResponse:
                succeeded: TransactionToNegate[]
                failed: FailedTransactionToNegate[]
            TransactionDeletionActionResponse:
                succeeded: TransactionToDelete[]
                failed: FailedTransactionToDelete[]
            FailedTransactionToDelete:
                id: string
                validation_errors: any
            FailedTransactionToNegate:
                id: string
                voided_id: string
                validation_errors: any
            TransactionFeeWithTaxBreakdown:
                item_id: string
                item_code: string | null
                amount_cents: number | null
                tax_amount_cents: number
                tax_breakdown: TaxBreakdown[]
    asana:
        syncs:
            tasks:
                runs: every hour
                description: Retrieve all tasks that exist in the workspace
                output: Task
                endpoint:
                    method: GET
                    path: /tasks
                    group: Tasks
                sync_type: incremental
            users:
                runs: every hour
                description: Retrieve all users that exist in the workspace
                output: User
                endpoint:
                    method: GET
                    path: /users
                    group: Users
                sync_type: incremental
            workspaces:
                runs: every hour
                description: Retrieve all workspaces for a user
                output: AsanaWorkspace
                endpoint:
                    method: GET
                    path: /workspaces
                    group: Workspaces
            projects:
                runs: every hour
                description: Retrieves all projects for a user
                output: AsanaProject
                endpoint:
                    method: GET
                    path: /projects
                    group: Projects
        actions:
            fetch-workspaces:
                description: >-
                    Fetch the workspaces with a limit (default 10) of a user to allow them
                    to selection of projects to sync
                endpoint:
                    method: GET
                    path: /workspaces/limit
                output: BaseAsanaModel[]
                input: Limit
            fetch-projects:
                description: >-
                    Fetch the projects with a limit (default 10) given a workspace of a
                    user to allow selection when choosing the tasks to sync.
                endpoint:
                    method: GET
                    path: /projects/limit
                output: BaseAsanaModel[]
                input: AsanaProjectInput
            create-task:
                input: CreateAsanaTask
                endpoint:
                    method: POST
                    path: /tasks
                    group: Tasks
                output: Task
                description: >
                    Create a task using Asana specific fields and return a unified model
                    task. See https://developers.asana.com/reference/createtask for Asana
                    specific fields
            update-task:
                description: Update a task and be able to assign the task to a specific user
                input: AsanaUpdateTask
                endpoint:
                    method: PATCH
                    path: /tasks
                    group: Tasks
                output: Task
            delete-task:
                input: Id
                endpoint:
                    method: DELETE
                    path: /tasks
                    group: Tasks
                output: boolean
        models:
            Id:
                id: string
            Timestamps:
                created_at: string | null
                modified_at: string | null
            NangoActionError:
                type: validation_error | generic_error
                message: string
            BaseAsanaModel:
                gid: string
                resource_type: string
                name: string
            Limit:
                limit: number | undefined
            User:
                created_at: string | null
                modified_at: string | null
                id: string
                name: string
                email: string | null
                avatar_url: string | null
            Task:
                created_at: string | null
                modified_at: string | null
                id: string
                title: string
                url: string
                status: string
                description: string | null
                assignee: User | null
                due_date: string | null
            AsanaProjectInput:
                limit: number | undefined
                workspace: string
            CreateAsanaTask:
                name: string
                workspace: string | undefined
                parent: string | undefined
                projects: string[] | undefined
            AsanaTask:
                created_at: string | null
                modified_at: string | null
                gid: string
                resource_type: string
                name: string
                completed: boolean
                due_date: string | null
                tags: string[]
                start_on: string | null
                due_at: string | null
                due_on: string | null
                completed_at: string | null
                actual_time_minutes: number
                assignee: AsanaUser | null
                start_at: string | null
                num_hearts: number
                num_likes: number
                workspace: BaseAsanaModel
                hearted: boolean
                hearts: string[]
                liked: boolean
                likes: string[]
                notes: string
                assignee_status: string
                followers: BaseAsanaModel[]
                parent:
                    gid: string
                    resource_type: string
                    name: string
                    resource_subtype: string
                permalink_url: string
            AsanaPhoto:
                image_1024x1024: string
                image_128x128: string
                image_21x21: string
                image_27x27: string
                image_36x36: string
                image_60x60: string
            AsanaUser:
                gid: string
                resource_type: string
                name: string
                id: string
                email: string
                photo: AsanaPhoto | null
                workspace: string | undefined
            AsanaUpdateTask:
                id: string
                due_at: string | undefined
                due_on: string | undefined
                completed: boolean | undefined
                notes: string | undefined
                projects: string[] | undefined
                assignee: string | undefined
                parent: string | undefined
                tags: string[] | undefined
                workspace: string | undefined
                name: string | undefined
            AsanaWorkspace:
                gid: string
                resource_type: string
                name: string
                id: string
                is_organization: boolean
            AsanaProject:
                gid: string
                resource_type: string
                name: string
                id: string
    ashby:
        syncs:
            candidates:
                runs: every hour
                output: AshbyCandidate
                description: |
                    Fetches a list of all candidates from your ashby account
                scopes: candidatelastsyncToken
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /candidates
                    group: Candidates
            jobs:
                runs: every hour
                output: AshbyJob
                description: |
                    Fetches a list of all jobs from your ashby account
                scopes: jobslastsyncToken
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /jobs
                    group: Jobs
        actions:
            create-application:
                output: AshbyCreateApplicationResponse
                input: AshbyCreateCandidateInput
                description: |
                    Action to consider a candidate for a job
                endpoint:
                    method: POST
                    path: /applications
                    group: Applications
            create-note:
                output: AshbyCreateNoteResponse
                input: AshbyCreateNoteInput
                description: |
                    Action to create a note on a candidate.
                endpoint:
                    method: POST
                    path: /notes
                    group: Notes
            application-change-source:
                output: AshbyResponse
                input: ChangeSource
                description: |
                    Action to change source of application.
                endpoint:
                    method: POST
                    path: /applications/source
                    group: Applications
                scopes:
                    - candidatesWrite
            application-change-stage:
                output: AshbyResponse
                input: ChangeStage
                description: |
                    Action to change stage of an application.
                endpoint:
                    method: POST
                    path: /applications/stage
                    group: Applications
                scopes:
                    - candidatesWrite
            application-update:
                output: AshbyResponse
                input: ChangeSource | ChangeStage | UpdateHistory
                description: |
                    Action to update an application.
                endpoint:
                    method: PATCH
                    path: /applications
                    group: Applications
                scopes:
                    - candidatesWrite
                version: 1.0.0
            application-update-history:
                output: AshbyResponse
                input: UpdateHistory
                description: |
                    Action to update history an application stage.
                endpoint:
                    method: POST
                    path: /applications/history
                    group: Applications
                scopes:
                    - candidatesWrite
            create-candidate:
                output: AshbyResponse
                input: CreateCandidate
                description: |
                    Action to create a candidate.
                endpoint:
                    method: POST
                    path: /candidates
                    group: Candidates
                scopes:
                    - candidatesWrite
            interview-stage:
                output: StagesResponse
                input: InterviewStageList
                description: |
                    List all interview stages for an interview plan in order.
                endpoint:
                    method: GET
                    path: /interviews/stages
                    group: Interviews
                scopes:
                    - interviewsRead
        models:
            AshbyCandidate:
                id: string
                createdAt: date
                name: string
                primaryEmailAddress:
                    value: string
                    type: string
                    isPrimary: boolean
                emailAddresses: string[]
                primaryPhoneNumber:
                    value: string
                    type: string
                    isPrimary: boolean
                phoneNumbers: string[]
                socialLinks: string[]
                tags: string[]
                position: string
                company: string
                school: string
                applicationIds: string[]
                resumeFileHandle:
                    id: string
                    name: string
                    handle: string
                fileHandles: string[]
                customFields: string[]
                profileUrl: string
                source:
                    id: string
                    title: string
                    isArchived: boolean
                    sourceType:
                        id: string
                        title: string
                        isArchived: boolean
                creditedToUser:
                    id: string
                    firstName: string
                    lastName: string
                    email: string
                    globalRole: string
                    isEnabled: boolean
                    updatedAt: date
            AshbyJob:
                id: string
                title: string
                confidential: boolean
                status: string
                employmentType: string
                locationId: string
                departmentId: string
                defaultInterviewPlanId: string
                interviewPlanIds: string[]
                customFields: string[]
                jobPostingIds: string[]
                customRequisitionId: string
                hiringTeam: string[]
                updatedAt: date
                location:
                    id: string
                    name: string
                    isArchived: boolean
                    address:
                        postalAddress:
                            addressCountry: string
                            addressRegion: string
                            addressLocality: string
                    isRemote: boolean
                openings: string[]
            AshbyCreateApplicationResponse:
                id: string
                createdAt: date
                updatedAt: date
                status: string
                customFields: string[]
                candidate:
                    id: string
                    name: string
                    primaryEmailAddress:
                        value: string
                        type: string
                        isPrimary: boolean
                    primaryPhoneNumber:
                        value: string
                        type: string
                        isPrimary: boolean
                currentInterviewStage:
                    id: string
                    title: string
                    type: string
                    orderInInterviewPlan: number
                    interviewPlanId: string
                source:
                    id: string
                    title: string
                    isArchived: boolean
                    sourceType:
                        id: string
                        title: string
                        isArchived: boolean
                archiveReason:
                    id: string
                    text: string
                    reasonType: string
                    isArchived: boolean
                job:
                    id: string
                    title: string
                    locationId: string
                    departmentId: string
                creditedToUser:
                    id: string
                    firstName: string
                    lastName: string
                    email: string
                    globalRole: string
                    isEnabled: boolean
                    updatedAt: date
                hiringTeam: string[]
                appliedViaJobPostingId: string
            StagesResponse:
                stages: InterviewStageListResponse[]
            InterviewStageList:
                interviewPlanId: string
            AshbyCreateNoteResponse:
                id: string
                createdAt: date
                content: string
                author:
                    id: string
                    firstName: string
                    lastName: string
                    email: string
            AshbyCreateCandidateInput:
                candidateId: string
                jobId: string
                interviewPlanId: string | undefined
                interviewStageId: string | undefined
                sourceId: string | undefined
                creditedToUserId: string | undefined
            AshbyCreateNoteInput:
                candidateId: string
                note: string | NoteObject
                sendNotifications: boolean | undefined
            NoteObject:
                value: string
                type: string
            ChangeStage:
                applicationId: string
                interviewStageId: string
                archiveReasonId?: string
            ChangeSource:
                applicationId: string
                sourceId: string
            CreateCandidate:
                name: string
                email?: string
                phoneNumber?: string
                linkedInUrl?: string
                githubUrl?: string
                website?: string
                alternateEmailAddresses?: string[]
                sourceId?: string
                creditedToUserId?: string
                location?:
                    city?: string
                    region?: string
                    country?: string
                createdAt?: date
            AshbyCreateCandidateResponse:
                id: string
                createdAt?: date
                updatedAt?: date
                name: string
                primaryEmailAddress?:
                    value: string
                    type: string
                    isPrimary: boolean
                emailAddresses?: EmailAddressObject[]
                primaryPhoneNumber?: PrimaryNumberObject[]
                phoneNumbers: PhoneNumbersObject[]
                socialLinks: SocialLinksObject[]
                tags: TagsObject[]
                position?: string | null
                company?: string | null
                applicationIds: string[]
                resumeFileHandle?:
                    id: string
                    name: string
                    handle: string
                fileHandles: FileaHandlesObject[]
                customFields?: object[]
                profileUrl: string
                source?:
                    id: string
                    title: string
                    isArchived: boolean
                    sourceType?:
                        id: string
                        title: string
                        isArchived: string
                creditedToUser?:
                    id: string
                    firstName: string
                    lastName: string
                    email: string
                    globalRole: string
                    isEnabled: boolean
                    updatedAt: date
                timezone?: string
                primaryLocation?:
                    id: string
                    locationSummary: string
                    locationComponents: LocationComponentsObject[]
            EmailAddressObject:
                value: string
                type: string
                isPrimary: boolean
            PrimaryNumberObject:
                value: string
                type: string
                isPrimary: boolean
            PhoneNumbersObject:
                value: string
                type: string
                isPrimary: boolean
            SocialLinksObject:
                type: string
                url: string
            TagsObject:
                id: string
                title: string
                isArchived: boolean
            FileaHandlesObject:
                id: string
                name: string
                handle: string
            LocationComponentsObject:
                type: string
                name: string
            InterviewStageListResponse:
                id: string
                title: string
                type: string
                orderInInterviewPlan: number
                interviewStageGroupId?: string
                interviewPlanId: string
            AshbyResponse:
                success: boolean
                errors?: string[]
                results?: >-
                    AshByApplicationSuccessObject | AshbyCreateCandidateResponse |
                    InterviewStageListResponse
                moreDataAvailable?: boolean
            HiringTeamObject:
                email: string
                firstName: string
                lastName: string
                role: string
                userId: string
            UpdateApplication:
                applicationId: string
                sourceId?: string
                creditedToUserId?: string
                createdAt?: date
                sendNotifications?: boolean
            UpdateAshbyApplication:
                applicationId: string
                sourceId?: string
                interviewStageId?: string
                archiveReasonId?: string
                applicationHistory?: ApplicationHistoryObject[]
            UpdateHistory:
                applicationId: string
                applicationHistory: ApplicationHistoryObject[]
            ApplicationHistoryObject:
                stageId: string
                stageNumber: number
                enteredStageAt: date
                applicationHistoryId?: string
                archiveReasonId?: string
            AshByApplicationSuccessObject:
                id: string
                createdAt: date
                updatedAt: date
                status: string
                customFields: object[]
                candidate:
                    id: string
                    name: string
                    primaryEmailAddress?:
                        value: string
                        type: any
                        isPrimary: string
                    primaryPhoneNumber?: object
                currentInterviewStage:
                    id: string
                    title: string
                    type: string
                    orderInInterviewPlan: number
                    interviewStageGroupId?: string
                    interviewPlanId: string
                source?:
                    id: string
                    title: string
                    isArchived: boolean
                    sourceType:
                        id: string
                        title: string
                        isArchived: boolean
                archiveReason?:
                    id: string
                    text: string
                    reasonType: string
                    isArchived: boolean
                archivedAt?: date
                job:
                    id: string
                    title: string
                    locationId: string
                    departmentId: string
                creditedToUser?:
                    id: string
                    firstName: string
                    lastName: string
                    email?: string
                    globalRole: string
                    isEnabled: boolean
                    updatedAt: date
                hiringTeam: HiringTeamObject[]
                appliedViaJobPostingId?: string
    avalara:
        actions:
            create-transaction:
                description: |
                    Creates a new transaction
                input: CreateTransaction
                output: IdEntity
                scopes: >-
                    AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin,
                    CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin,
                    TechnicalSupportUser
                endpoint:
                    method: POST
                    path: /transactions
                    group: Transactions
            commit-transaction:
                description: |
                    Marks a transaction by changing its status to Committed
                input: TransactionCode
                output: IdEntity
                scopes: >-
                    AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin,
                    CompanyAdmin, CompanyUser, CSPTester, ProStoresOperator, SSTAdmin,
                    TechnicalSupportAdmin
                endpoint:
                    method: PUT
                    path: /transactions
                    group: Transactions
            void-transaction:
                description: >
                    Voids the current transaction uniquely identified by the
                    transactionCode
                input: TransactionCode
                output: IdEntity
                scopes: >-
                    AccountAdmin, AccountOperator, BatchServiceAdmin, CompanyAdmin,
                    CSPTester, ProStoresOperator, SSTAdmin, TechnicalSupportAdmin
                endpoint:
                    method: DELETE
                    path: /transactions
                    group: Transactions
        syncs:
            transactions:
                description: List all transactions with a default backfill date of one year.
                input: ConnectionMetadata
                output: Transaction
                runs: every hour
                endpoint:
                    method: GET
                    path: /transactions
                    group: Transactions
        models:
            IdEntity:
                id: string
            ConnectionMetadata:
                company: string
                backfillPeriodMs?: number
            Transaction:
                id: string
                code: string
                companyId: number
                date: string
                paymentDate: string
                status: string
                type: string
                batchCode: string
                currencyCode: string
                exchangeRateCurrencyCode: string
                customerUsageType: string
                entityUseCode: string
                customerVendorCode: string
                customerCode: string
                exemptNo: string
                reconciled: boolean
                locationCode: string
                reportingLocationCode: string
                purchaseOrderNo: string
                referenceCode: string
                salespersonCode: string
                taxOverrideType: string
                taxOverrideAmount: number
                taxOverrideReason: string
                totalAmount: number
                totalExempt: number
                totalDiscount: number
                totalTax: number
                totalTaxable: number
                totalTaxCalculated: number
                adjustmentReason: string
                adjustmentDescription: string
                locked: boolean
                region: string
                country: string
                version: number
                softwareVersion: string
                originAddressId: number
                destinationAddressId: number
                exchangeRateEffectiveDate: string
                exchangeRate: number
                isSellerImporterOfRecord: boolean
                description: string
                email: string
                businessIdentificationNo: string
                modifiedDate: string
                modifiedUserId: number
                taxDate: string
                lines: Line[]
                locationTypes: any[]
                messages: string[]
                summary: string[]
                addresses?: TransactionAddress[]
                taxDetailsByTaxType?: TaxDetailsByTaxType[]
            Line:
                id: number
                transactionId: number
                lineNumber: string
                boundaryOverrideId: number
                entityUseCode: string
                description: string
                destinationAddressId: number
                originAddressId: number
                discountAmount: number
                discountTypeId: number
                exemptAmount: number
                exemptCertId: number
                exemptNo: string
                isItemTaxable: boolean
                isSSTP: boolean
                itemCode: string
                lineAmount: number
                quantity: number
                ref1: string
                reportingDate: string
                revAccount: string
                sourcing: string
                tax: number
                taxableAmount: number
                taxCalculated: number
                taxCode: string
                taxDate: string
                taxEngine: string
                taxOverrideType: string
                taxOverrideAmount: number
                taxOverrideReason: string
                taxIncluded: boolean
                details: Detail[]
                vatNumberTypeId: number
                recoverabilityPercentage: number
                recoverableAmount: number
                nonRecoverableAmount: number
            Detail:
                id: number
                transactionLineId: number
                transactionId: number
                addressId: number
                country: string
                region: string
                stateFIPS: string
                exemptAmount: number
                exemptReasonId: number
                exemptRuleId: number
                inState: boolean
                jurisCode: string
                jurisName: string
                jurisdictionId: number
                signatureCode: string
                stateAssignedNo: string
                jurisType: string
                nonTaxableAmount: number
                nonTaxableRuleId: number
                nonTaxableType: string
                rate: number
                rateRuleId: number
                rateSourceId: number
                serCode: string
                sourcing: string
                tax: number
                taxableAmount: number
                taxType: string
                taxName: string
                taxAuthorityTypeId: number
                taxRegionId: number
                taxCalculated: number
                taxOverride: number
                rateType: string
                taxableUnits: number
                nonTaxableUnits: number
                exemptUnits: number
                reportingTaxableUnits: number
                reportingNonTaxableUnits: number
                reportingExemptUnits: number
                reportingTax: number
                reportingTaxCalculated: number
                recoverabilityPercentage: number
                recoverableAmount: number
                nonRecoverableAmount: number
            TransactionAddress:
                id: number
                transactionId: number
                boundaryLevel: string
                line1: string
                city: string
                region: string
                postalCode: string
                country: string
                taxRegionId: number
            TaxDetailsByTaxType:
                taxType: string
                totalTaxable: number
                totalExempt: number
                totalNonTaxable: number
                totalTax: number
            CreateTransaction:
                invoice: Invoice
                externalCustomerId: string
                companyCode?: string
                addresses:
                    singleLocation?: Address
                    shipFrom?: Address
                    shipTo?: Address
                    pointOfOrderOrigin?: Address
                    pointOfOrderAcceptance?: Address
                    goodsPlaceOrServiceRendered?: Address
                    import?: Address
                    billTo?: Address
            TransactionCode:
                transactionCode: string
            Address:
                line1?: string
                city?: string
                region?: string
                country?: string
                postalCode?: string
            InvoiceCoupon:
                name: string
                discountAmount: number
            InvoiceLineItemTier:
                unitCount: string
                unitAmount: string
                totalAmount: number
            InvoiceLineItem:
                id?: string | undefined
                billingItemId?: string | null | undefined
                name: string
                description: string | null
                unitsCount: number
                unitAmount: string
                taxAmount: number
                taxRate: string
                amount?: number | undefined
                amountExcludingTax: number
                periodStart: string | null
                periodEnd: string | null
                invoiceLineItemTiers: InvoiceLineItemTier[]
            Invoice:
                id: string
                invoiceNumber: string
                emissionDate: string
                dueDate: string
                status: >-
                    to_pay | partially_paid | paid | late | grace_period | to_pay_batch |
                    voided
                taxRate: string
                currency: string
                invoiceLineItems: InvoiceLineItem[]
                coupons: InvoiceCoupon[]
                type: invoice | refund
                discountAmount: number
    avalara-sandbox:
        actions:
            create-transaction:
                description: |
                    Creates a new transaction
                input: CreateTransaction
                output: IdEntity
                scopes: >-
                    AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin,
                    CompanyAdmin, CompanyUser, CSPTester, SSTAdmin, TechnicalSupportAdmin,
                    TechnicalSupportUser
                endpoint:
                    method: POST
                    path: /transactions
                    group: Transactions
            commit-transaction:
                description: |
                    Marks a transaction by changing its status to Committed
                input: TransactionCode
                output: IdEntity
                scopes: >-
                    AccountAdmin, AccountOperator, AccountUser, BatchServiceAdmin,
                    CompanyAdmin, CompanyUser, CSPTester, ProStoresOperator, SSTAdmin,
                    TechnicalSupportAdmin
                endpoint:
                    method: PUT
                    path: /transactions
                    group: Transactions
            void-transaction:
                description: >
                    Voids the current transaction uniquely identified by the
                    transactionCode
                input: TransactionCode
                output: IdEntity
                scopes: >-
                    AccountAdmin, AccountOperator, BatchServiceAdmin, CompanyAdmin,
                    CSPTester, ProStoresOperator, SSTAdmin, TechnicalSupportAdmin
                endpoint:
                    method: DELETE
                    path: /transactions
                    group: Transactions
        syncs:
            transactions:
                description: List all transactions with a default backfill date of one year.
                input: ConnectionMetadata
                output: Transaction
                runs: every hour
                endpoint:
                    method: GET
                    path: /transactions
                    group: Transactions
        models:
            IdEntity:
                id: string
            ConnectionMetadata:
                company: string
                backfillPeriodMs?: number
            Transaction:
                id: string
                code: string
                companyId: number
                date: string
                paymentDate: string
                status: string
                type: string
                batchCode: string
                currencyCode: string
                exchangeRateCurrencyCode: string
                customerUsageType: string
                entityUseCode: string
                customerVendorCode: string
                customerCode: string
                exemptNo: string
                reconciled: boolean
                locationCode: string
                reportingLocationCode: string
                purchaseOrderNo: string
                referenceCode: string
                salespersonCode: string
                taxOverrideType: string
                taxOverrideAmount: number
                taxOverrideReason: string
                totalAmount: number
                totalExempt: number
                totalDiscount: number
                totalTax: number
                totalTaxable: number
                totalTaxCalculated: number
                adjustmentReason: string
                adjustmentDescription: string
                locked: boolean
                region: string
                country: string
                version: number
                softwareVersion: string
                originAddressId: number
                destinationAddressId: number
                exchangeRateEffectiveDate: string
                exchangeRate: number
                isSellerImporterOfRecord: boolean
                description: string
                email: string
                businessIdentificationNo: string
                modifiedDate: string
                modifiedUserId: number
                taxDate: string
                lines: Line[]
                locationTypes: any[]
                messages: string[]
                summary: string[]
                addresses?: TransactionAddress[]
                taxDetailsByTaxType?: TaxDetailsByTaxType[]
            Line:
                id: number
                transactionId: number
                lineNumber: string
                boundaryOverrideId: number
                entityUseCode: string
                description: string
                destinationAddressId: number
                originAddressId: number
                discountAmount: number
                discountTypeId: number
                exemptAmount: number
                exemptCertId: number
                exemptNo: string
                isItemTaxable: boolean
                isSSTP: boolean
                itemCode: string
                lineAmount: number
                quantity: number
                ref1: string
                reportingDate: string
                revAccount: string
                sourcing: string
                tax: number
                taxableAmount: number
                taxCalculated: number
                taxCode: string
                taxDate: string
                taxEngine: string
                taxOverrideType: string
                taxOverrideAmount: number
                taxOverrideReason: string
                taxIncluded: boolean
                details: Detail[]
                vatNumberTypeId: number
                recoverabilityPercentage: number
                recoverableAmount: number
                nonRecoverableAmount: number
            Detail:
                id: number
                transactionLineId: number
                transactionId: number
                addressId: number
                country: string
                region: string
                stateFIPS: string
                exemptAmount: number
                exemptReasonId: number
                exemptRuleId: number
                inState: boolean
                jurisCode: string
                jurisName: string
                jurisdictionId: number
                signatureCode: string
                stateAssignedNo: string
                jurisType: string
                nonTaxableAmount: number
                nonTaxableRuleId: number
                nonTaxableType: string
                rate: number
                rateRuleId: number
                rateSourceId: number
                serCode: string
                sourcing: string
                tax: number
                taxableAmount: number
                taxType: string
                taxName: string
                taxAuthorityTypeId: number
                taxRegionId: number
                taxCalculated: number
                taxOverride: number
                rateType: string
                taxableUnits: number
                nonTaxableUnits: number
                exemptUnits: number
                reportingTaxableUnits: number
                reportingNonTaxableUnits: number
                reportingExemptUnits: number
                reportingTax: number
                reportingTaxCalculated: number
                recoverabilityPercentage: number
                recoverableAmount: number
                nonRecoverableAmount: number
            TransactionAddress:
                id: number
                transactionId: number
                boundaryLevel: string
                line1: string
                city: string
                region: string
                postalCode: string
                country: string
                taxRegionId: number
            TaxDetailsByTaxType:
                taxType: string
                totalTaxable: number
                totalExempt: number
                totalNonTaxable: number
                totalTax: number
            CreateTransaction:
                invoice: Invoice
                externalCustomerId: string
                companyCode?: string
                addresses:
                    singleLocation?: Address
                    shipFrom?: Address
                    shipTo?: Address
                    pointOfOrderOrigin?: Address
                    pointOfOrderAcceptance?: Address
                    goodsPlaceOrServiceRendered?: Address
                    import?: Address
                    billTo?: Address
            TransactionCode:
                transactionCode: string
            Address:
                line1?: string
                city?: string
                region?: string
                country?: string
                postalCode?: string
            InvoiceCoupon:
                name: string
                discountAmount: number
            InvoiceLineItemTier:
                unitCount: string
                unitAmount: string
                totalAmount: number
            InvoiceLineItem:
                id?: string | undefined
                billingItemId?: string | null | undefined
                name: string
                description: string | null
                unitsCount: number
                unitAmount: string
                taxAmount: number
                taxRate: string
                amount?: number | undefined
                amountExcludingTax: number
                periodStart: string | null
                periodEnd: string | null
                invoiceLineItemTiers: InvoiceLineItemTier[]
            Invoice:
                id: string
                invoiceNumber: string
                emissionDate: string
                dueDate: string
                status: >-
                    to_pay | partially_paid | paid | late | grace_period | to_pay_batch |
                    voided
                taxRate: string
                currency: string
                invoiceLineItems: InvoiceLineItem[]
                coupons: InvoiceCoupon[]
                type: invoice | refund
                discountAmount: number
    aws-iam:
        actions:
            create-user:
                description: Creates a user in AWS IAM.
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: AWSCreateUser
            delete-user:
                description: >
                    Delete an existing user in AWS IAM. When you delete a user, you must
                    delete the items attached to the user manually, or the deletion fails.
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: UserNamEntity
        syncs:
            users:
                runs: every day
                description: |
                    Fetches a list of users from AWS IAM
                output: User
                sync_type: full
                track_deletes: true
                endpoint:
                    method: GET
                    path: /users
                    group: Users
        models:
            UserNamEntity:
                userName: string
            SuccessResponse:
                success: boolean
            ActionResponseError:
                message: string
            User:
                id: string
                firstName: string
                lastName: string
                email: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
            AWSCreateUser:
                firstName: string
                lastName: string
                email: string
                userName?: string
    bamboohr-basic:
        syncs:
            employees:
                runs: every 6 hours
                description: |
                    Fetches a list of current employees from bamboohr
                output: BamboohrEmployee
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /employees
                    group: Employees
        actions:
            create-employee:
                description: |
                    Action to create a new employee
                output: BamboohrCreateEmployeeResponse
                input: BamboohrCreateEmployee
                endpoint:
                    method: POST
                    path: /employees
                    group: Employees
                version: 1.0.0
            update-employee:
                endpoint:
                    method: PUT
                    path: /employees
                    group: Employees
                input: BamboohrUpdateEmployee
                output: BamboohrResponseStatus
                description: Update an existing employee in the system
            fetch-fields:
                endpoint:
                    method: GET
                    path: /fields
                output: BamboohrField[]
                description: Introspection to retrieve available fields
        models:
            BamboohrField:
                id: string
                type: string
                name: string
                alias?: string
                options?: Option[]
            Option:
                id: number
                name: string
            BamboohrEmployee:
                id: string
                employeeNumber: string
                firstName: string
                lastName: string
                dateOfBirth: string
                address1: string
                bestEmail: string
                workEmail: string
                jobTitle: string
                hireDate: string
                supervisorId: string
                supervisor: string
                createdByUserId: string
                department: string
                division: string
                employmentHistoryStatus: string
                gender: string
                country: string
                city: string
                location: string
                state: string
                maritalStatus: string
                exempt: string
                payRate: string
                payType: string
                payPer: string
                ssn: string
                workPhone: string
                homePhone: string
            BamboohrCreateEmployee:
                firstName: string
                lastName: string
                employeeNumber?: string
                dateOfBirth?: string
                address1?: string
                bestEmail?: string
                workEmail?: string
                jobTitle?: string
                hireDate?: string
                supervisorId?: string
                supervisor?: string
                createdByUserId?: string
                department?: string
                division?: string
                employmentHistoryStatus?: string
                gender?: string
                country?: string
                city?: string
                location?: string
                state?: string
                maritalStatus?: string
                exempt?: string
                payRate?: string
                payType?: string
                payPer?: string
                ssn?: string
                workPhone?: string
                homePhone?: string
            BamboohrUpdateEmployee:
                id: string
                firstName?: string
                lastName?: string
                employeeNumber?: string
                dateOfBirth?: string
                address1?: string
                bestEmail?: string
                workEmail?: string
                jobTitle?: string
                hireDate?: string
                supervisorId?: string
                supervisor?: string
                createdByUserId?: string
                department?: string
                division?: string
                employmentHistoryStatus?: string
                gender?: string
                country?: string
                city?: string
                location?: string
                state?: string
                maritalStatus?: string
                exempt?: string
                payRate?: string
                payType?: string
                payPer?: string
                ssn?: string
                workPhone?: string
                homePhone?: string
            BamboohrCreateEmployeeResponse:
                status: string
                id: string
            BamboohrResponseStatus:
                status: string
    bill:
        actions:
            create-user:
                description: Creates a user in Bill.
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: BillCreateUser
            disable-user:
                description: Archive an existing user in Bill
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
        syncs:
            users:
                runs: every day
                description: |
                    Fetches a list of users from Bill sandbox
                output: User
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /users
                    group: Users
        models:
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            ActionResponseError:
                message: string
            User:
                id: string
                firstName: string
                lastName: string
                email: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
            BillCreateUser:
                firstName: string
                lastName: string
                email: string
                roleId?: string
                acceptTermsOfService?: boolean
    bill-sandbox:
        actions:
            create-user:
                description: Creates a user in Bill.
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: BillCreateUser
            disable-user:
                description: Archive an existing user in Bill
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
        syncs:
            users:
                runs: every day
                description: |
                    Fetches a list of users from Bill sandbox
                output: User
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /users
                    group: Users
        models:
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            ActionResponseError:
                message: string
            User:
                id: string
                firstName: string
                lastName: string
                email: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
            BillCreateUser:
                firstName: string
                lastName: string
                email: string
                roleId?: string
                acceptTermsOfService?: boolean
    box:
        actions:
            create-user:
                description: Creates a user in Box. Requires an enterprise account.
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: BoxCreateUser
            delete-user:
                description: Deletes a user in Box. Requires an enterprise account.
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: BoxDeleteUser
        syncs:
            users:
                runs: every day
                description: |
                    Fetches a list of users from Box. Requires an enterprise account.
                output: User
                track_deletes: true
                sync_type: full
                endpoint:
                    method: GET
                    path: /users
                    group: Users
        models:
            SuccessResponse:
                success: boolean
            IdEntity:
                id: string
            User:
                id: string
                email: string
                firstName: string
                lastName: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
            BoxCreateUser:
                firstName: string
                lastName: string
                email: string
                address?: string
                can_see_managed_users?: boolean
                external_app_user_id?: string
                is_exempt_from_device_limits?: boolean
                is_exempt_from_login_verification?: boolean
                is_external_collab_restricted?: boolean
                is_platform_access_only?: boolean
                is_sync_enabled?: boolean
                job_title?: string
                language?: string
                phone?: string
                role?: coadmin | user
                space_amount?: number
                status?: active| inactive| cannot_delete_edit| cannot_delete_edit_upload
                timezone?: string
                tracking_codes?: TrackingCode[]
            TrackingCode:
                type?: tracking_code
                name?: string
                value?: string
            CreatedUser:
                id: string
                type: string
                address?: string
                avatar_url?: string
                can_see_managed_users: boolean
                created_at: string
                enterprise: Enterprise
                external_app_user_id?: string
                hostname: string
                is_exempt_from_device_limits: boolean
                is_exempt_from_login_verification: boolean
                is_external_collab_restricted: boolean
                is_platform_access_only: boolean
                is_sync_enabled: boolean
                job_title?: string
                language?: string
                login: string
                max_upload_size: integer
                modified_at: string
                name: string
                notification_email: NotificationEmail
                phone?: string
                role: string
                space_amount: integer
                space_used: integer
                status: string
                timezone?: string
                tracking_codes?: TrackingCode[]
            NotificationEmail:
                email: string
                is_confirmed: boolean
            Enterprise:
                id: string
                type: string
                name: string
            BoxDeleteUser:
                id: string
                force?: boolean
                notify?: boolean
    cal-com-v2:
        syncs:
            events:
                sync_type: full
                track_deletes: true
                runs: every hour
                endpoint:
                    method: GET
                    path: /events
                output: Event
                description: Retrieve all upcoming events per a user
            event-types:
                sync_type: full
                track_deletes: true
                runs: every hour
                endpoint:
                    method: GET
                    path: /event/types
                output: EventType
                description: Retrieve all event types per a user
        models:
            EventType:
                id: string
                teamId: null | number
                schedulingType: null | string
                userId: number
                metadata:
                    __string: any
                description: string | null
                hidden: boolean
                slug: string
                length: number
                title: string
                requiresConfirmation: boolean
                position: number
                offsetStart: number
                profileId: string | null
                eventName: string | null
                parentId: number | null
                timeZone: string | null
                periodType: string
                periodStartDate: string | null
                periodEndDate: string | null
                periodDays: number | null
                periodCountCalendarDays: number | null
                lockTimeZoneToggleOnBookingPage: boolean
                requiresBookerEmailVerification: boolean
                disableGuests: boolean
                hideCalendarNotes: boolean
                minimumBookingNotice: number
                beforeEventBuffer: number
                afterEventBuffer: number
                seatsPerTimeSlot: number | null
                onlyShowFirstAvailableSlot: boolean
                seatsShowAttendees: boolean
                seatsShowAvailabilityCount: boolean
                scheduleId: number | null
                price: number
                currency: string
                slotInterval: number | null
                successRedirectUrl: string | null
                isInstantEvent: boolean
                aiPhoneCallConfig: string | null
                assignAllTeamMembers: boolean
                recurringEvent: boolean | null
                locations:
                    - type: string
                bookingFields: string | null
                useEventTypeDestinationCalendarEmail: boolean
                secondaryEmailId: string | null
                bookingLimits: boolean | null
                durationLimits: boolean | null
                hashedLink: string | null
                children:
                    - __string: any
                hosts:
                    - __string: any
                userIds: number[]
            User:
                username: string
                name: string
                weekStart: string
                organizationId: number
                avatarUrl: string
                profile:
                    username: string
                    id: number
                    userId: number
                    uid: string
                    name: string
                    organizationId: number
                    organization:
                        id: number
                        slug: string
                        name: string
                        metadata:
                            __string: any
                    upId: string
                    image: string
                    brandColor: string
                    darkBrandColor: string
                    theme: string
                    bookerLayouts:
                        __string: any
                bookerUrl: string
            Attendee:
                id: number
                email: string
                name: string
                timeZone: string
                locale: string
                bookingId: number
            Event:
                id: string
                title: string
                userPrimaryEmail: string
                description: string
                customInputs:
                    __string: any
                startTime: string
                endTime: string
                attendees: Attendee[]
                metadata:
                    __string: any
                uid: string
                recurringEventId: string
                location: string
                eventType:
                    slug: string
                    id: number
                    eventName: string
                    price: number
                    recurringEvent:
                        __string: any
                    currency: string
                    metadata:
                        __string: any
                    seatsShowAttendees:
                        __string: any
                    seatsShowAvailabilityCount:
                        __string: any
                    team:
                        __string: any
                status:
                    __string: any
                paid: boolean
                payment:
                    - __string: any
                references:
                    - id: number
                      type: string
                      uid: string
                      meetingId: string
                      thirdPartyRecurringEventId: string
                      meetingPassword: string
                      meetingUrl: string
                      bookingId: number
                      externalCalendarId: string
                      deleted:
                          __string: string
                      credentialId: number
                isRecorded: boolean
                seatsReferences:
                    - __string: any
                user: User
                rescheduled:
                    __string: any
    calendly:
        syncs:
            events:
                sync_type: incremental
                runs: every hour
                endpoint:
                    method: GET
                    path: /events
                output: Event
                description: Retrieve all events per a user
            event-types:
                sync_type: incremental
                runs: every hour
                endpoint:
                    method: GET
                    path: /event/types
                output: EventType
                description: Retrieve all event types per a user
            event-invitees:
                sync_type: incremental
                runs: every hour
                endpoint:
                    method: GET
                    path: /event/invitees
                output: EventInvitee
                description: For all events (active and canceled) retrieve the event invitees
            users:
                runs: every day
                description: Fetches a list of users from Calendly
                output: User
                track_deletes: true
                sync_type: full
                endpoint:
                    method: GET
                    path: /users
                    group: Users
        actions:
            create-user:
                description: Creates a user in Calendly
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                output: User
                input: CreateUser
                scopes:
                    - admin
            delete-user:
                description: Deletes a user in Calendly
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
                scopes:
                    - admin
            whoami:
                description: Fetch current user information
                output: UserInformation
                endpoint:
                    method: GET
                    path: /whoami
                    group: Users
        models:
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            User:
                id: string
                email: string
                firstName: string
                lastName: string
            CreateUser:
                email: string
            UserInformation:
                id: string
                email: string
            Event:
                id: string
                uri: string
                name: string | null
                meeting_notes_plain: string | null
                meeting_notes_html: string | null
                status: active | canceled
                start_time: string
                end_time: string
                event_type: string
                location: EventLocation
                invitees_counter: InviteesCounter
                created_at: string
                updated_at: string
                event_memberships: EventMembership[]
                event_guests: EventGuest[]
                calendar_event: CalendarEvent | null
                cancellation?: EventCancellation
            CalendarEvent:
                kind: string
                external_id: string
            EventCancellation:
                canceled_by: string
                reason: string | null
                canceler_type: string
                created_at: string
            EventMembership:
                user: string
                user_email: string | null
                user_name: string
            EventGuest:
                email: string
                created_at: string
                updated_at: string
            InviteesCounter:
                total: number
                active: number
                limit: number
            EventLocation:
                type: string
                location?: string
                join_url?: string
                status: string | null
                additional_info: string
            EventTypeLocation:
                kind: string
                phone_number: number
                additional_info: string
            EventQuestion:
                name: string
                type: string
                position: number
                enabled: boolean
                required: boolean
                answer_choices: string[]
                include_other: boolean
            EventProfile:
                type: string
                name: string
                owner: string
            EventType:
                id: string
                uri: string
                name: string | null
                active: boolean
                booking_method: string
                slug: string | null
                scheduling_url: string
                duration: number
                kind: string
                pooling_type: string | null
                type: string
                color: string
                created_at: string
                updated_at: string
                internal_note: string | null
                description_plain: string
                description_html: string
                profile: Profile | null
                secret: boolean
                deleted_at: string | null
                admin_managed: boolean
                locations: EventTypeLocation[] | null
                custom_questions: EventQuestion[]
                position: number
            QuestionAndAnswer:
                answer: string
                position: number
                question: string
            Tracking:
                utm_campaign: string | null
                utm_source: string | null
                utm_medium: string | null
                utm_content: string | null
                utm_term: string | null
                salesforce_uuid: string | null
            Payment:
                external_id: string
                provider: string
                amount: number
                currency: string
                terms: string
                successful: boolean
            Reconfirmation:
                created_at: string
                confirmed_at: string
            EventInvitee:
                id: string
                cancel_url: string
                created_at: string
                email: string
                event: string
                name: string
                first_name: string | null
                last_name: string | null
                new_invitee: string | null
                old_invitee: string | null
                questions_and_answers: QuestionAndAnswer[]
                reschedule_url: string
                rescheduled: boolean
                status: string
                text_reminder_number: string | null
                timezone: string
                tracking: Tracking
                updated_at: string
                uri: string
                cancellation?: EventCancellation
                routing_form_submission: string | null
                payment: Payment | null
                no_show: string | null
                reconfirmation: Reconfirmation | null
                scheduling_method: string | null
                invitee_scheduled_by: string | null
    checkr-partner:
        actions:
            background-check-services:
                endpoint:
                    method: GET
                    path: /background-check/service-list
                output: CheckrServicesResponse
                description: Fetch the possible services that Checkr offers for a background check
            background-check-parameters:
                endpoint:
                    method: GET
                    path: /background-check/service-parameters
                input: BackgroundCheckParametersInput
                output: BackgroundCheckParameterResponse
                description: Fetch the parameters required to trigger a background check
            trigger-background-check:
                endpoint:
                    method: POST
                    path: /background-check/trigger
                input: TriggerBackgroundCheckInput
                output: TriggeredBackgroundCheck
                description: Trigger a background check
            create-candidate:
                endpoint:
                    method: POST
                    path: /candidates
                output: Candidate
                input: CreateCandidate
        syncs:
            background-checks:
                endpoint:
                    method: GET
                    path: /background-checks
                output: BackgroundCheck
                runs: every hour
                sync_type: incremental
                description: Fetch all the background checks
        models:
            Timestamps:
                created_at: string
                updated_at: string
            UtilityAnyType:
                __string: any
            Location:
                city?: string
                country: string
                state?: string
            Candidate:
                id: string
                object: string
                uri: string
                first_name: string
                middle_name: string | null
                last_name: string
                mother_maiden_name: string
                email: string
                phone: number
                zipcode: number
                dob: string
                ssn: string
                driver_license_number: string
                driver_license_state: string
                previous_driver_license_number: string
                previous_driver_license_state: string
                copy_requested: boolean
                custom_id: string
                report_ids: string[]
                geo_ids: string[]
                adjudication: string
                metadata: UtilityAnyType
            CreateCandidate:
                city?: string
                country: string
                state?: string
                first_name: string
                middle_name?: string
                no_middle_name?: boolean
                last_name: string
                email: string
                phone: string
                zipcode: string
                dob: string
                ssn: string
                driver_license_number: string
                driver_license_state: string
                work_locations: Location[]
            BackgroundCheck:
                id: string
                status: string
                service_key: string
                url: string
                candidate_id: string
                created_at: string
                expires_at?: string | undefined
            CheckrTriggeredBackgroundCheck:
                created_at: string
                updated_at: string
                id: string
                object: string
                uri: string
                invitation_url: string
                status: string
                completed_at: string | null
                deleted_at: string | null
                package: string
                candidate_id: string
                report_id: string | null
                archived: boolean
                expires_at?: string
                archived_info:
                    time: string
                    user:
                        email: string
                        id: string
            BackgroundCheckParametersInput:
                service_key: string
            TriggeredBackgroundCheck:
                created_at: string
                updated_at: string
                applicationId: any
                url: string
                status: string
                completed_at: string | null
                candidate_id: string
                service_key: string
                deleted_at: string | null
            TriggerBackgroundCheckInput:
                city?: string
                country: string
                state?: string
                service_key: string
                candidate_id: string
                node?: string
                tags?: string[]
            BackgroundCheckParameterResponse:
                parameters: BackgroundCheckParameters[]
            BackgroundCheckParameters:
                key: string
                type: string
                title: string
                description: string
                required: boolean
            CheckrServicesResponse:
                services: CheckrService[]
            CheckrScreening:
                type: string
                subtype: string | null
            CheckrService:
                id: string
                price: number
                drug_screening_price: number | null
                enabled_examples: string[]
                requires_observed_drug_test: boolean
                object: string
                apply_url: string
                created_at: string
                deleted_at: string | null
                name: string
                screenings: CheckrScreening[]
                slug: string
                uri: string
                node?: string
    checkr-partner-staging:
        syncs:
            account:
                runs: every half hour
                output: CheckrPartnerStagingAccount
                description: |
                    Fetches account details for the authenticated account.
                endpoint:
                    method: GET
                    path: /checkr-partner-staging/account
                sync_type: full
        models:
            CheckrPartnerStagingAccount:
                id: string
                object: string
                account_deauthorization: object
                adverse_action_email: string
                api_authorized: boolean
                authorized: boolean
                available_screenings: array
                billing_email: string
                company: object
                compliance_contact_email: string
                created_at: date
                default_compliance_city: string | null
                default_compliance_state: string | null
                geos_required: boolean
                name: string
                purpose: string
                segmentation_enabled: boolean
                support_email: string | null
                support_phone: string | null
                technical_contact_email: string
                uri: string
                uri_name: string
    clari-copilot:
        syncs:
            calls:
                runs: every hour
                output: ClariCopilotCall
                description: >
                    Fetches a list of calls from your account. For the first sync, it will
                    go back to the past one year
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /calls
        models:
            ClariCopilotCall:
                id: string
                source_id: string
                title: string
                users: any[]
                externalParticipants: any[]
                status: string
                bot_not_join_reason: string[]
                type: string
                time: string
                icaluid: string
                calendar_id: string
                recurring_event_id: string
                original_start_time: string
                last_modified_time: string
                audio_url: string
                video_url: string
                disposition: string
                deal_name: string
                deal_value: string
                deal_close_date: string
                deal_stage_before_call: string
                account_name: string
                contact_names: string[]
                crm_info:
                    source_crm: string
                    deal_id: string
                    account_id: string
                    contact_ids: string[]
                bookmark_timestamps: string[]
                metrics:
                    talk_listen_ratio: number
                    num_questions_asked: number
                    num_questions_asked_by_reps: number
                    call_duration: number
                    total_speak_duration: number
                    longest_monologue_duration: number
                    longest_monologue_start_time: number
                    engaging_questions: number
                    categories: string[]
                call_review_page_url: string
                deal_stage_live: string
                transcript: string[]
                summary:
                    full_summary: string
                    topics_discussed: string[]
                    key_action_items: string[]
                competitor_sentiments: string[]
    confluence:
        syncs:
            spaces:
                runs: every 4 hours
                output: ConfluenceSpace
                description: |
                    Fetches a list of spaces from confluence
                sync_type: full
                scopes: read:space:confluence
                endpoint:
                    method: GET
                    path: /spaces
            pages:
                runs: every 4 hours
                output: ConfluencePage
                description: |
                    Fetches a list of pages from confluence
                sync_type: full
                scopes: read:page:confluence
                endpoint:
                    method: GET
                    path: /pages
        models:
            ConfluenceSpace:
                id: string
                key: string
                name: string
                type: string
                status: string
                authorId: string
                createdAt: string
                homepageId: string
                description: string
            ConfluencePage:
                id: string
                title: string
                type: string
                status: string
                authorId: string
                createdAt: string
                spaceId: string
                parentId: string
                parentType: string
                position: number
                version:
                    createdAt: string
                    message: string
                    number: number
                    minorEdit: boolean
                    authorId: string
                body:
                    storage: object
                    atlas_doc_format: object
    datadog:
        actions:
            create-user:
                description: Creates a user in Datadog.
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: CreateUser
                scopes:
                    - user_access_invite
            disable-user:
                description: Disables a user in Datadog
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
                scopes:
                    - user_access_manage
        syncs:
            users:
                runs: every day
                description: |
                    Fetches a list of users from Datadog.
                output: User
                track_deletes: true
                sync_type: full
                endpoint:
                    method: GET
                    path: /users
                    group: Users
                scopes:
                    - user_access_read
        models:
            SuccessResponse:
                success: boolean
            IdEntity:
                id: string
            User:
                id: string
                email: string
                firstName: string
                lastName: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
    dialpad:
        syncs:
            users:
                runs: every day
                description: Fetches a list of users from Dialpad
                output: User
                track_deletes: true
                sync_type: full
                endpoint:
                    method: GET
                    path: /users
                    group: Users
        actions:
            create-user:
                description: Creates a user in Dialpad
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: DialpadCreateUser
            delete-user:
                description: Deletes a user in Dialpad by email
                endpoint:
                    method: DELETE
                    path: /users/email
                    group: Users
                output: SuccessResponse
                input: IdEntity
        models:
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            User:
                id: string
                email: string
                firstName: string
                lastName: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
            DialpadCreateUser:
                firstName: string
                lastName: string
                email: string
                license?: string
                officeId?: string
                autoAssign?: boolean
    dialpad-sandbox:
        syncs:
            users:
                runs: every day
                description: Fetches a list of users from Dialpad
                output: User
                track_deletes: true
                sync_type: full
                endpoint:
                    method: GET
                    path: /users
                    group: Users
        actions:
            create-user:
                description: Creates a user in Dialpad
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: DialpadCreateUser
            delete-user:
                description: Deletes a user in Dialpad by email
                endpoint:
                    method: DELETE
                    path: /users/email
                    group: Users
                output: SuccessResponse
                input: IdEntity
        models:
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            User:
                id: string
                email: string
                firstName: string
                lastName: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
            DialpadCreateUser:
                firstName: string
                lastName: string
                email: string
                license?: string
                officeId?: string
                autoAssign?: boolean
    discourse:
        syncs:
            active-users:
                description: |
                    Fetches a list of active users from Discourse.
                endpoint:
                    method: GET
                    path: /users
                sync_type: full
                runs: every 1 hour
                output: User
                track_deletes: true
            categories:
                endpoint:
                    method: GET
                    path: /categories
                    group: Categories
                description: List all categories
                sync_type: full
                track_deletes: true
                runs: every week
                output: Category
        actions:
            create-category:
                endpoint:
                    method: POST
                    path: /categories
                    group: Categories
                description: Create a category in discourse
                input: CreateCategory
                output: Category
            create-topic:
                endpoint:
                    method: POST
                    path: /topics
                description: Create a new topic in discourse
                input: CreateTopic
                output: Topic
            update-topic-status:
                endpoint:
                    method: PUT
                    path: /topics/status
                description: Update the status of a topic
                input: TopicStatus
                output: TopicStatusUpdated
        models:
            User:
                id: number
                username: string
                name: string
                admin: boolean
            CreateCategory:
                name: string
                color?: string
                text_color?: string
                parent_category_id?: string
                slug?: string
                search_priority?: string
            Category:
                id: string
                name: string
                color: string
                description: string | null
                slug: string
            CreateTopic:
                title: string
                category: number
                raw: string
            Topic:
                id: string
                name: string
                content: string
            TopicStatus:
                id: string
                status: closed | pinned | pinned_globally | archived | visible
                enabled: true | false
                until: string
            TopicStatusUpdated:
                success: string
                result: string
    docusign:
        syncs:
            users:
                runs: every day
                description: |
                    Fetches a list of users from DocuSign
                output: User
                track_deletes: true
                sync_type: full
                endpoint:
                    method: GET
                    path: /users
                    group: Users
                scopes:
                    - openid
                    - signature
        actions:
            create-user:
                description: Creates a user in DocuSign
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: DocuSignCreateUser
                scopes:
                    - openid
                    - signature
            delete-user:
                description: Deletes a user in DocuSign
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
                scopes:
                    - openid
                    - signature
        models:
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            User:
                id: string
                email: string
                firstName: string
                lastName: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
            DocuSignCreateUser:
                firstName: string
                lastName: string
                email: string
                userName?: string
                title?: string
                phoneNumber?: string
                company?: string
                countryCode?: string
                activationAccessCode?: string
                settings?:
                    language?: string
                    timeZone?: string
                userStatus?: string
    docusign-sandbox:
        syncs:
            users:
                runs: every day
                description: |
                    Fetches a list of users from DocuSign
                output: User
                track_deletes: true
                sync_type: full
                endpoint:
                    method: GET
                    path: /users
                    group: Users
                scopes:
                    - openid
                    - signature
        actions:
            create-user:
                description: Creates a user in DocuSign
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: DocuSignCreateUser
                scopes:
                    - openid
                    - signature
            delete-user:
                description: Deletes a user in DocuSign
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
                scopes:
                    - openid
                    - signature
        models:
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            User:
                id: string
                email: string
                firstName: string
                lastName: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
            DocuSignCreateUser:
                firstName: string
                lastName: string
                email: string
                userName?: string
                title?: string
                phoneNumber?: string
                company?: string
                countryCode?: string
                activationAccessCode?: string
                settings?:
                    language?: string
                    timeZone?: string
                userStatus?: string
    dropbox:
        actions:
            create-user:
                description: Creates a user in Dropbox. Requires Dropbox Business.
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: CreateUser
                scopes:
                    - members.write
            delete-user:
                description: Deletes a user in Dropbox. Requires Dropbox Business.
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
                scopes:
                    - members.delete
            fetch-file:
                description: >-
                    Fetches the content of a file given its ID, processes the data using a
                    response stream, and encodes it into a base64 string. This
                    base64-encoded string can be used to recreate the file in its original
                    format using an external tool.
                endpoint:
                    method: GET
                    path: /fetch-file
                output: string
                input: string
                scopes:
                    - files.content.read
        syncs:
            users:
                runs: every day
                description: |
                    Fetches a list of users from Dropbox. Requires Dropbox Business.
                output: User
                track_deletes: true
                sync_type: full
                endpoint:
                    method: GET
                    path: /users
                    group: Users
                scopes:
                    - members.read
            files:
                runs: every day
                description: >
                    Sync the metadata of a specified files or folders paths from Dropbox.
                    A file or folder id or path can be used.
                input: DocumentMetadata
                auto_start: false
                output: Document
                sync_type: full
                track_deletes: true
                endpoint:
                    method: GET
                    path: /files
                scopes:
                    - files.metadata.read
        models:
            SuccessResponse:
                success: boolean
            IdEntity:
                id: string
            User:
                id: string
                email: string
                firstName: string
                lastName: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
            DocumentMetadata:
                files: string[] | undefined
                folders: string[] | undefined
            Document:
                id: string
                path: string
                title: string
    evaluagent:
        syncs:
            users:
                runs: every day
                output: EvaluAgentUser
                description: |
                    Fetches a list of users from evaluagent
                sync_type: full
                endpoint:
                    method: GET
                    path: /evaluagent/users
            groups:
                runs: every day
                output: EvaluAgentGroup
                description: |
                    Fetches a list of groups from evaluagent
                sync_type: full
                endpoint:
                    method: GET
                    path: /evaluagent/groups
            roles:
                runs: every day
                output: EvaluAgentRole
                description: |
                    Fetches a list of roles from evaluagent
                sync_type: full
                endpoint:
                    method: GET
                    path: /evaluagent/roles
        models:
            EvaluAgentGroup:
                id: string
                name: string
                level: string
                active: boolean
                parent: string
                hasChildren: boolean
                isCustomReportingGroup: boolean
            EvaluAgentUser:
                id: string
                forename: string
                surname: string
                email: string
                username: string
                startDate: date
                active: boolean
                thirdPartyId: string | number
            EvaluAgentRole:
                id: string
                title: string
                name: string
    exact-online:
        syncs:
            customers:
                version: 1.0.0
                description: |
                    Fetches all customers in Exact Online
                runs: every hour
                output: ExactCustomer
                sync_type: full
                auto_start: true
                endpoint:
                    method: GET
                    path: /customers
                    group: Customers
                track_deletes: true
            payments:
                version: 1.0.0
                description: |
                    Fetches all payments in Exact Online
                runs: every hour
                output: ExactPayment
                sync_type: full
                auto_start: true
                endpoint:
                    method: GET
                    path: /payments
                track_deletes: true
        actions:
            create-customer:
                version: 1.0.0
                description: |
                    Creates a customer in ExactOnline
                input: ExactCustomerCreateInput
                output: ExactCustomerCreateOutput
                endpoint:
                    method: POST
                    path: /customers
                    group: Customers
            update-customer:
                version: 1.0.0
                description: |
                    Updates a customer in ExactOnline
                input: ExactCustomerUpdateInput
                output: ExactCustomerUpdateOutput
                endpoint:
                    method: PUT
                    path: /customers
                    group: Customers
            create-invoice:
                version: 1.0.0
                description: |
                    Creates an invoice in ExactOnline
                input: ExactInvoiceCreateInput
                output: ExactInvoiceCreateOutput
                endpoint:
                    method: POST
                    path: /invoices
                    group: Invoices
            update-invoice:
                version: 1.0.0
                description: |
                    Updates an invoice in ExactOnline
                input: ExactInvoiceUpdateInput
                output: ExactInvoiceUpdateOutput
                endpoint:
                    method: PUT
                    path: /invoices
                    group: Invoices
            attach-file-invoice:
                version: 1.0.0
                description: |
                    Uploads a file to ExactOnline and link it to an invoice
                input: ExactInvoiceAttachFileInput
                output: ExactInvoiceAttachFileOutput
                endpoint:
                    method: POST
                    path: /invoices/attach-file
        models:
            ExactCustomer:
                id: string
                division: number | null
                name: string
                email: string | null
                taxNumber: string | null
                addressLine1: string | null
                addressLine2: string | null
                city: string | null
                zip: string | null
                country: string | null
                state: string | null
                phone: string | null
            ExactCustomerCreateBase:
                name: string
                email?: string | null
                taxNumber?: string | null
                addressLine1?: string | null
                addressLine2?: string | null
                city?: string | null
                zip?: string | null
                country?: string | null
                state?: string | null
                phone?: string | null
            ExactCustomerCreateInput:
                name: string
                email?: string | null
                taxNumber?: string | null
                addressLine1?: string | null
                addressLine2?: string | null
                city?: string | null
                zip?: string | null
                country?: string | null
                state?: string | null
                phone?: string | null
            ExactCustomerCreateOutput:
                id: string
            ExactCustomerUpdateInput:
                name: string
                email?: string | null
                taxNumber?: string | null
                addressLine1?: string | null
                addressLine2?: string | null
                city?: string | null
                zip?: string | null
                country?: string | null
                state?: string | null
                phone?: string | null
                id: string
                name?: string | null
            ExactCustomerUpdateOutput:
                success: boolean
            ExactPayment:
                id: string
                description: string | null
                division: number | null
                customerId: string | null
                amount: number | null
                createdAt: string | null
                currency: string | null
                journal: string | null
                paymentMethod: string | null
                paymentReference: string | null
                status: number | null
                transactionID: string | null
            ExactInvoiceLine:
                itemId: string
                quantity: number
                amountNet: number
                vatCode?: string
                description?: string
            ExactInvoiceCreateInput:
                customerId: string
                journal?: number
                currency?: EUR
                description?: string
                createdAt?: date
                lines: ExactInvoiceLine[]
            ExactInvoiceCreateOutput:
                id: string
            ExactInvoiceUpdateInput:
                id: string
                deliverTo?: string
                currency?: EUR
                description?: string
                createdAt?: date
            ExactInvoiceUpdateOutput:
                success: boolean
            ExactInvoiceAttachFileInput:
                invoiceId: string
                customerId: string
                subject: string
                filename: string
                content: string
            ExactInvoiceAttachFileOutput:
                success: boolean
    expensify:
        actions:
            create-user:
                description: |
                    Create a user in the account
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: CreateUser
                output: ExpsensifyNullableUser
            disable-user:
                description: Disables a user in Expensify
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: ExpensifyDisableUser
            list-policies:
                description: >
                    Action to fetch a list of policies with some relevant information
                    about them
                endpoint:
                    method: POST
                    path: /policies
                output: ExpensifyListPolicyOutput
                version: 2.0.0
        syncs:
            users:
                runs: every day
                description: |
                    Fetches a list of users from Expensify.
                output: ExpsensifyNullableUser
                track_deletes: true
                sync_type: full
                endpoint:
                    method: GET
                    path: /users
                    group: Users
        models:
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            ActionResponseError:
                message: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
            User:
                id: string
                firstName: string
                lastName: string
                email: string
            ExpensifyDisableUser:
                id: string
                email: string
            ExpsensifyNullableUser:
                id: string | null
                firstName: string | null
                lastName: string | null
                email: string
            ExpensifyListPolicyOutput:
                policies: Policy[]
            Policy:
                id: string
                type: string
                name: string
                shouldShowAutoApprovalOptions: boolean
                role: string
                areCompanyCardsEnabled: boolean
                shouldShowCustomReportTitleOption: boolean
                areExpensifyCardsEnabled: boolean
                areRulesEnabled: boolean
                areConnectionsEnabled: boolean
                approvalMode: string
                areCategoriesEnabled: boolean
                areReportFieldsEnabled: boolean
                areWorkflowsEnabled: boolean
                outputCurrency: string
                owner: string
                areInvoicesEnabled: boolean
                createdAt: string
                eReceipts: boolean
                shouldShowAutoReimbursementLimitOption: boolean
                areDistanceRatesEnabled: boolean
                isPolicyExpenseChatEnabled: string
                ownerAccountID: number
                areTagsEnabled: boolean
    fireflies:
        actions:
            add-to-live:
                output: FirefliesAddtoLiveResponse
                input: FirefliesAddtoLiveInput
                description: |
                    Action to add the Fireflies.ai bot to an ongoing meeting
                endpoint:
                    method: POST
                    path: /fireflies/add-to-live
        models:
            FirefliesAddtoLiveInput:
                query: string
                variables: object
            FirefliesAddtoLiveResponse:
                data: object
    freshdesk:
        syncs:
            articles:
                description: |
                    Recursively fetches a list of solution articles.
                endpoint:
                    method: GET
                    path: /articles
                sync_type: full
                track_deletes: true
                runs: every day
                output: Article
                version: 1.0.0
            contacts:
                description: |
                    Fetches the list of contacts.
                endpoint:
                    method: GET
                    path: /contacts
                    group: Contacts
                sync_type: incremental
                runs: every day
                output: Contact
            tickets:
                description: |
                    Fetches the freshdesk tickets
                endpoint:
                    method: GET
                    path: /tickets
                sync_type: incremental
                runs: every day
                output: Ticket
            users:
                description: |
                    Fetches the list of users
                endpoint:
                    method: GET
                    path: /users
                    group: Users
                sync_type: full
                track_deletes: true
                runs: every day
                output: User
        actions:
            create-contact:
                description: Creates a user in FreshDesk
                output: Contact
                endpoint:
                    method: POST
                    path: /contacts
                    group: Contacts
                input: CreateContact
            delete-contact:
                description: Deletes a contact in FreshDesk
                endpoint:
                    method: DELETE
                    path: /contacts
                    group: Contacts
                output: SuccessResponse
                input: IdEntity
            create-user:
                description: Creates a user in FreshDesk
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: FreshdeskCreateUser
            delete-user:
                description: Deletes a user in FreshDesk
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
        models:
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            CreateUser:
                firstName: string
                lastName: string
                email: string
            FreshdeskCreateUser:
                firstName: string
                lastName: string
                email: string
                ticket_scope?: number
                ticketScope?: globalAccess | groupAccess | restrictedAccess
                occasional?: boolean
                signature?: string
                skill_ids?: number[]
                group_ids?: number[]
                role_ids?: number[]
                agent_type?: number
                agentType?: support | field | collaborator
                language?: string
                time_zone?: string
                focus_mode?: boolean
            User:
                id: string
                email: string
                firstName: string
                lastName: string
            Contact:
                id: string
                active: boolean
                email: string
                name: string
                createdAt: string
                updatedAt: string
                companyId?: string | undefined
                phone?: string | undefined | null
                mobile?: string | undefined | null
                jobTitle?: string | undefined | null
            CreateContact:
                name: string
                email?: string
                phone?: string
                mobile?: string
                twitter_id?:
                    type: string
                    unique: true
                    required: true
                unique_external_id?:
                    type: string
                    unique: true
                    required: true
                other_emails?: array
                company_id?: number
                view_all_tickets?: boolean
                other_companies?: array
                address?: string
                avatar?: object
                custom_fields?: object
                description?: string
                job_title?: string
                language?: string
                tags?: array
                time_zone?: string
                lookup_parameter?: string
            Timestamps:
                created_at: string
                updated_at: string
            Article:
                created_at: string
                updated_at: string
                id: number
                type: number
                category_id: number
                folder_id: number
                hierarchy: HierarchyLevel[]
                thumbs_up: number
                thumbs_down: number
                hits: number
                tags?: string[] | undefined
                seo_data: SeoData
                agent_id: number
                title: string
                description: string
                description_text: string
                status: number
            HierarchyLevel:
                level: number
                type: string
                data: HierarchyData
            HierarchyData:
                id: number
                name: string
                language: string
            SeoData:
                meta_title?: string | undefined
                meta_description?: string | undefined
                meta_keywords?: string | undefined
            Ticket:
                id: string
                type: string
                priority: number
                request_id: number
                response_id: number
                source: number
                subject: string
                to_emails: string[] | null
                created_at: string
                updated_at: string
                is_escalated: boolean
    front:
        syncs:
            conversations:
                runs: every day
                description: List the conversations in the company in reverse chronological order.
                output: Conversation
                endpoint:
                    method: GET
                    path: /conversations
                    group: Conversations
                track_deletes: true
                sync_type: full
                version: 1.0.2
        actions:
            conversation:
                description: >-
                    List the messages in a conversation in reverse chronological order
                    (newest first).
                endpoint:
                    method: GET
                    path: /conversations/all
                    group: Conversations
                version: 1.0.1
                output: FrontMessageOutput
                input: SingleConversation
        models:
            Conversation:
                id: string
                subject: string
                status: archived | unassigned | deleted | assigned
                assignee: ConversationAssignee | null
                recipient: ConversationRecipient | null
                tags:
                    - id: string
                      name: string
                      description: string | null
                      highlight: string | null
                      is_private: boolean
                      is_visible_in_conversation_lists: boolean
                      created_at: string
                      updated_at: string
                links:
                    - id: string
                      name: string
                      type: string
                      external_url: string
                      custom_fields: object
                custom_fields: object
                created_at: string
                waiting_since: string
                is_private: boolean
                scheduled_reminders:
                    - created_at: string
                      scheduled_at: string
                      updated_at: string
            ConversationAssignee:
                id: string
                email: string
                first_name: string
                last_name: string
                is_admin: boolean
                is_available: boolean
                is_blocked: boolean
                custom_fields: object
            ConversationRecipient:
                name: string
                handle: string
                role: from | to | cc | bcc
            SingleConversation:
                id: string
                query?: QueryParams
            RecipientsObj:
                _links:
                    related:
                        contact: string
                name: string
                handle: string
                role: from | to | cc | bcc
            AttachmentObj:
                id: string
                filename: string
                url: string
                content_type: string
                size: number
                metadata:
                    is_inline: boolean
                    cid: string
            AuthorObj:
                _links:
                    self: string
                    related:
                        inboxes: string
                        conversations: string
                id: string
                email: string
                username: string
                first_name: string
                last_name: string
                is_admin: boolean
                is_blocked: boolean
                custom_fields: object
            FrontMessages:
                _links:
                    self: string
                    related:
                        conversation: string
                        message_replied_to?: string
                        message_seen: string
                id: string
                version?: string | null
                blurb: string
                error_type: string | null
                type: >-
                    call | custom | email | facebook | front_chat | googleplay | intercom
                    | internal | phone-call | sms | tweet | tweet_dm | whatsapp | yalo_wha
                is_draft: boolean
                is_inbound: boolean
                draft_mode: string | null
                created_at: number
                subject: string
                author: AuthorObj | null
                recipients: RecipientsObj[]
                body: string
                text: string
                attachments?: AttachmentObj[]
                signature?: SignatureObj | null
                metadata?:
                    intercom_url?: string
                    duration?: number
                    have_been_answered?: boolean
                    external_id?: string
                    twitter_url?: string
                    is_retweet?: boolean
                    have_been_retweeted?: boolean
                    have_been_favorited?: boolean
                    thread_ref?: string
                    headers?: object
                    chat_visitor_url?: string
            FrontMessageOutput:
                messages: FrontMessages[]
            SignatureObj:
                _links?:
                    related?:
                        owner?: string
                id?: string
                name?: string
                body?: string
                sender_info?: string
                is_visible_for_all_teammate_channels?: boolean
                is_default?: boolean
                is_private?: boolean
                channel_ids?: string[]
            QueryParams:
                limit?: number
                page_token?: string
                sort_by?: string
                sort_order?: asc | desc
    github:
        syncs:
            issues:
                runs: every half hour
                output: GithubIssue
                sync_type: full
                scopes: public_repo
                description: |
                    Fetches Github issues from all a user's repositories
                endpoint:
                    method: GET
                    path: /github/issues
            issues-lite:
                runs: every day
                auto_start: false
                sync_type: full
                output: Issue
                scopes: public_repo
                description: |
                    Fetches Github issues but up to a maximum of 15
                endpoint:
                    method: GET
                    path: /github/issues-lite
            list-files:
                runs: every hour
                description: |
                    Lists all the files of a Github repo given a specific branch
                sync_type: incremental
                auto_start: false
                input: GithubIssueRepoInput
                output: GithubRepoFile
                endpoint:
                    method: GET
                    path: /files
                    group: Files
                scopes: repo
                version: 1.0.0
        actions:
            write-file:
                scopes: repo
                input: GithubWriteFileInput
                output: GithubWriteFileActionResult
                endpoint:
                    method: PUT
                    path: /files
                    group: Files
                description: |
                    Write content to a particular github file within a repo. If
                    the file doesn't exist it creates and then writes to it
                version: 1.0.0
            list-repos:
                scopes: read:org
                endpoint:
                    method: GET
                    path: /github/list-repos
                output: GithubRepo
                description: |
                    List github repos from an organization.
        models:
            Issue:
                id: integer
                owner: string
                repo: string
                issue_number: number
                title: string
                author: string
                author_id: string
                state: string
                date_created: date
                date_last_modified: date
                body: string
            GithubIssueRepoInput:
                owner: string
                repo: string
                branch: string
            GithubIssue:
                id: integer
                owner: string
                repo: string
                issue_number: number
                title: string
                author: string
                author_id: string
                state: string
                date_created: date
                date_last_modified: date
                body: string
            GithubRepo:
                id: integer
                owner: string
                name: string
                full_name: string
                description: string
                url: string
                date_created: date
                date_last_modified: date
            GithubRepoFile:
                id: string
                name: string
                url: string
                last_modified_date: date
            GithubWriteFileInput:
                owner: string
                repo: string
                path: string
                message: string
                content: string
                sha: string | undefined
            GithubWriteFileActionResult:
                url: string
                status: string
                sha: string
    github-app:
        actions:
            repositories:
                description: List all repositories accessible to this Github App
                output: RepoResponse
                endpoint:
                    method: GET
                    path: /repositories
                    group: Repositories
        models:
            RepoResponse:
                repositories: Repository[]
            Repository:
                allow_forking: boolean
                archive_url: string
                archived: boolean
                assignees_url: string
                blobs_url: string
                branches_url: string
                clone_url: string
                collaborators_url: string
                comments_url: string
                commits_url: string
                compare_url: string
                contents_url: string
                contributors_url: string
                created_at: string
                default_branch: string
                deployments_url: string
                description: string
                disabled: boolean
                downloads_url: string
                events_url: string
                fork: boolean
                forks: number
                forks_count: number
                forks_url: string
                full_name: string
                git_commits_url: string
                git_refs_url: string
                git_tags_url: string
                git_url: string
                has_discussions: boolean
                has_downloads: boolean
                has_issues: boolean
                has_pages: boolean
                has_projects: boolean
                has_wiki: boolean
                homepage: string | null
                hooks_url: string
                html_url: string
                id: number
                is_template: boolean
                issue_comment_url: string
                issue_events_url: string
                issues_url: string
                keys_url: string
                labels_url: string
                language: string
                languages_url: string
                license: string | null
                merges_url: string
                milestones_url: string
                mirror_url: string | null
                name: string
                node_id: string
                notifications_url: string
                open_issues: number
                open_issues_count: number
                owner:
                    avatar_url: string
                    events_url: string
                    followers_url: string
                    following_url: string
                    gists_url: string
                    gravatar_id: string
                    html_url: string
                    id: number
                    login: string
                    node_id: string
                    organizations_url: string
                    received_events_url: string
                    repos_url: string
                    site_admin: boolean
                    starred_url: string
                    subscriptions_url: string
                    type: string
                    url: string
                permissions:
                    admin: boolean
                    maintain: boolean
                    pull: boolean
                    push: boolean
                    triage: boolean
                private: boolean
                pulls_url: string
                pushed_at: string
                releases_url: string
                size: number
                ssh_url: string
                stargazers_count: number
                stargazers_url: string
                statuses_url: string
                subscribers_url: string
                subscription_url: string
                svn_url: string
                tags_url: string
                teams_url: string
                topics: string[]
                trees_url: string
                updated_at: string
                url: string
                visibility: string
                watchers: number
                watchers_count: number
                web_commit_signoff_required: boolean
    gong:
        syncs:
            users:
                description: |
                    Fetches the list of gong users
                endpoint:
                    method: GET
                    path: /users
                    group: Users
                sync_type: incremental
                runs: every day
                output: User
                scopes:
                    - api:users:read
        models:
            User:
                id: string
                firstName: string
                lastName: string
                email: string
    gong-oauth:
        syncs:
            users:
                description: |
                    Fetches the list of gong users
                endpoint:
                    method: GET
                    path: /users
                    group: Users
                sync_type: incremental
                runs: every day
                output: User
                scopes:
                    - api:users:read
        models:
            User:
                id: string
                firstName: string
                lastName: string
                email: string
    google:
        syncs:
            workspace-org-units:
                runs: every 6 hours
                track_deletes: true
                output: OrganizationalUnit
                sync_type: full
                endpoint:
                    method: GET
                    path: /google/workspace-org-unit
                scopes:
                    - https://www.googleapis.com/auth/admin.directory.orgunit.readonly
                    - https://www.googleapis.com/auth/admin.directory.user.readonly
            workspace-users:
                runs: every hour
                input: Metadata
                auto_start: false
                output: User
                sync_type: full
                endpoint:
                    method: GET
                    path: /google/workspace-users
            workspace-user-access-tokens:
                runs: every hour
                output: GoogleWorkspaceUserToken
                sync_type: full
                endpoint:
                    method: GET
                    path: /google/workspace-user-access-tokens
                scopes:
                    - https://www.googleapis.com/auth/admin.directory.user.readonly
                    - https://www.googleapis.com/auth/admin.directory.user.security
        models:
            Metadata:
                orgsToSync: OrgToSync[]
            OrgToSync:
                id: string
                path: string
            OrganizationalUnit:
                id: string
                name: string
                createdAt: string | null
                deletedAt: string | null
                description: string | null
                path: string | null
                parentPath: string | null
                parentId: string | null
            User:
                id: string
                email: string
                displayName: string | null
                givenName: string | null
                familyName: string | null
                picture: string | null | undefined
                type: string
                createdAt: string | null
                deletedAt: string | null
                phone:
                    value: string | null | undefined
                    type: string | null | undefined
                organizationId: string | null | undefined
                organizationPath: string | null | undefined
                isAdmin: boolean | null
                department: string | null
            GoogleWorkspaceUserToken:
                id: string
                user_id: string
                app_name: string
                anonymous_app: boolean
                scopes: string
    google-calendar:
        syncs:
            events:
                description: |
                    Sync calendar events on the primary calendar going back one month and
                    save the entire object as specified by the Google API
                runs: every 5 minutes
                output: GoogleCalendarEvent
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /google-calendar/events
                scopes: https://www.googleapis.com/auth/calendar.readonly
            calendars:
                description: |
                    Sync the calendars list of the user
                track_deletes: true
                runs: every hour
                output: GoogleCalendar
                sync_type: full
                endpoint:
                    method: GET
                    path: /google-calendar/calendars
                scopes: https://www.googleapis.com/auth/calendar.readonly
        models:
            GoogleCalendar:
                kind: string
                etag: string
                id: string
                summary: string
                description: string
                location: string
                timeZone: string
                summaryOverride: string
                colorId: string
                backgroundColor: string
                foregroundColor: string
                hidden: boolean
                selected: boolean
                accessRole: string
                defaultReminders:
                    - method: string
                      minutes: integer
                notificationSettings:
                    notifications:
                        - type: string
                          method: string
                primary: boolean
                deleted: boolean
                conferenceProperties:
                    allowedConferenceSolutionTypes:
                        - string
            GoogleCalendarEvent:
                kind: string
                etag: string
                id: string
                status: string
                htmlLink: string
                created: string
                updated: string
                summary: string
                description: string
                location: string
                colorId: string
                creator:
                    id: string
                    email: string
                    displayName: string
                    self: boolean
                organizer:
                    id: string
                    email: string
                    displayName: string
                    self: boolean
                start:
                    date: date
                    dateTime: string
                    timeZone: string
                end:
                    date: date
                    string: string
                    timeZone: string
                endTimeUnspecified: boolean
                recurrence:
                    - string
                recurringEventId: string
                originalStartTime:
                    date: date
                    dateTime: string
                    timeZone: string
                transparency: string
                visibility: string
                iCalUID: string
                sequence: integer
                attendees:
                    - id: string
                      email: string
                      displayName: string
                      organizer: boolean
                      self: boolean
                      resource: boolean
                      optional: boolean
                      responseStatus: string
                      comment: string
                      additionalGuests: integer
                attendeesOmitted: boolean
                extendedProperties:
                    private:
                        key: string
                    shared:
                        key: string
                hangoutLink: string
                conferenceData:
                    createRequest:
                        requestId: string
                        conferenceSolutionKey:
                            type: string
                        status:
                            statusCode: string
                    entryPoints:
                        - entryPointType: string
                          uri: string
                          label: string
                          pin: string
                          accessCode: string
                          meetingCode: string
                          passcode: string
                          password: string
                    conferenceSolution:
                        key:
                            type: string
                        name: string
                        iconUri: string
                    conferenceId: string
                    signature: string
                    notes: string
                gadget:
                    type: string
                    title: string
                    link: string
                    iconLink: string
                    width: integer
                    height: integer
                    display: string
                    preferences:
                        key: string
                anyoneCanAddSelf: boolean
                guestsCanInviteOthers: boolean
                guestsCanModify: boolean
                guestsCanSeeOtherGuests: boolean
                privateCopy: boolean
                locked: boolean
                reminders:
                    useDefault: boolean
                    overrides:
                        - method: string
                          minutes: integer
                source:
                    url: string
                    title: string
                workingLocationProperties:
                    type: string
                    homeOffice: string
                    customLocation:
                        label: string
                    officeLocation:
                        buildingId: string
                        floorId: string
                        floorSectionId: string
                        deskId: string
                        label: string
                attachments:
                    - fileUrl: string
                      title: string
                      mimeType: string
                      iconLink: string
                      fileId: string
                eventType: string
    google-drive:
        syncs:
            documents:
                runs: every day
                track_deletes: true
                description: >
                    Sync the metadata of a specified file or folders from Google Drive,

                    handling both individual files and nested folders.

                    Metadata required to filter on a particular folder, or file(s).
                    Metadata

                    fields should be `{"files": ["<some-id>"]}` OR

                    `{"folders": ["<some-id>"]}`. The ID should be able to be provided

                    by using the Google Picker API

                    (https://developers.google.com/drive/picker/guides/overview)

                    and using the ID field provided by the response

                    (https://developers.google.com/drive/picker/reference/results)
                input: DocumentMetadata
                auto_start: false
                version: 1.0.3
                output: Document
                sync_type: full
                endpoint:
                    method: GET
                    path: /documents
                scopes: https://www.googleapis.com/auth/drive.readonly
        actions:
            fetch-document:
                input: DocumentId
                description: >
                    Fetches the content of a file given its ID, processes the data using

                    a response stream, and encodes it into a base64 string. This
                    base64-encoded

                    string can be used to recreate the file in its original format using
                    an external tool.
                output: string
                version: 2.0.0
                endpoint:
                    method: GET
                    path: /fetch-document
                scopes: https://www.googleapis.com/auth/drive.readonly
        models:
            DocumentId:
                id: string
            DocumentMetadata:
                files: string[] | undefined
                folders: string[] | undefined
            Document:
                id: string
                url: string
                title: string
    google-mail:
        syncs:
            emails:
                runs: every hour
                description: |
                    Fetches a list of emails from gmail. Goes back default to 1 year
                    but metadata can be set using the `backfillPeriodMs` property
                    to change the lookback. The property should be set in milliseconds.
                input: OptionalBackfillSetting
                version: 1.0.3
                scopes:
                    - https://www.googleapis.com/auth/gmail.readonly
                output: GmailEmail
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /emails
                    group: Emails
        actions:
            send-email:
                input: GmailEmailInput
                output: GmailEmailSentOutput
                scopes:
                    - https://www.googleapis.com/auth/gmail.send
                endpoint:
                    method: POST
                    path: /emails
                    group: Emails
                description: |
                    Send an Email using Gmail.
                version: 1.0.0
            fetch-attachment:
                input: DocumentInput
                output: string
                scopes:
                    - https://www.googleapis.com/auth/gmail.readonly
                endpoint:
                    method: GET
                    path: /attachment
                description: |
                    An action used to fetch the contents of an attachment.
                version: 1.0.0
        models:
            OptionalBackfillSetting:
                backfillPeriodMs: number
            GmailEmail:
                id: string
                sender: string
                recipients?: string | undefined
                date: string
                subject: string
                body?: string | undefined
                attachments: Attachments[]
                threadId: string
            GmailEmailInput:
                from: string
                to: string
                headers: object | undefined
                subject: string
                body: string
            EmailHeader:
                headerName: string
                headerValue: string
            GmailEmailSentOutput:
                id: string
                threadId: string
            Attachments:
                filename: string
                mimeType: string
                size: number
                attachmentId: string
            DocumentInput:
                threadId: string
                attachmentId: string
    gorgias:
        syncs:
            tickets:
                runs: every 6 hours
                description: |
                    Fetches a list of tickets with their associated messages
                output: Ticket
                sync_type: full
                track_deletes: true
                scopes:
                    - tickets:read
                endpoint:
                    method: GET
                    path: /tickets
                    group: Tickets
                version: 1.0.1
        actions:
            create-ticket:
                description: |
                    Creates a new ticket
                input: CreateTicketInput
                scopes:
                    - tickets:write
                    - account:read
                    - customers:write
                    - customers:read
                endpoint:
                    method: POST
                    path: /ticket
                    group: Tickets
                output: Ticket
        models:
            Ticket:
                id: number
                assignee_user: AssigneeUser | null
                channel: >-
                    aircall | api | chat | contact_form | email | facebook |
                    facebook-mention | facebook-messenger | facebook-recommendations |
                    help-center | instagram-ad-comment | instagram-comment |
                    instagram-direct-message | instagram-mention | internal-note | phone |
                    sms | twitter | twitter-direct-message | whatsapp | yotpo-review
                closed_datetime: string | null
                created_datetime: string | null
                excerpt?: string | undefined
                external_id: string | null
                from_agent: boolean
                integrations?: array | null | undefined
                is_unread: boolean
                language: string | null
                last_message_datetime: string | null
                last_received_message_datetime: string | null
                messages_count?: number | undefined
                messages: Message[]
                meta: object | null
                opened_datetime: string | null
                snooze_datetime: string | null
                status: open | closed
                subject: string | null
                tags:
                    - id: number
                      name: string
                      uri: string | null
                      decoration: object | null
                      created_datetime: string | null
                      deleted_datetime?: string | null | undefined
                spam: boolean | null
                trashed_datetime: string | null
                updated_datetime: string | null
                via: >-
                    aircall | api | chat | contact_form | email | facebook |
                    facebook-mention | facebook-messenger | facebook-recommendations |
                    form | gorgias_chat | help-center | helpdesk | instagram |
                    instagram-ad-comment | instagram-comment | instagram-direct-message |
                    instagram-mention | internal-note | offline_capture | phone | rule |
                    self_service | shopify | sms | twilio | twitter |
                    twitter-direct-message | whatsapp | yotpo | yotpo-review | zendesk
                uri: string
            Message:
                id: number
                uri: string
                message_id: string | null
                integration_id: number | null
                rule_id: number | null
                external_id: string | null
                ticket_id: number
                channel: >-
                    aircall | api | chat | contact_form | email | facebook |
                    facebook-mention | facebook-messenger | facebook-recommendations |
                    help-center | instagram-ad-comment | instagram-comment |
                    instagram-direct-message | instagram-mention | internal-note | phone |
                    sms | twitter | twitter-direct-message | whatsapp | yotpo-review
                via: >-
                    aircall | api | chat | contact_form | email | facebook |
                    facebook-mention | facebook-messenger | facebook-recommendations |
                    form | gorgias_chat | help-center | helpdesk | instagram |
                    instagram-ad-comment | instagram-comment | instagram-direct-message |
                    instagram-mention | internal-note | offline_capture | phone | rule |
                    self_service | shopify | sms | twilio | twitter |
                    twitter-direct-message | whatsapp | yotpo | yotpo-review | zendesk
                subject: string | null
                body_text: string | null
                body_html: string | null
                stripped_text: string | null
                stripped_html: string | null
                stripped_signature: string | null
                public: boolean
                from_agent: boolean
                sender: RecieverSender
                receiver: RecieverSender | null
                attachments: Attachment[] | null
                meta: object | null
                headers: object | null
                actions: array | null
                macros: array | null
                created_datetime: string | null
                opened_datetime: string | null
                failed_datetime: string | null
                last_sending_error: object | null
                deleted_datetime: string | null
                replied_by?: string | null | undefined
                replied_to?: string | null | undefined
            AssigneeUser:
                id: number
                firstname: string
                lastname: string
                meta: object | null
                email: string
                name: string
                bio: string | null
            RecieverSender:
                id: number
                firstname: string
                lastname: string
                meta: object | null
                email: string | null
                name: string | null
            User:
                id: number
                firstname: string
                lastname: string
                meta: object | null
            Attachment:
                url: string
                name: string
                size: number | null
                content_type: string
                public: boolean
                extra: string | null
            CreateTicketInput:
                customer:
                    phone_number: string
                    email?: string | undefined
                ticket:
                    messages: CreateTicketMessage[]
            CreateTicketMessage:
                attachments:
                    - url: string
                      name: string
                      size: number
                      content_type: string
                body_html: string
                body_text: string
                id: string
    greenhouse-basic:
        syncs:
            applications:
                runs: every 6 hours
                description: |
                    Fetches a list of all organization's applications from greenhouse
                output: GreenhouseApplication
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /greenhouse-basic/applications
            candidates:
                runs: every 6 hours
                description: |
                    Fetches a list of all organization's candidates from greenhouse
                output: GreenhouseCandidate
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /greenhouse-basic/candidates
            jobs:
                runs: every 6 hours
                description: |
                    Fetches a list of all organization's jobs from greenhouse
                output: GreenhouseJob
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /greenhouse-basic/jobs
        models:
            GreenhouseApplication:
                id: string
                candidate_id: string
                prospect: boolean
                applied_at: date
                rejected_at: date
                last_activity_at: date
                location:
                    address: string
                source:
                    id: string
                    public_name: string
                credited_to:
                    id: string
                    first_name: string
                    last_name: string
                    name: string
                    employee_id: string
                rejection_reason:
                    id: string
                    name: string
                    type:
                        id: string
                        name: string
                rejection_details:
                    custom_fields: object
                    keyed_custom_fields: object
                jobs: string[]
                job_post_id: string
                status: string
                current_stage:
                    id: string
                    name: string
                answers: string[]
                prospective_office:
                    primary_contact_user_id: string
                    parent_id: string
                    name: string
                    location:
                        name: string
                    id: string
                    external_id: string
                    child_ids: string[]
                prospective_department:
                    parent_id: string
                    name: string
                    id: string
                    external_id: string
                    child_ids: string[]
                prospect_detail:
                    prospect_pool:
                        id: string
                        name: string
                    prospect_stage:
                        id: string
                        name: string
                    prospect_owner:
                        id: string
                        name: string
                custom_fields: object
                keyed_custom_fields: object
                attachments: any[]
            GreenhouseCandidate:
                id: string
                first_name: string
                last_name: string
                company: string
                title: string
                created_at: date
                updated_at: date
                last_activity: date
                is_private: boolean
                photo_url: string
                attachments: any[]
                application_ids: string[]
                phone_numbers: string[]
                addresses: any[]
                email_addresses: string[]
                website_addresses: string[]
                social_media_addresses: string[]
                recruiter:
                    id: string
                    first_name: string
                    last_name: string
                    name: string
                    employee_id: string
                coordinator:
                    id: string
                    first_name: string
                    last_name: string
                    name: string
                    employee_id: string
                can_email: boolean
                tags: string[]
                applications: string[]
                educations: string[]
                employments: string[]
                linked_user_ids: string
                custom_fields: object
                keyed_custom_fields: object
            GreenhouseJob:
                id: string
                name: string
                requisition_id: string
                notes: string
                confidential: boolean
                status: string
                created_at: date
                opened_at: date
                closed_at: date
                updated_at: date
                is_template: boolean
                copied_from_id: string
                departments: string[]
                offices: string[]
                custom_fields: object
                keyed_custom_fields: object
                hiring_team:
                    hiring_managers: string[]
                    recruiters: string[]
                    coordinators: string[]
                    sourcers: string[]
                openings: string[]
    gusto:
        actions:
            create-user:
                description: Creates a user in Gusto.
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: GustoCreateUser
                scopes:
                    - employees:manage
            delete-user:
                description: Deletes a user in Gusto.
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: GustoDeleteUser
                scopes:
                    - employments:write
        syncs:
            users:
                runs: every day
                description: |
                    Fetches a list of users from Gusto.
                output: User
                track_deletes: true
                sync_type: full
                endpoint:
                    method: GET
                    path: /users
                    group: Users
                scopes:
                    - employees:read
        models:
            SuccessResponse:
                success: boolean
            IdEntity:
                id: string
            User:
                id: string
                email: string
                firstName: string
                lastName: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
            GustoCreateUser:
                firstName: string
                lastName: string
                email: string
                middleInitial?: string
                preferredFirstName?: string
                dateOfBirth: string
                ssn?: string
                selfOnboarding?: boolean
            GustoDeleteUser:
                id: string
                effectiveDate?: string
                runTerminationPayroll?: boolean
    gusto-demo:
        actions:
            create-user:
                description: Creates a user in Gusto.
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: GustoCreateUser
                scopes:
                    - employees:manage
            delete-user:
                description: Deletes a user in Gusto.
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: GustoDeleteUser
                scopes:
                    - employments:write
        syncs:
            users:
                runs: every day
                description: |
                    Fetches a list of users from Gusto.
                output: User
                track_deletes: true
                sync_type: full
                endpoint:
                    method: GET
                    path: /users
                    group: Users
                scopes:
                    - employees:read
        models:
            SuccessResponse:
                success: boolean
            IdEntity:
                id: string
            User:
                id: string
                email: string
                firstName: string
                lastName: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
            GustoCreateUser:
                firstName: string
                lastName: string
                email: string
                middleInitial?: string
                preferredFirstName?: string
                dateOfBirth: string
                ssn?: string
                selfOnboarding?: boolean
            GustoDeleteUser:
                id: string
                effectiveDate?: string
                runTerminationPayroll?: boolean
    hackerrank-work:
        syncs:
            interviews:
                runs: every 6 hours
                description: |
                    Fetches a list of interviews from hackerrank work
                output: HackerRankWorkInterview
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /interviews
                    group: Interviews
                version: 1.0.0
            teams:
                runs: every 6 hours
                description: |
                    Fetches a list of teams from hackerrank work
                output: HackerRankWorkTeam
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /teams
                version: 1.0.0
            tests:
                runs: every 6 hours
                description: |
                    Fetches a list of tests from hackerrank work
                output: HackerRankWorkTest
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /tests
                    group: Tests
                version: 1.0.0
            users:
                runs: every 6 hours
                description: |
                    Fetches a list of users from hackerrank work
                output: HackerRankWorkUser
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /users
                version: 1.0.0
        actions:
            create-test:
                description: |
                    Action to create a test on hackerrank work
                input: HackerRankWorkCreateTestInput
                output: HackerRankWorkTest
                endpoint:
                    method: POST
                    path: /tests
                    group: Tests
                version: 1.0.0
            create-interview:
                description: |
                    Action to create an interview on hackerrank work
                input: HackerRankWorkCreateInterviewInput
                output: HackerRankWorkInterview
                endpoint:
                    method: POST
                    path: /interviews
                    group: Interviews
                version: 1.0.0
        models:
            HackerRankWorkCreateInterviewInput:
                id: string
                status: string
                created_at: date
                updated_at: date
                title: string
                feedback: string
                notes: string
                metadata: object
                quickpad: boolean
                ended_at: date
                timezone: string
                interview_template_id: string
                from: date
                to: date
                url: string
                user: string
                thumbs_up: boolean
                resume_url: string
                interviewers: string[]
                candidate: CandidateInformation
                result_url: string
                report_url: string
                send_email: boolean
                interview_metadata: object
            HackerRankWorkInterview:
                id: string
                status: string
                created_at: date
                updated_at: date
                title: string
                feedback: string
                notes: string
                metadata: object
                quickpad: boolean
                ended_at: date
                timezone: string
                interview_template_id: string
                from: date
                to: date
                url: string
                user: string
                thumbs_up: boolean
                resume_url: string
                interviewers: string[]
                candidate: CandidateInformation
                result_url: string
                report_url: string
            CandidateInformation:
                name: string
                email: string
            HackerRankWorkTeam:
                id: string
                name: string
                owner: string
                created_at: date
                recruiter_count: number
                developer_count: number
                interviewer_count: number
                recruiter_cap: number
                developer_cap: number
                interviewer_cap: number
                logo_id: string
                library_access: boolean
                invite_as: string
                locations: string[]
                departments: string[]
            HackerRankWorkTest:
                id: string
                unique_id: string
                name: string
                duration: number
                owner: string
                instructions: string
                created_at: date
                state: string
                locked: boolean
                test_type: string
                starred: boolean
                start_time: date
                end_time: date
                draft: boolean
                questions: string[]
                sections: object
                tags: string[]
                permission: number
            HackerRankWorkUser:
                id: string
                email: string
                firstname: string
                lastname: string
                country: string
                role: string
                status: string
                phone: string
                timezone: string
                questions_permission: number
                tests_permission: number
                interviews_permission: number
                candidates_permission: number
                shared_questions_permission: number
                shared_tests_permission: number
                shared_interviews_permission: number
                shared_candidates_permission: number
                created_at: date
                company_admin: boolean
                team_admin: boolean
                company_id: string
                teams: []
                activated: boolean
                last_activity_time: date
            HackerRankWorkCreateTestInput:
                name: string
                starttime: Date
                endtime: Date
                duration: number
                instructions: string
                locked: boolean
                draft: string
                languages: string[]
                candidate_details: string[]
                custom_acknowledge_text: string
                cutoff_score: number
                master_password: string
                hide_compile_test: boolean
                tags: string[]
                role_ids: string[]
                experience: string[]
                questions: string[]
                mcq_incorrect_score: number
                mcq_correct_score: number
                secure: boolean
                shuffle_questions: boolean
                test_admins: string[]
                hide_template: boolean
                enable_acknowledgement: boolean
                enable_proctoring: boolean
                candidate_tab_switch: boolean
                track_editor_paste: boolean
                show_copy_paste_prompt: boolean
                ide_config: string
    harvest:
        syncs:
            users:
                description: |
                    Fetches the list of users in Harvest
                endpoint:
                    method: GET
                    path: /users
                    group: Users
                runs: every day
                output: User
                scopes:
                    - administrator
                    - manager
        actions:
            create-user:
                description: Creates a user in Harvest
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: HarvestCreateUser
                scopes:
                    - administrator
                    - manager
            delete-user:
                description: Deletes a user in Harvest
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
                scopes:
                    - administrator
        models:
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            CreateUser:
                first_name: string
                last_name: string
                email: string
            HarvestCreateUser:
                first_name: string
                last_name: string
                email: string
                timezone?: string
                has_access_to_all_future_projects?: boolean
                is_contractor?: boolean
                is_active?: boolean
                weekly_capacity?: integer
                default_hourly_rate?: decimal
                cost_rate?: decimal
                roles?: string[]
                access_roles?: >-
                    administrator | manager | member | project_creator |
                    billable_rates_manager | managed_projects_invoice_drafter |
                    managed_projects_invoice_manager | client_and_task_manager |
                    time_and_expenses_manager | estimates_manager
            User:
                id: string
                email: string
                firstName: string
                lastName: string
    hibob-service-user:
        syncs:
            employees:
                runs: every hour
                description: |
                    Fetches a list of all active employees
                output: HibobEmployee
                sync_type: full
                endpoint:
                    method: GET
                    path: /hibob-service-user/hibob-employees
        models:
            HibobEmployee:
                id: string
                firstName: string
                surname: string
                email: string
                displayName: string
                personal:
                    honorific: string
                    shortBirthDate: string
                    gender: string
                about:
                    avatar: string
                    hobbies: string[]
                work:
                    reportsTo:
                        id: string
                        firstName: string
                        surname: string
                        email: string
                    title: string
                    department: string
                    site: string
                    startDate: date
    hubspot:
        syncs:
            service-tickets:
                runs: every half hour
                description: |
                    Fetches a list of service tickets from Hubspot
                output: HubspotServiceTicket
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /service-tickets
            contacts:
                runs: every day
                description: |
                    Fetches a list of contacts from Hubspot
                output: Contact
                scopes:
                    - crm.objects.contacts.read
                    - oauth
                sync_type: full
                track_deletes: true
                version: 2.0.1
                endpoint:
                    method: GET
                    path: /contacts
                    group: Contacts
            companies:
                runs: every day
                description: |
                    Fetches a list of companies from Hubspot
                output: Company
                scopes:
                    - crm.objects.companies.read
                    - oauth
                sync_type: full
                track_deletes: true
                endpoint:
                    method: GET
                    path: /companies
                    group: Companies
            deals:
                runs: every day
                description: >
                    Fetches a list of deals from Hubspot with their associated companies
                    and contacts
                output: Deal
                scopes:
                    - crm.objects.deals.read
                    - oauth
                    - e-commerce (standard scope)
                    - crm.objects.line_items.read (granular scope)
                sync_type: full
                track_deletes: true
                endpoint:
                    method: GET
                    path: /deals
                    group: Deals
            products:
                runs: every day
                description: |
                    Fetches a list of products from Hubspot
                output: Product
                sync_type: full
                track_deletes: true
                endpoint:
                    method: GET
                    path: /products
                    group: Products
                scopes:
                    - e-commerce
            owners:
                runs: every day
                description: |
                    Fetches a list of owners from Hubspot
                output: HubspotOwner
                sync_type: full
                track_deletes: true
                version: 1.0.0
                endpoint:
                    method: GET
                    path: /owners
                    group: Owners
            users:
                runs: every day
                description: |
                    Fetches a list of users from Hubspot
                output: User
                track_deletes: true
                sync_type: full
                endpoint:
                    method: GET
                    path: /users
                    group: Users
                version: 1.0.2
                scopes:
                    - oauth
                    - settings.users.read (standard scope)
                    - crm.objects.users.read (granular scope)
            knowledge-base:
                runs: every day
                description: |
                    Fetches a list of knowledge base from Hubspot
                output: HubspotKnowledgeBase
                sync_type: full
                track_deletes: true
                endpoint:
                    method: GET
                    path: /knowledge-base
            tasks:
                runs: every day
                description: |
                    Fetches a list of tasks from Hubspot
                output: Task
                scopes:
                    - crm.objects.contacts.read
                    - oauth
                sync_type: full
                track_deletes: true
                endpoint:
                    method: GET
                    path: /tasks
                    group: Tasks
            currency-codes:
                runs: every day
                description: |
                    Fetch hubspot deals
                output: CurrencyCode
                sync_type: full
                track_deletes: true
                endpoint:
                    method: GET
                    path: /currency-codes
                scopes:
                    - oauth
                    - settings.currencies.read
        actions:
            whoami:
                description: Fetch current user information
                output: UserInformation
                endpoint:
                    method: GET
                    path: /whoami
                    group: Users
            fetch-properties:
                description: Fetch the properties of a specified object
                input: InputProperty
                output: PropertyResponse
                endpoint:
                    method: GET
                    path: /properties
                    group: Properties
            create-property:
                description: Create a property in Hubspot
                input: CreatePropertyInput
                output: CreatedProperty
                endpoint:
                    method: POST
                    path: /properties
                    group: Properties
                scopes:
                    - oauth
                    - crm.schemas.orders.write
                    - crm.objects.orders.write
                    - crm.schemas.contacts.write
                    - crm.schemas.carts.write
                    - crm.schemas.deals.write
                    - crm.objects.users.write
                    - crm.schemas.companies.write
                    - crm.objects.carts.write
            create-deal:
                description: Creates a single deal in Hubspot
                output: CreateUpdateDealOutput
                endpoint:
                    method: POST
                    path: /deals
                    group: Deals
                input: CreateDealInput
                scopes:
                    - oauth
                    - crm.objects.deals.write
                    - oauth
            update-deal:
                description: Updates a single deal in Hubspot
                output: CreateUpdateDealOutput
                endpoint:
                    method: PATCH
                    path: /deal
                    group: Deals
                input: UpdateDealInput
                scopes:
                    - crm.objects.deals.write
                    - oauth
            delete-deal:
                description: Deletes a deal in Hubspot
                input: Id
                endpoint:
                    method: DELETE
                    path: /deal
                    group: Deals
                output: SuccessResponse
                scopes:
                    - crm.objects.deals.write
                    - oauth
            fetch-pipelines:
                description: Fetch all pipelines for an object type. Defaults to deals
                input: OptionalObjectType
                output: PipelineOutput
                endpoint:
                    method: GET
                    path: /pipelines
                    group: Pipelines
                scopes:
                    - oauth
                    - crm.objects.deals.read
            create-user:
                description: Creates a single user in Hubspot
                output: CreatedUser
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: CreateUser
                scopes:
                    - oauth
                    - settings.users.write (standard scope)
                    - crm.objects.users.write (granular)
            delete-user:
                description: Deletes a user in Hubspot
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
                scopes:
                    - oauth
                    - settings.users.write (standard scope)
                    - crm.objects.users.write (granular)
            fetch-roles:
                description: Fetch the roles on an account. Requires an enterprise account.
                output: RoleResponse
                endpoint:
                    method: GET
                    path: /roles
                    group: Roles
                scopes:
                    - oauth
                    - settings.users.read (standard scope)
                    - crm.objects.users.read (granular scope)
            change-user-role:
                description: Change a user role. Requires an enterprise account.
                input: UserRoleInput
                output: ChangedRoleResponse
                endpoint:
                    method: PUT
                    path: /roles
                    group: Roles
                scopes:
                    - oauth
                    - settings.users.write (standard scope)
                    - crm.objects.users.write (granular scope)
            fetch-account-information:
                description: Fetch the account information from Hubspot
                output: Account
                endpoint:
                    method: GET
                    path: /account-information
                scopes:
                    - oauth
            fetch-custom-objects:
                description: Fetch custom objects in Hubspot. Requires Hubspot enterprise
                output: CustomObject
                endpoint:
                    method: GET
                    path: /custom-objects
                scopes:
                    - oauth
                    - crm.schemas.custom.read
            create-contact:
                description: Create a single contact in Hubspot
                output: CreateUpdateContactOutput
                endpoint:
                    method: POST
                    path: /contact
                    group: Contacts
                input: CreateContactInput
                scopes:
                    - crm.objects.contacts.write
                    - oauth
            update-contact:
                description: Updates a single contact in Hubspot
                output: CreateUpdateContactOutput
                endpoint:
                    method: PATCH
                    path: /contact
                    group: Contacts
                input: UpdateContactInput
                scopes:
                    - crm.objects.contacts.write
                    - oauth
            delete-contact:
                description: Deletes a contact in Hubspot
                input: Id
                endpoint:
                    method: DELETE
                    path: /contact
                    group: Contacts
                output: SuccessResponse
                scopes:
                    - crm.objects.contacts.write
                    - oauth
            create-company:
                description: Create a single company in Hubspot
                output: CreateUpdateCompanyOutput
                endpoint:
                    method: POST
                    path: /companies
                    group: Companies
                input: CreateCompanyInput
                scopes:
                    - crm.objects.companies.write
                    - oauth
                version: 1.0.0
            update-company:
                description: Update a single company in Hubspot
                output: CreateUpdateCompanyOutput
                endpoint:
                    method: PATCH
                    path: /companies
                    group: Companies
                input: UpdateCompanyInput
                scopes:
                    - crm.objects.companies.write
                    - oauth
            delete-company:
                description: Deletes a company in Hubspot
                input: Id
                endpoint:
                    method: DELETE
                    path: /companies
                    group: Companies
                output: SuccessResponse
                scopes:
                    - crm.objects.companies.write
                    - oauth
                version: 1.0.1
            create-task:
                description: Creates a single task in Hubspot
                output: CreateUpdateTaskOutput
                endpoint:
                    method: POST
                    path: /tasks
                    group: Tasks
                input: CreateTaskInput
                scopes:
                    - crm.objects.contacts.write
                    - oauth
                version: 1.0.0
            update-task:
                description: Updates a single company in Hubspot
                output: UpdateTaskInput
                endpoint:
                    method: PATCH
                    path: /tasks
                    group: Tasks
                input: CreateUpdateTaskOutput
                scopes:
                    - crm.objects.contacts.write
                    - oauth
                version: 1.0.0
            delete-task:
                description: Deletes a task in Hubspot
                input: Id
                endpoint:
                    method: DELETE
                    path: /tasks
                    group: Tasks
                output: SuccessResponse
                scopes:
                    - crm.objects.contacts.write
                    - oauth
                version: 1.0.0
            create-note:
                description: Creates a single note in Hubspot
                input: Note
                endpoint:
                    method: POST
                    path: /note
                output: Note
                scopes:
                    - crm.objects.contacts.write
                    - oauth
        models:
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            Id:
                id: string
            Timestamps:
                updatedAt: string
                createdAt: string
            OptionalObjectType:
                objectType?: string
            InputProperty:
                name: string
            PropertyResponse:
                result: Property
            Property:
                updatedAt: string
                createdAt: string
                name: string
                label: string
                type: string
                fieldType: string
                description: string
                groupName: string
                options: Option[]
                displayOrder: number
                calculated: boolean
                externalOptions: boolean
                hasUniqueValue: boolean
                hidden: boolean
                hubspotDefined: boolean
                showCurrencySymbol: boolean
                modificationMetadata:
                    archivable: boolean
                    readOnlyDefinition: boolean
                    readOnlyValue: boolean
                formField: boolean
                dataSensitivity: string
            Option:
                label: string
                value: string
                displayOrder: number
                hidden: boolean
            CreatePropertyInput:
                objectType: string
                data: CustomProperty
            CustomProperty:
                hidden?: boolean
                displayOrder?: number
                description?: string
                label: string
                type: string
                formField?: boolean
                groupName: string
                referencedObjectType?: string
                name: string
                options?: CustomPropertyOption[]
                calculationFormula?: string
                hasUniqueValue?: boolean
                fieldType: string
                externalOptions?: boolean
            CustomPropertyOption:
                hidden: boolean
                displayOrder?: number
                description?: string
                label: string
                value: string
            CreatedProperty:
                createdUserId: string
                hidden: boolean
                modificationMetadata:
                    readOnlyOptions?: boolean
                    readOnlyValue: boolean
                    readOnlyDefinition: boolean
                    archivable: boolean
                displayOrder: number
                description: string
                showCurrencySymbol?: boolean
                label: string
                type: string
                hubspotDefined?: boolean
                formField: boolean
                dataSensitivity?: string
                createdAt: string
                archivedAt?: string
                archived: boolean
                groupName: string
                referencedObjectType?: string
                name: string
                options:
                    - hidden: boolean
                      displayOrder: number
                      description: string
                      label: string
                      value: string
                calculationFormula?: string
                hasUniqueValue: boolean
                fieldType: string
                updatedUserId: string
                calculated: boolean
                externalOptions: boolean
                updatedAt: string
            RoleResponse:
                results: Role[]
            Role:
                requiresBillingWrite: boolean
                name: string
                id: string
            UserRoleInput:
                id: string
                firstName?: string
                lastName?: string
                primaryTeamId?: string
            ChangedRoleResponse:
                id: string
                firstName: string
                lastName: string
                primaryTeamId?: string
                email: string
                sendWelcomeEmail: boolean
                roleIds: string[]
                secondaryTeamIds: string[]
                superAdmin: boolean
                firstName?: string
                lastName?: string
                sendWelcomeEmail?: boolean
                secondaryTeamIds?: string[]
            HubspotServiceTicket:
                id: integer
                createdAt: date
                updatedAt: date
                isArchived: boolean
                subject: string
                content: string
                objectId: integer
                ownerId: integer
                pipeline: integer
                pipelineStage: integer
                ticketCategory: string | null
                ticketPriority: string
            HubspotOwner:
                id: integer
                email: string
                firstName: string
                lastName: string
                userId: integer
                createdAt: date
                updatedAt: date
                archived: boolean
            User:
                id: string
                email: string
                firstName: string
                lastName: string
                roleIds: string[]
                primaryTeamId?: string | undefined
                superAdmin: boolean
            CreateUser:
                firstName?: string
                lastName?: string
                primaryTeamId?: string
                email: string
                sendWelcomeEmail?: boolean
                roleId?: string
                secondaryTeamIds?: string[]
            CreatedUser:
                id: string
                firstName: string
                lastName: string
                primaryTeamId?: string
                email: string
                sendWelcomeEmail: boolean
                roleIds: string[]
                secondaryTeamIds: string[]
                superAdmin: boolean
            UserInformation:
                id: number
                email: string
            HubspotKnowledgeBase:
                id: string
                title: string
                description: string
                category: string
                content: string
                publishDate: number
            CreateContactInput:
                first_name?: string | undefined
                last_name?: string | undefined
                email?: string | undefined
                job_title?: string | undefined
                lead_status?: string | undefined
                lifecycle_stage?: string | undefined
                salutation?: string | undefined
                mobile_phone_number?: string | undefined
                website_url?: string | undefined
                owner?: string | undefined
            CreateUpdateContactOutput:
                id: string
                created_date: string
                first_name?: string | undefined
                last_name?: string  | undefined
                email?: string | undefined
                job_title?: string | undefined
                last_contacted?: string | undefined
                last_activity_date?: string | undefined
                lead_status?: string | undefined
                lifecycle_stage?: string | undefined
                salutation?: string | undefined
                mobile_phone_number?: string | undefined
                website_url?: string | undefined
                owner?: string | undefined
            UpdateContactInput:
                first_name?: string | undefined
                last_name?: string | undefined
                email?: string | undefined
                job_title?: string | undefined
                lead_status?: string | undefined
                lifecycle_stage?: string | undefined
                salutation?: string | undefined
                mobile_phone_number?: string | undefined
                website_url?: string | undefined
                owner?: string | undefined
                id: string
            Contact:
                id: string
                created_date: string
                first_name: string | null
                last_name: string  | null
                email: string | null
                job_title: string | null
                last_contacted: string | null
                last_activity_date: string | null
                lead_status: string | null
                lifecycle_stage: string | null
                salutation: string | null
                mobile_phone_number: string | null
                website_url: string | null
                owner: string | null
            CurrencyCode:
                id: string
                code: string
                description: string
            CreateCompanyInput:
                name?: string | undefined
                industry?: string | undefined
                description?: string | undefined
                country?: string | undefined
                city?: string | undefined
                lead_status?: string | undefined
                lifecycle_stage?: string | undefined
                owner?: string | undefined
                year_founded?: string | undefined
                website_url?: string | undefined
            UpdateCompanyInput:
                name?: string | undefined
                industry?: string | undefined
                description?: string | undefined
                country?: string | undefined
                city?: string | undefined
                lead_status?: string | undefined
                lifecycle_stage?: string | undefined
                owner?: string | undefined
                year_founded?: string | undefined
                website_url?: string | undefined
                id: string
            CreateUpdateCompanyOutput:
                id: string
                created_date: string
                name?: string | undefined
                industry?: string | undefined
                description?: string | undefined
                country?: string | undefined
                city?: string | undefined
                lead_status?: string | undefined
                lifecycle_stage?: string | undefined
                owner?: string | undefined
                year_founded?: string | undefined
                website_url?: string | undefined
            Company:
                id: string
                created_date: string | null
                name: string | null
                industry: string | null
                description: string | null
                country: string | null
                city: string | null
                lead_status: string | null
                lifecycle_stage: string | null
                owner: string | null
                year_founded: string | null
                website_url: string | null
            Account:
                id: string
                type: string
                timeZone: string
                companyCurrency: string
                additionalCurrencies: string[]
                utcOffset: string
                utcOffsetMilliseconds: number
                uiDomain: string
                dataHostingLocation: string
            CreateTaskInput:
                task_type?: string | undefined
                title?: string | undefined
                priority?: string| undefined
                assigned_to?: string | undefined
                due_date?: string | undefined
                notes?: string | undefined
                associations?: Association[] | undefined
            UpdateTaskInput:
                task_type?: string | undefined
                title?: string | undefined
                priority?: string| undefined
                assigned_to?: string | undefined
                due_date?: string | undefined
                notes?: string | undefined
                associations?: Association[] | undefined
                id: string
            CreateUpdateTaskOutput:
                id: string
                task_type?: string | undefined
                title?: string | undefined
                priority?: string| undefined
                assigned_to?: string | undefined
                due_date?: string | undefined
                notes?: string | undefined
                associations?: Association[] | undefined
            Task:
                id: string
                task_type: string | null
                title: string | null
                priority: string| null
                assigned_to: string | null
                due_date: string | null
                notes: string | null
                returned_associations?: ReturnedAssociations | undefined
            CreateDealInput:
                name?: string | undefined
                amount?: string | undefined
                close_date?: string | undefined
                deal_description?: string | undefined
                owner?: string | undefined
                deal_stage?: string | undefined
                deal_probability?: string | undefined
                associations?: Association[] | undefined
            UpdateDealInput:
                name?: string | undefined
                amount?: string | undefined
                close_date?: string | undefined
                deal_description?: string | undefined
                owner?: string | undefined
                deal_stage?: string | undefined
                deal_probability?: string | undefined
                associations?: Association[] | undefined
                id: string
            CreateUpdateDealOutput:
                id: string
                name?: string | undefined
                amount?: string | undefined
                close_date?: string | undefined
                deal_description?: string | undefined
                owner?: string | undefined
                deal_stage?: string | undefined
                deal_probability?: string | undefined
            Deal:
                id: string
                name: string | null
                amount: string | null
                close_date: string | null
                deal_description: string | null
                owner: string | null
                deal_stage: string | null
                deal_probability: string | null
                returned_associations?: ReturnedAssociations | undefined
            ReturnedAssociations:
                companies?: AssociationCompany[] | undefined
                contacts?: AssociationContact[] | undefined
                deals?: AssociationDeal[] | undefined
            AssociationTypes:
                association_category: string
                association_type_Id: number
            Association:
                to: number
                types: AssociationTypes[]
            AssociationCompany:
                id: string
                name: string | null
            AssociationContact:
                id: string
                first_name: string | null
                last_name: string | null
            AssociationDeal:
                id: string
                name: string | null
            Note:
                id?: string | undefined
                time_stamp: string
                created_date?: string | undefined
                body?: string | undefined
                attachment_ids?: string | undefined
                owner?: string | undefined
                associations?: Association[] | undefined
            LineItem:
                name: string
                price: string
                quantity: string
                recurringbillingfrequency: null | number
                tax: null | number
                amount: string
                createdate: string
                description: string
                discount: null | number
                id: string
                __string: any
            LineItemDefaultProperties:
                name: string
                price: string
                quantity: string
                recurringbillingfrequency: null | number
                tax: null | number
                amount: string
                createdate: string
                description: string
                discount: null | number
            CustomObject:
                id: string
                __string: any
            Product:
                updatedAt: string
                createdAt: string
                id: string
                amount: number | null
                description: string | null
                discount: number | null
                sku: string | null
                url: string | null
                name: string
                price: string
                quantity: number | null
                recurringBillingFrequency: number | null
                tax: null | number
            PipelineOutput:
                pipelines: Pipeline[]
            Pipeline:
                updatedAt: string
                createdAt: string
                label: string
                displayOrder: number
                id: string
                archived: boolean
                stages: Stage[]
            Stage:
                updatedAt: string
                createdAt: string
                label: string
                displayOrder: number
                metadata:
                    isClosed: boolean
                    probability: string
                id: string
                archived: boolean
                writePermissions: string
    instantly:
        actions:
            set-campaign-name:
                output: InstantlySetCampaignNameResponse
                input: InstantlySetCampaignNameInput
                description: |
                    Action to set a campaign name
                endpoint:
                    method: POST
                    path: /instantly/set-campaign-name
        models:
            InstantlySetCampaignNameResponse:
                status: string
            InstantlySetCampaignNameInput:
                campaign_id: string
                name: string
    intercom:
        actions:
            fetch-article:
                description: Fetch a single article from Intercom
                input: IdEntity
                endpoint:
                    method: GET
                    path: /single-article
                output: Article
            create-contact:
                description: Creates a contact in Intercom
                input: IntercomCreateContact
                endpoint:
                    method: POST
                    path: /contact
                output: Contact
            delete-contact:
                description: Deletes a contact in Intercom
                endpoint:
                    method: DELETE
                    path: /contact
                output: SuccessResponse
                input: IdEntity
        syncs:
            conversations:
                runs: every 6 hours
                description: |
                    Fetches a list of conversations from Intercom
                output:
                    - Conversation
                    - ConversationMessage
                sync_type: incremental
                version: 1.0.0
                endpoint:
                    - method: GET
                      path: /conversations
                    - method: GET
                      path: /conversation-messages
            contacts:
                runs: every 6 hours
                description: |
                    Fetches a list of contacts from Intercom
                output: Contact
                sync_type: full
                track_deletes: true
                version: 1.0.0
                endpoint:
                    method: GET
                    path: /contacts
            articles:
                runs: every 6 hours
                description: |
                    Fetches a list of articles from Intercom
                output: Article
                sync_type: full
                track_deletes: true
                version: 1.0.0
                endpoint:
                    method: GET
                    path: /articles
            users:
                runs: every 6 hours
                description: |
                    Fetches a list of admin users from Intercom
                output: User
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /users
        models:
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            Contact:
                id: string
                workspace_id: string
                external_id: string | null
                type: string
                email: string
                phone: string | null
                name: string | null
                created_at: string
                updated_at: string
                last_seen_at: string | null
                last_replied_at: string | null
            Conversation:
                id: string
                created_at: string
                updated_at: string
                waiting_since: string | null
                snoozed_until: string | null
                title: string | null
                contacts:
                    - contact_id: string
                state: string
                open: boolean
                read: boolean
                priority: string
            ConversationMessage:
                id: string
                conversation_id: string
                body: string
                type: string
                created_at: string
                updated_at: string
                author:
                    type: string
                    name: string
                    id: string
            Article:
                type: string
                id: string
                workspace_id: string
                title: string
                description: string | null
                body: string | null
                author_id: number
                state: string
                created_at: string
                updated_at: string
                url: string | null
                parent_id: number | null
                parent_ids: number[]
                parent_type: string | null
                default_locale?: string | undefined
                translated_content?: TranslatedContent | null | undefined
            ArticleContent:
                type: string | null
                title: string
                description: string
                body: string
                author_id: number
                state: string
                created_at: number
                updated_at: number
                url: string
            TranslatedContent:
                type: string | null
                ar: ArticleContent | null
                bg: ArticleContent | null
                bs: ArticleContent | null
                ca: ArticleContent | null
                cs: ArticleContent | null
                da: ArticleContent | null
                de: ArticleContent | null
                el: ArticleContent | null
                en: ArticleContent | null
                es: ArticleContent | null
                et: ArticleContent | null
                fi: ArticleContent | null
                fr: ArticleContent | null
                he: ArticleContent | null
                hr: ArticleContent | null
                hu: ArticleContent | null
                id: ArticleContent | null
                it: ArticleContent | null
                ja: ArticleContent | null
                ko: ArticleContent | null
                lt: ArticleContent | null
                lv: ArticleContent | null
                mn: ArticleContent | null
                nb: ArticleContent | null
                nl: ArticleContent | null
                pl: ArticleContent | null
                pt: ArticleContent | null
                ro: ArticleContent | null
                ru: ArticleContent | null
                sl: ArticleContent | null
                sr: ArticleContent | null
                sv: ArticleContent | null
                tr: ArticleContent | null
                vi: ArticleContent | null
                pt-BR: ArticleContent | null
                zh-CN: ArticleContent | null
                zh-TW: ArticleContent | null
            User:
                id: string
                email: string
                firstName: string
                lastName: string
            CreateContact:
                firstName: string
                lastName: string
                email: string
            IntercomCreateContact:
                firstName: string
                lastName: string
                email: string
                external_id?: string
                phone?: string
                avatar?: string
                signed_up_at?: number
                last_seen_at?: number
                owner_id?: string
                unsubscribed_from_emails?: boolean
    jira:
        syncs:
            issues:
                runs: every 5mins
                description: |
                    Fetches a list of issues from Jira
                output: Issue
                sync_type: incremental
                input: JiraIssueMetadata
                auto_start: false
                scopes:
                    - read:jira-work
                endpoint:
                    method: GET
                    path: /issues
                    group: Issues
            projects:
                runs: every day
                description: |
                    Fetches a list of projects from Jira
                output: Project
                scopes:
                    - read:jira-work
                sync_type: full
                track_deletes: true
                endpoint:
                    method: GET
                    path: /projects
            issue-types:
                runs: every day
                description: Fetches a list of issue types for a project
                output: IssueType
                scopes:
                    - read:jira-work
                sync_type: full
                track_deletes: true
                auto_start: false
                input: JiraIssueMetadata
                endpoint:
                    method: GET
                    path: /issue-types
        actions:
            create-issue:
                description: |
                    An action that creates an Issue on Jira
                input: CreateIssueInput
                scopes:
                    - write:jira-work
                output: CreateIssueOutput
                endpoint:
                    method: POST
                    path: /issues
                    group: Issues
                version: 1.0.0
        models:
            JiraIssueMetadata:
                projectIdsToSync: JiraProjectId[]
                cloudId?: string
                baseUrl?: string
            JiraProjectId:
                id: string
            Timestamps:
                createdAt: string
                updatedAt: string
            Issue:
                createdAt: string
                updatedAt: string
                id: string
                key: string
                summary: string
                issueType: string
                status: string
                assignee: string | null
                url: string
                webUrl: string
                projectId: string
                projectKey: string
                projectName: string
                comments:
                    - Comment
            Comment:
                createdAt: string
                updatedAt: string
                id: string
                author: Author
                body: object
            Author:
                accountId: string | null
                active: boolean
                displayName: string
                emailAddress: string | null
            Project:
                id: string
                key: string
                name: string
                url: string
                projectTypeKey: string
                webUrl: string
            IssueType:
                projectId: string
                id: string
                name: string
                description: string | null
                url: string
            CreateIssueInput:
                summary: string
                description?: string
                assignee?: string
                labels?: string[]
                project: string
                issueType: string
            CreateIssueOutput:
                id: string
                key: string
                self: string
    jira-basic:
        actions:
            create-user:
                description: >
                    Creates a user in Jira. Note that this endpoint is marked as
                    experimental and could 

                    be deprecated in the future. Products are optional and allowed params
                    are

                    jira-core, jira-servicedesk, jira-product-discovery, jira-software.
                    Defaults to 

                    jira-software. Note that the last name isn't able to be set via the
                    API and 

                    the first name defaults to the email address.
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: JiraCreateUser
            delete-user:
                description: >
                    Deletes a user in Jira. Note that this endpoint is marked as
                    experimental and could 

                    be deprecated in the future.
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
            fetch-teams:
                description: |
                    Fetch teams in an organisation in Jira
                output: Teams
                input: IdEntity
                endpoint:
                    method: GET
                    path: /teams-list
                    group: Teams
        syncs:
            users:
                runs: every day
                description: |
                    Fetches a list of users from Jira
                output: User
                track_deletes: true
                sync_type: full
                endpoint:
                    method: GET
                    path: /users
                    group: Users
        models:
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            ActionResponseError:
                message: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
            User:
                id: string
                firstName: string
                lastName: string
                email: string
            JiraCreateUser:
                firstName: string
                lastName: string
                email: string
                products?: string[]
            Teams:
                teams: Team[]
            Team:
                id: string
                name: string
    keeper-scim:
        actions:
            create-user:
                description: Creates a user in Keeper
                input: KeeperCreateUser
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                output: User
            delete-user:
                description: Deletes a user in Keeper
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
        syncs:
            users:
                description: |
                    Fetches the list of users from Keeper
                endpoint:
                    method: GET
                    path: /users
                    group: Users
                sync_type: full
                track_deletes: true
                runs: every day
                output: User
        models:
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            User:
                id: string
                email: string
                firstName: string
                lastName: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
            KeeperCreateUser:
                firstName: string
                lastName: string
                email: string
                active?: boolean
                externalId?: string
                phoneNumbers?: PhoneNumber[]
                photos?: Photo[]
                addresses?: Address[]
                title?: string
            PhoneNumber:
                type: work | mobile | other
                value: string
            Photo:
                type: photo | thumbnail
                value: string
            Address:
                type: work
                streetAddress?: string
                locality?: string
                region?: string
                postalCode?: string
                country?: string
    kustomer:
        syncs:
            conversations:
                runs: every 6 hours
                description: |
                    Retrieves a paginated list of conversations for the organization
                output: KustomerConversation
                sync_type: full
                endpoint:
                    method: GET
                    path: /kustomer/conversations
                scopes:
                    - org.user.conversation.read
                    - org.permission.conversation.read
        models:
            KustomerConversation:
                type: string
                id: string
                attributes: object
                relationships: object
                links: object
    lastpass:
        actions:
            create-user:
                description: Creates a user in Lastpass.
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: LastPassCreateUser
            delete-user:
                description: Deletes a user in Lastpass.
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: EmailEntity
        syncs:
            users:
                runs: every day
                description: |
                    Fetches a list of users from Lastpass.
                output: User
                track_deletes: true
                sync_type: full
                endpoint:
                    method: GET
                    path: /users
                    group: Users
        models:
            EmailEntity:
                email: string
            SuccessResponse:
                success: boolean
            ActionResponseError:
                message: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
            LastPassCreateUser:
                firstName: string
                lastName: string
                email: string
                groups?: string[]
                duousername?: string
                securidusername?: string
                password?: string
                password_reset_required?: boolean
            User:
                id: string
                firstName: string
                lastName: string
                email: string
    lattice:
        syncs:
            users:
                runs: every day
                description: Fetches a list of users from Lattice
                output: User
                sync_type: full
                track_deletes: true
                endpoint:
                    method: GET
                    path: /users
                    group: Users
        models:
            User:
                id: string
                email: string
                firstName: string
                lastName: string
    lattice-scim:
        actions:
            create-user:
                description: Creates a user in Lattice
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: CreateUser
            disable-user:
                description: Disables a user in Lattice
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
        models:
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            User:
                id: string
                email: string
                firstName: string
                lastName: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
    lever:
        actions:
            create-note:
                description: |
                    Action to create a note and add it to an opportunity.
                output: LeverOpportunityNote
                input: LeverCreateNoteInput
                endpoint:
                    method: POST
                    path: /notes
                    group: Notes
                scopes:
                    - notes:write:admin
                version: 1.0.0
            create-opportunity:
                description: >
                    Create an opportunity and optionally candidates associated with the
                    opportunity
                output: LeverOpportunity
                input: LeverCreateOpportunityInput
                endpoint:
                    method: POST
                    path: /opportunities
                    group: Opportunities
                scopes:
                    - opportunities:write:admin
                version: 1.0.0
            get-stages:
                description: |
                    Action to get lists all pipeline stages. Note that this does 
                    not paginate the response so it is possible that not all stages 
                    are returned.
                output: GetStages
                endpoint:
                    method: GET
                    path: /stages/limited
                    group: Stages
                version: 1.0.0
            users:
                description: >
                    Lists all the users in your Lever account. Only active users are
                    included by default.
                output: SuccessResponse
                endpoint:
                    method: GET
                    path: /users
                    group: Users
            get-postings:
                description: |
                    Get all posts for your account. Note that this does
                    not paginate the response so it is possible that not all postings 
                    are returned.
                output: SuccessResponse
                endpoint:
                    method: GET
                    path: /posts/limited
                    group: Posts
                version: 1.0.0
            get-archive-reasons:
                description: |
                    Get all archived reasons
                output: SuccessResponse
                endpoint:
                    method: GET
                    path: /archived/reasons
                    group: Archived
            get-posting:
                description: |
                    Get single post for your account in Lever
                output: SuccessResponse
                input: SinglePost
                endpoint:
                    method: GET
                    path: /posts/single
                    group: Posts
                version: 1.0.0
            update-opportunity-links:
                description: |
                    Update the links in an opportunity
                output: SuccessResponse
                input: UpdateLinks
                endpoint:
                    method: POST
                    path: /opportunities/links
                    group: Opportunities
                version: 1.0.0
            update-opportunity-sources:
                description: |
                    Update the sources in an opportunity
                output: SuccessResponse
                input: UpdateSources
                endpoint:
                    method: POST
                    path: /opportunities/sources
                    group: Opportunities
                version: 1.0.0
            update-opportunity-stage:
                description: |
                    Update the stage in an opportunity
                output: SuccessResponse
                input: UpdateOpportunityStage
                endpoint:
                    method: POST
                    path: /opportunities/stages
                    group: Opportunities
                version: 1.0.0
            update-opportunity-tags:
                description: |
                    Update the tags in an opportunity
                output: SuccessResponse
                input: UpdateTags
                endpoint:
                    method: POST
                    path: /opportunities/tags
                    group: Opportunities
                version: 1.0.0
            update-opportunity-archived:
                description: |
                    Update the archived state of an opportunity
                output: SuccessResponse
                input: ArchiveOpportunity
                endpoint:
                    method: PUT
                    path: /opportunities/archived
                    group: Opportunities
                version: 1.0.0
            apply-posting:
                description: >
                    Submit an application on behalf of a candidate. This endpoint can only
                    be used to submit applications to published or unlisted postings.
                output: SuccessResponse
                input: ApplyToPosting
                endpoint:
                    method: POST
                    path: /posts/apply
                    group: Posts
            update-opportunity:
                description: |
                    Update an opportunity
                output: ReturnObjUpdateOpportunity
                input: UpdateOpportunity
                endpoint:
                    method: PATCH
                    path: /opportunities
                    group: Opportunities
        syncs:
            opportunities:
                runs: every 6 hours
                description: |
                    Fetches all opportunities
                output: LeverOpportunity
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /opportunities
                    group: Opportunities
                scopes:
                    - opportunities:read:admin
            opportunities-applications:
                runs: every 6 hours
                description: |
                    Fetches a list of all applications for a candidate in Lever
                output: LeverOpportunityApplication
                sync_type: full
                endpoint:
                    method: GET
                    path: /applications
                    group: Applications
                scopes:
                    - applications:read:admin
                version: 1.0.0
            opportunities-feedbacks:
                runs: every 6 hours
                description: >
                    Fetches a list of all feedback forms for a candidate for every single
                    opportunity
                output: LeverOpportunityFeedback
                sync_type: full
                endpoint:
                    method: GET
                    path: /opportunities/feedback
                    group: Opportunities
                scopes:
                    - feedback:read:admin
            opportunities-interviews:
                runs: every 6 hours
                description: |
                    Fetches a list of all interviews for every single opportunity
                output: LeverOpportunityInterview
                sync_type: full
                endpoint:
                    method: GET
                    path: /opportunities/interviews
                    group: Opportunities
                scopes:
                    - interviews:read:admin
                version: 1.0.0
            opportunities-notes:
                runs: every 6 hours
                description: |
                    Fetches a list of all notes for every single opportunity
                output: LeverOpportunityNote
                sync_type: full
                endpoint:
                    method: GET
                    path: /notes
                    group: Notes
                scopes:
                    - notes:read:admin
                version: 1.0.0
            opportunities-offers:
                runs: every 6 hours
                description: |
                    Fetches a list of all offers for every single opportunity
                output: LeverOpportunityOffer
                sync_type: full
                endpoint:
                    method: GET
                    path: /offers
                    group: Offers
                scopes:
                    - offers:write:admin
                version: 1.0.0
            postings:
                runs: every 6 hours
                description: |
                    Fetches a list of all postings in Lever
                output: LeverPosting
                sync_type: full
                endpoint:
                    method: GET
                    path: /postings
                    group: Postings
                scopes:
                    - postings:read:admin
                version: 1.0.0
            postings-questions:
                runs: every 6 hours
                description: >
                    Fetches a list of all questions included in a posting’s application
                    form in Lever
                output: LeverPostingApply
                sync_type: full
                endpoint:
                    method: GET
                    path: /postings/questions
                    group: Postings
                scopes:
                    - postings:read:admin
                version: 1.0.0
            stages:
                runs: every 6 hours
                description: |
                    Fetches a list of all pipeline stages in Lever
                output: LeverStage
                sync_type: full
                endpoint:
                    method: GET
                    path: /stages
                    group: Stages
                scopes:
                    - stages:read:admin
                version: 1.0.0
        models:
            LeverOpportunity:
                id: string
                name: string
                headline: string
                contact: string
                emails: string[]
                phones: string[]
                confidentiality: string
                location: string
                links: string[]
                archived:
                    reason: string
                    archivedAt: number
                createdAt: number
                updatedAt: number
                lastInteractionAt: number
                lastAdvancedAt: number
                snoozedUntil: number
                archivedAt: number
                archiveReason: string
                stage: string
                stageChanges: string[]
                owner: string
                tags: string[]
                sources: string[]
                origin: string
                sourcedBy: string
                applications: string[]
                resume: string
                followers: string[]
                urls:
                    list: string
                    show: string
                dataProtection: object
                isAnonymized: boolean
                opportunityLocation: string
            LeverOpportunityApplication:
                id: string
                opportunityId: string
                candidateId: string
                createdAt: number
                type: string
                posting: string
                postingHiringManager: string
                postingOwner: string
                user: string
                name: string
                email: string
                phone:
                    type: string
                    value: string
                requisitionForHire:
                    id: string
                    requisitionCode: string
                    hiringManagerOnHire: string
                ownerId: string
                hiringManager: string
                company: string
                links: string[]
                comments: string
                customQuestions: string[]
                archived:
                    reason: string
                    archivedAt: number
            LeverOpportunityFeedback:
                id: string
                type: string
                text: string
                instructions: string
                fields: string[]
                baseTemplateId: string
                interview: string
                panel: string
                user: string
                createdAt: number
                completedAt: number
                updatedAt: number
                deletedAt: number
            LeverOpportunityInterview:
                id: string
                panel: string
                subject: string
                note: string
                interviewers: string[]
                timezone: string
                createdAt: number
                date: number
                duration: number
                location: string
                feedbackTemplate: string
                feedbackForms: string[]
                feedbackReminder: string
                user: string
                stage: string
                canceledAt: number
                postings: string[]
                gcalEventUrl: string
            LeverOpportunityNote:
                id: string
                text: string
                fields: string[]
                user: string
                secret: boolean
                completedAt: number
                createdAt: number
                deletedAt: number
            LeverOpportunityOffer:
                id: string
                createdAt: number
                status: string
                creator: string
                fields: string[]
                sentDocument:
                    fileName: string
                    uploadedAt: number
                    downloadUrl: string
                signedDocument:
                    fileName: string
                    uploadedAt: number
                    downloadUrl: string
            LeverPosting:
                perform_as?: string
                id: string
                text: string
                createdAt: number
                updatedAt: number
                user: string
                owner: string
                hiringManager: string
                confidentiality: string
                categories:
                    team: string
                    department: string
                    location: string
                    allLocations: string[]
                    commitment: string
                    level: string
                content:
                    description: string
                    descriptionHtml: string
                    lists: string[]
                    closing: string
                    closingHtml: string
                country: string
                followers: string[]
                tags: string[]
                state: string
                distributionChannels: string[]
                reqCode: string
                requisitionCodes: string[]
                salaryDescription: string
                salaryDescriptionHtml: string
                salaryRange:
                    max: number
                    min: number
                    currency: string
                    interval: string
                urls:
                    list: string
                    show: string
                    apply: string
                workplaceType: string
            LeverPostingApply:
                id: string
                text: string
                customQuestions: string[]
                eeoQuestions: string[]
                personalInformation: string[]
                urls: string[]
            LeverStage:
                id: string
                text: string
            LeverCreateNoteInput:
                opportunityId: string
                perform_as: string | undefined
                note_id: string | undefined
                value: string | undefined
                secret: boolean | undefined
                score: number | undefined
                notifyFollowers: boolean | undefined
                createdAt: number | undefined
            PhoneEntry:
                value: string | undefined
                type: string | undefined
            ArchievedEntry:
                archivedAt: number | undefined
                reason: string | undefined
            LeverCreateOpportunityInput:
                perform_as: string
                parse: boolean | undefined
                perform_as_posting_owner: boolean | undefined
                name: string | undefined
                headline: string | undefined
                stage: string | undefined
                location: string | undefined
                phones: PhoneEntry[] | undefined
                emails: string | undefined
                links: string[] | undefined
                tags: string[] | undefined
                sources: string[] | undefined
                origin: string | undefined
                owner: string | undefined
                followers: string[] | undefined
                postings: string[] | undefined
                createdAt: number | undefined
                archived: ArchievedEntry | undefined
                contact: string[] | undefined
            UpdateOpportunityStage:
                perform_as?: string
                stage: string
                opportunityId: string
            ArchiveOpportunity:
                perform_as?: string
                reason: string
                requisitionId?: string
                opportunityId: string
                cleanInterviews?: boolean
            ArchiveObject:
                reason: string
                cleanInterviews?: boolean
                requisitionId?: string
            UpdateLinks:
                perform_as?: string
                links: string[]
                opportunityId: string
                delete: boolean
            UpdateTags:
                opportunityId: string
                perform_as?: string
                tags: string[]
                delete: boolean
            UpdateSources:
                opportunityId: string
                perform_as?: string
                sources: string[]
                delete: boolean
            Stages:
                id: string
                text: string
            GetStages:
                stages: Stages[]
            Users:
                id: string
                name: string
                username: string
                email: string
                accessRole: string
                photo: string | null
                createdAt: number
                deactivatedAt: string | null
                externalDirectoryId: string | null
                linkedContactIds: string[] | null
                jobTitle: string | null
                managerId: string | null
            GetUsers:
                users: Users[]
            SuccessResponse:
                success: boolean
                opportunityId?: string
                response?: LeverOpportunity
            ApplyCandidate:
                send_confirmation_email?: boolean
                customQuestions: any[]
                personalInformation: any[]
                eeoResponses: object
                urls: any[]
                ipAddress?: string
                source?: string
                consent?: object
                diversitySurvey?: object
                origin?: string
            PostingCategories:
                team: string
                department: string
                location?: string
                commitment?: string
                allLocations?: string[]
            ContentList:
                text: string
                content: string
            PostingContent:
                descriptionHtml: string
                lists?: ContentList[]
                closingPostingHtml?: string
            SinglePost:
                id: string
            QuestionResponse:
                name: string
                value: string
            ApplyToPosting:
                postId: string
                send_confirmation_email?: boolean
                personalInformation: QuestionResponse[]
                eeoResponses: object
                urls?: QuestionResponse[]
                CustomQuestions?: CustomQuestion[]
                ipAddress?: string
                source?: string
                consent?:
                    marketing:
                        provided: boolean
                        compliancePolicyId: string
                    store:
                        provided: boolean
                        compliancePolicyId: string
                diversitySurvey?:
                    surveyId: string
                    candidateSelectedLocation: string
                    responses: DiversityQuestionResponse[]
                origin?: string
            CustomQuestionResponse:
                value: string
            CustomQuestion:
                id: string
                fields: CustomQuestionResponse[]
            DiversityQuestionResponse:
                questionId: string
                questionText: string
                questionType: string
                answer: string
            UpdateOpportunity:
                opportunityId: string
                perform_as?: string
                delete?: boolean
                links?: string[]
                sources?: string[]
                stage?: string
                tags?: string[]
                reason?: string
                cleanInterviews?: boolean
                requisitionId?: string
            StageChangesObject:
                toStageId: string
                toStageIndex: number
                updatedAt: number
                userId: string
            ReturnObjUpdateOpportunity:
                data:
                    id?: string
                    name?: string
                    headline?: string
                    contact?: string
                    emails?: string[]
                    phones?: string[]
                    confidentiality?: string
                    location?: string
                    links?: string[]
                    archived?:
                        reason?: string
                        archivedAt?: number
                    createdAt?: number
                    updatedAt?: number
                    lastInteractionAt?: number
                    lastAdvancedAt?: number
                    snoozedUntil?: number | null
                    archivedAt?: number
                    archiveReason?: string
                    stage?: string
                    stageChanges?: StageChangesObject[]
                    owner?: string
                    tags?: string[]
                    sources?: string[]
                    origin?: string
                    sourcedBy?: string
                    applications?: string[]
                    resume?: string
                    followers?: string[]
                    urls?:
                        list?: string
                        show?: string
                    dataProtection?: object | null
                    isAnonymized?: boolean
                    opportunityLocation?: string
    lever-basic:
        actions:
            create-note:
                description: |
                    Action to create a note and add it to an opportunity.
                output: LeverOpportunityNote
                input: LeverCreateNoteInput
                endpoint:
                    method: POST
                    path: /notes
                    group: Notes
                scopes:
                    - notes:write:admin
                version: 1.0.0
            create-opportunity:
                description: >
                    Create an opportunity and optionally candidates associated with the
                    opportunity
                output: LeverOpportunity
                input: LeverCreateOpportunityInput
                endpoint:
                    method: POST
                    path: /opportunities
                    group: Opportunities
                scopes:
                    - opportunities:write:admin
                version: 1.0.0
            get-stages:
                description: |
                    Action to get lists all pipeline stages. Note that this does 
                    not paginate the response so it is possible that not all stages 
                    are returned.
                output: GetStages
                endpoint:
                    method: GET
                    path: /stages/limited
                    group: Stages
                version: 1.0.0
            users:
                description: >
                    Lists all the users in your Lever account. Only active users are
                    included by default.
                output: SuccessResponse
                endpoint:
                    method: GET
                    path: /users
                    group: Users
            get-postings:
                description: |
                    Get all posts for your account. Note that this does
                    not paginate the response so it is possible that not all postings 
                    are returned.
                output: SuccessResponse
                endpoint:
                    method: GET
                    path: /posts/limited
                    group: Posts
                version: 1.0.0
            get-archive-reasons:
                description: |
                    Get all archived reasons
                output: SuccessResponse
                endpoint:
                    method: GET
                    path: /archived/reasons
                    group: Archived
            get-posting:
                description: |
                    Get single post for your account in Lever
                output: SuccessResponse
                input: SinglePost
                endpoint:
                    method: GET
                    path: /posts/single
                    group: Posts
                version: 1.0.0
            update-opportunity-links:
                description: |
                    Update the links in an opportunity
                output: SuccessResponse
                input: UpdateLinks
                endpoint:
                    method: POST
                    path: /opportunities/links
                    group: Opportunities
                version: 1.0.0
            update-opportunity-sources:
                description: |
                    Update the sources in an opportunity
                output: SuccessResponse
                input: UpdateSources
                endpoint:
                    method: POST
                    path: /opportunities/sources
                    group: Opportunities
                version: 1.0.0
            update-opportunity-stage:
                description: |
                    Update the stage in an opportunity
                output: SuccessResponse
                input: UpdateOpportunityStage
                endpoint:
                    method: POST
                    path: /opportunities/stages
                    group: Opportunities
                version: 1.0.0
            update-opportunity-tags:
                description: |
                    Update the tags in an opportunity
                output: SuccessResponse
                input: UpdateTags
                endpoint:
                    method: POST
                    path: /opportunities/tags
                    group: Opportunities
                version: 1.0.0
            update-opportunity-archived:
                description: |
                    Update the archived state of an opportunity
                output: SuccessResponse
                input: ArchiveOpportunity
                endpoint:
                    method: PUT
                    path: /opportunities/archived
                    group: Opportunities
                version: 1.0.0
            apply-posting:
                description: >
                    Submit an application on behalf of a candidate. This endpoint can only
                    be used to submit applications to published or unlisted postings.
                output: SuccessResponse
                input: ApplyToPosting
                endpoint:
                    method: POST
                    path: /posts/apply
                    group: Posts
            update-opportunity:
                description: |
                    Update an opportunity
                output: ReturnObjUpdateOpportunity
                input: UpdateOpportunity
                endpoint:
                    method: PATCH
                    path: /opportunities
                    group: Opportunities
        syncs:
            opportunities:
                runs: every 6 hours
                description: |
                    Fetches all opportunities
                output: LeverOpportunity
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /opportunities
                    group: Opportunities
                scopes:
                    - opportunities:read:admin
            opportunities-applications:
                runs: every 6 hours
                description: |
                    Fetches a list of all applications for a candidate in Lever
                output: LeverOpportunityApplication
                sync_type: full
                endpoint:
                    method: GET
                    path: /applications
                    group: Applications
                scopes:
                    - applications:read:admin
                version: 1.0.0
            opportunities-feedbacks:
                runs: every 6 hours
                description: >
                    Fetches a list of all feedback forms for a candidate for every single
                    opportunity
                output: LeverOpportunityFeedback
                sync_type: full
                endpoint:
                    method: GET
                    path: /opportunities/feedback
                    group: Opportunities
                scopes:
                    - feedback:read:admin
            opportunities-interviews:
                runs: every 6 hours
                description: |
                    Fetches a list of all interviews for every single opportunity
                output: LeverOpportunityInterview
                sync_type: full
                endpoint:
                    method: GET
                    path: /opportunities/interviews
                    group: Opportunities
                scopes:
                    - interviews:read:admin
                version: 1.0.0
            opportunities-notes:
                runs: every 6 hours
                description: |
                    Fetches a list of all notes for every single opportunity
                output: LeverOpportunityNote
                sync_type: full
                endpoint:
                    method: GET
                    path: /notes
                    group: Notes
                scopes:
                    - notes:read:admin
                version: 1.0.0
            opportunities-offers:
                runs: every 6 hours
                description: |
                    Fetches a list of all offers for every single opportunity
                output: LeverOpportunityOffer
                sync_type: full
                endpoint:
                    method: GET
                    path: /offers
                    group: Offers
                scopes:
                    - offers:write:admin
                version: 1.0.0
            postings:
                runs: every 6 hours
                description: |
                    Fetches a list of all postings in Lever
                output: LeverPosting
                sync_type: full
                endpoint:
                    method: GET
                    path: /postings
                    group: Postings
                scopes:
                    - postings:read:admin
                version: 1.0.0
            postings-questions:
                runs: every 6 hours
                description: >
                    Fetches a list of all questions included in a posting’s application
                    form in Lever
                output: LeverPostingApply
                sync_type: full
                endpoint:
                    method: GET
                    path: /postings/questions
                    group: Postings
                scopes:
                    - postings:read:admin
                version: 1.0.0
            stages:
                runs: every 6 hours
                description: |
                    Fetches a list of all pipeline stages in Lever
                output: LeverStage
                sync_type: full
                endpoint:
                    method: GET
                    path: /stages
                    group: Stages
                scopes:
                    - stages:read:admin
                version: 1.0.0
        models:
            LeverOpportunity:
                id: string
                name: string
                headline: string
                contact: string
                emails: string[]
                phones: string[]
                confidentiality: string
                location: string
                links: string[]
                archived:
                    reason: string
                    archivedAt: number
                createdAt: number
                updatedAt: number
                lastInteractionAt: number
                lastAdvancedAt: number
                snoozedUntil: number
                archivedAt: number
                archiveReason: string
                stage: string
                stageChanges: string[]
                owner: string
                tags: string[]
                sources: string[]
                origin: string
                sourcedBy: string
                applications: string[]
                resume: string
                followers: string[]
                urls:
                    list: string
                    show: string
                dataProtection: object
                isAnonymized: boolean
                opportunityLocation: string
            LeverOpportunityApplication:
                id: string
                opportunityId: string
                candidateId: string
                createdAt: number
                type: string
                posting: string
                postingHiringManager: string
                postingOwner: string
                user: string
                name: string
                email: string
                phone:
                    type: string
                    value: string
                requisitionForHire:
                    id: string
                    requisitionCode: string
                    hiringManagerOnHire: string
                ownerId: string
                hiringManager: string
                company: string
                links: string[]
                comments: string
                customQuestions: string[]
                archived:
                    reason: string
                    archivedAt: number
            LeverOpportunityFeedback:
                id: string
                type: string
                text: string
                instructions: string
                fields: string[]
                baseTemplateId: string
                interview: string
                panel: string
                user: string
                createdAt: number
                completedAt: number
                updatedAt: number
                deletedAt: number
            LeverOpportunityInterview:
                id: string
                panel: string
                subject: string
                note: string
                interviewers: string[]
                timezone: string
                createdAt: number
                date: number
                duration: number
                location: string
                feedbackTemplate: string
                feedbackForms: string[]
                feedbackReminder: string
                user: string
                stage: string
                canceledAt: number
                postings: string[]
                gcalEventUrl: string
            LeverOpportunityNote:
                id: string
                text: string
                fields: string[]
                user: string
                secret: boolean
                completedAt: number
                createdAt: number
                deletedAt: number
            LeverOpportunityOffer:
                id: string
                createdAt: number
                status: string
                creator: string
                fields: string[]
                sentDocument:
                    fileName: string
                    uploadedAt: number
                    downloadUrl: string
                signedDocument:
                    fileName: string
                    uploadedAt: number
                    downloadUrl: string
            LeverPosting:
                perform_as?: string
                id: string
                text: string
                createdAt: number
                updatedAt: number
                user: string
                owner: string
                hiringManager: string
                confidentiality: string
                categories:
                    team: string
                    department: string
                    location: string
                    allLocations: string[]
                    commitment: string
                    level: string
                content:
                    description: string
                    descriptionHtml: string
                    lists: string[]
                    closing: string
                    closingHtml: string
                country: string
                followers: string[]
                tags: string[]
                state: string
                distributionChannels: string[]
                reqCode: string
                requisitionCodes: string[]
                salaryDescription: string
                salaryDescriptionHtml: string
                salaryRange:
                    max: number
                    min: number
                    currency: string
                    interval: string
                urls:
                    list: string
                    show: string
                    apply: string
                workplaceType: string
            LeverPostingApply:
                id: string
                text: string
                customQuestions: string[]
                eeoQuestions: string[]
                personalInformation: string[]
                urls: string[]
            LeverStage:
                id: string
                text: string
            LeverCreateNoteInput:
                opportunityId: string
                perform_as: string | undefined
                note_id: string | undefined
                value: string | undefined
                secret: boolean | undefined
                score: number | undefined
                notifyFollowers: boolean | undefined
                createdAt: number | undefined
            PhoneEntry:
                value: string | undefined
                type: string | undefined
            ArchievedEntry:
                archivedAt: number | undefined
                reason: string | undefined
            LeverCreateOpportunityInput:
                perform_as: string
                parse: boolean | undefined
                perform_as_posting_owner: boolean | undefined
                name: string | undefined
                headline: string | undefined
                stage: string | undefined
                location: string | undefined
                phones: PhoneEntry[] | undefined
                emails: string | undefined
                links: string[] | undefined
                tags: string[] | undefined
                sources: string[] | undefined
                origin: string | undefined
                owner: string | undefined
                followers: string[] | undefined
                postings: string[] | undefined
                createdAt: number | undefined
                archived: ArchievedEntry | undefined
                contact: string[] | undefined
            UpdateOpportunityStage:
                perform_as?: string
                stage: string
                opportunityId: string
            ArchiveOpportunity:
                perform_as?: string
                reason: string
                requisitionId?: string
                opportunityId: string
                cleanInterviews?: boolean
            ArchiveObject:
                reason: string
                cleanInterviews?: boolean
                requisitionId?: string
            UpdateLinks:
                perform_as?: string
                links: string[]
                opportunityId: string
                delete: boolean
            UpdateTags:
                opportunityId: string
                perform_as?: string
                tags: string[]
                delete: boolean
            UpdateSources:
                opportunityId: string
                perform_as?: string
                sources: string[]
                delete: boolean
            Stages:
                id: string
                text: string
            GetStages:
                stages: Stages[]
            Users:
                id: string
                name: string
                username: string
                email: string
                accessRole: string
                photo: string | null
                createdAt: number
                deactivatedAt: string | null
                externalDirectoryId: string | null
                linkedContactIds: string[] | null
                jobTitle: string | null
                managerId: string | null
            GetUsers:
                users: Users[]
            SuccessResponse:
                success: boolean
                opportunityId?: string
                response?: LeverOpportunity
            ApplyCandidate:
                send_confirmation_email?: boolean
                customQuestions: any[]
                personalInformation: any[]
                eeoResponses: object
                urls: any[]
                ipAddress?: string
                source?: string
                consent?: object
                diversitySurvey?: object
                origin?: string
            PostingCategories:
                team: string
                department: string
                location?: string
                commitment?: string
                allLocations?: string[]
            ContentList:
                text: string
                content: string
            PostingContent:
                descriptionHtml: string
                lists?: ContentList[]
                closingPostingHtml?: string
            SinglePost:
                id: string
            QuestionResponse:
                name: string
                value: string
            ApplyToPosting:
                postId: string
                send_confirmation_email?: boolean
                personalInformation: QuestionResponse[]
                eeoResponses: object
                urls?: QuestionResponse[]
                CustomQuestions?: CustomQuestion[]
                ipAddress?: string
                source?: string
                consent?:
                    marketing:
                        provided: boolean
                        compliancePolicyId: string
                    store:
                        provided: boolean
                        compliancePolicyId: string
                diversitySurvey?:
                    surveyId: string
                    candidateSelectedLocation: string
                    responses: DiversityQuestionResponse[]
                origin?: string
            CustomQuestionResponse:
                value: string
            CustomQuestion:
                id: string
                fields: CustomQuestionResponse[]
            DiversityQuestionResponse:
                questionId: string
                questionText: string
                questionType: string
                answer: string
            UpdateOpportunity:
                opportunityId: string
                perform_as?: string
                delete?: boolean
                links?: string[]
                sources?: string[]
                stage?: string
                tags?: string[]
                reason?: string
                cleanInterviews?: boolean
                requisitionId?: string
            StageChangesObject:
                toStageId: string
                toStageIndex: number
                updatedAt: number
                userId: string
            ReturnObjUpdateOpportunity:
                data:
                    id?: string
                    name?: string
                    headline?: string
                    contact?: string
                    emails?: string[]
                    phones?: string[]
                    confidentiality?: string
                    location?: string
                    links?: string[]
                    archived?:
                        reason?: string
                        archivedAt?: number
                    createdAt?: number
                    updatedAt?: number
                    lastInteractionAt?: number
                    lastAdvancedAt?: number
                    snoozedUntil?: number | null
                    archivedAt?: number
                    archiveReason?: string
                    stage?: string
                    stageChanges?: StageChangesObject[]
                    owner?: string
                    tags?: string[]
                    sources?: string[]
                    origin?: string
                    sourcedBy?: string
                    applications?: string[]
                    resume?: string
                    followers?: string[]
                    urls?:
                        list?: string
                        show?: string
                    dataProtection?: object | null
                    isAnonymized?: boolean
                    opportunityLocation?: string
    lever-basic-sandbox:
        actions:
            create-note:
                description: |
                    Action to create a note and add it to an opportunity.
                output: LeverOpportunityNote
                input: LeverCreateNoteInput
                endpoint:
                    method: POST
                    path: /notes
                    group: Notes
                scopes:
                    - notes:write:admin
                version: 1.0.0
            create-opportunity:
                description: >
                    Create an opportunity and optionally candidates associated with the
                    opportunity
                output: LeverOpportunity
                input: LeverCreateOpportunityInput
                endpoint:
                    method: POST
                    path: /opportunities
                    group: Opportunities
                scopes:
                    - opportunities:write:admin
                version: 1.0.0
            get-stages:
                description: |
                    Action to get lists all pipeline stages. Note that this does 
                    not paginate the response so it is possible that not all stages 
                    are returned.
                output: GetStages
                endpoint:
                    method: GET
                    path: /stages/limited
                    group: Stages
                version: 1.0.0
            users:
                description: >
                    Lists all the users in your Lever account. Only active users are
                    included by default.
                output: SuccessResponse
                endpoint:
                    method: GET
                    path: /users
                    group: Users
            get-postings:
                description: |
                    Get all posts for your account. Note that this does
                    not paginate the response so it is possible that not all postings 
                    are returned.
                output: SuccessResponse
                endpoint:
                    method: GET
                    path: /posts/limited
                    group: Posts
                version: 1.0.0
            get-archive-reasons:
                description: |
                    Get all archived reasons
                output: SuccessResponse
                endpoint:
                    method: GET
                    path: /archived/reasons
                    group: Archived
            get-posting:
                description: |
                    Get single post for your account in Lever
                output: SuccessResponse
                input: SinglePost
                endpoint:
                    method: GET
                    path: /posts/single
                    group: Posts
                version: 1.0.0
            update-opportunity-links:
                description: |
                    Update the links in an opportunity
                output: SuccessResponse
                input: UpdateLinks
                endpoint:
                    method: POST
                    path: /opportunities/links
                    group: Opportunities
                version: 1.0.0
            update-opportunity-sources:
                description: |
                    Update the sources in an opportunity
                output: SuccessResponse
                input: UpdateSources
                endpoint:
                    method: POST
                    path: /opportunities/sources
                    group: Opportunities
                version: 1.0.0
            update-opportunity-stage:
                description: |
                    Update the stage in an opportunity
                output: SuccessResponse
                input: UpdateOpportunityStage
                endpoint:
                    method: POST
                    path: /opportunities/stages
                    group: Opportunities
                version: 1.0.0
            update-opportunity-tags:
                description: |
                    Update the tags in an opportunity
                output: SuccessResponse
                input: UpdateTags
                endpoint:
                    method: POST
                    path: /opportunities/tags
                    group: Opportunities
                version: 1.0.0
            update-opportunity-archived:
                description: |
                    Update the archived state of an opportunity
                output: SuccessResponse
                input: ArchiveOpportunity
                endpoint:
                    method: PUT
                    path: /opportunities/archived
                    group: Opportunities
                version: 1.0.0
            apply-posting:
                description: >
                    Submit an application on behalf of a candidate. This endpoint can only
                    be used to submit applications to published or unlisted postings.
                output: SuccessResponse
                input: ApplyToPosting
                endpoint:
                    method: POST
                    path: /posts/apply
                    group: Posts
            update-opportunity:
                description: |
                    Update an opportunity
                output: ReturnObjUpdateOpportunity
                input: UpdateOpportunity
                endpoint:
                    method: PATCH
                    path: /opportunities
                    group: Opportunities
        syncs:
            opportunities:
                runs: every 6 hours
                description: |
                    Fetches all opportunities
                output: LeverOpportunity
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /opportunities
                    group: Opportunities
                scopes:
                    - opportunities:read:admin
            opportunities-applications:
                runs: every 6 hours
                description: |
                    Fetches a list of all applications for a candidate in Lever
                output: LeverOpportunityApplication
                sync_type: full
                endpoint:
                    method: GET
                    path: /applications
                    group: Applications
                scopes:
                    - applications:read:admin
                version: 1.0.0
            opportunities-feedbacks:
                runs: every 6 hours
                description: >
                    Fetches a list of all feedback forms for a candidate for every single
                    opportunity
                output: LeverOpportunityFeedback
                sync_type: full
                endpoint:
                    method: GET
                    path: /opportunities/feedback
                    group: Opportunities
                scopes:
                    - feedback:read:admin
            opportunities-interviews:
                runs: every 6 hours
                description: |
                    Fetches a list of all interviews for every single opportunity
                output: LeverOpportunityInterview
                sync_type: full
                endpoint:
                    method: GET
                    path: /opportunities/interviews
                    group: Opportunities
                scopes:
                    - interviews:read:admin
                version: 1.0.0
            opportunities-notes:
                runs: every 6 hours
                description: |
                    Fetches a list of all notes for every single opportunity
                output: LeverOpportunityNote
                sync_type: full
                endpoint:
                    method: GET
                    path: /notes
                    group: Notes
                scopes:
                    - notes:read:admin
                version: 1.0.0
            opportunities-offers:
                runs: every 6 hours
                description: |
                    Fetches a list of all offers for every single opportunity
                output: LeverOpportunityOffer
                sync_type: full
                endpoint:
                    method: GET
                    path: /offers
                    group: Offers
                scopes:
                    - offers:write:admin
                version: 1.0.0
            postings:
                runs: every 6 hours
                description: |
                    Fetches a list of all postings in Lever
                output: LeverPosting
                sync_type: full
                endpoint:
                    method: GET
                    path: /postings
                    group: Postings
                scopes:
                    - postings:read:admin
                version: 1.0.0
            postings-questions:
                runs: every 6 hours
                description: >
                    Fetches a list of all questions included in a posting’s application
                    form in Lever
                output: LeverPostingApply
                sync_type: full
                endpoint:
                    method: GET
                    path: /postings/questions
                    group: Postings
                scopes:
                    - postings:read:admin
                version: 1.0.0
            stages:
                runs: every 6 hours
                description: |
                    Fetches a list of all pipeline stages in Lever
                output: LeverStage
                sync_type: full
                endpoint:
                    method: GET
                    path: /stages
                    group: Stages
                scopes:
                    - stages:read:admin
                version: 1.0.0
        models:
            LeverOpportunity:
                id: string
                name: string
                headline: string
                contact: string
                emails: string[]
                phones: string[]
                confidentiality: string
                location: string
                links: string[]
                archived:
                    reason: string
                    archivedAt: number
                createdAt: number
                updatedAt: number
                lastInteractionAt: number
                lastAdvancedAt: number
                snoozedUntil: number
                archivedAt: number
                archiveReason: string
                stage: string
                stageChanges: string[]
                owner: string
                tags: string[]
                sources: string[]
                origin: string
                sourcedBy: string
                applications: string[]
                resume: string
                followers: string[]
                urls:
                    list: string
                    show: string
                dataProtection: object
                isAnonymized: boolean
                opportunityLocation: string
            LeverOpportunityApplication:
                id: string
                opportunityId: string
                candidateId: string
                createdAt: number
                type: string
                posting: string
                postingHiringManager: string
                postingOwner: string
                user: string
                name: string
                email: string
                phone:
                    type: string
                    value: string
                requisitionForHire:
                    id: string
                    requisitionCode: string
                    hiringManagerOnHire: string
                ownerId: string
                hiringManager: string
                company: string
                links: string[]
                comments: string
                customQuestions: string[]
                archived:
                    reason: string
                    archivedAt: number
            LeverOpportunityFeedback:
                id: string
                type: string
                text: string
                instructions: string
                fields: string[]
                baseTemplateId: string
                interview: string
                panel: string
                user: string
                createdAt: number
                completedAt: number
                updatedAt: number
                deletedAt: number
            LeverOpportunityInterview:
                id: string
                panel: string
                subject: string
                note: string
                interviewers: string[]
                timezone: string
                createdAt: number
                date: number
                duration: number
                location: string
                feedbackTemplate: string
                feedbackForms: string[]
                feedbackReminder: string
                user: string
                stage: string
                canceledAt: number
                postings: string[]
                gcalEventUrl: string
            LeverOpportunityNote:
                id: string
                text: string
                fields: string[]
                user: string
                secret: boolean
                completedAt: number
                createdAt: number
                deletedAt: number
            LeverOpportunityOffer:
                id: string
                createdAt: number
                status: string
                creator: string
                fields: string[]
                sentDocument:
                    fileName: string
                    uploadedAt: number
                    downloadUrl: string
                signedDocument:
                    fileName: string
                    uploadedAt: number
                    downloadUrl: string
            LeverPosting:
                perform_as?: string
                id: string
                text: string
                createdAt: number
                updatedAt: number
                user: string
                owner: string
                hiringManager: string
                confidentiality: string
                categories:
                    team: string
                    department: string
                    location: string
                    allLocations: string[]
                    commitment: string
                    level: string
                content:
                    description: string
                    descriptionHtml: string
                    lists: string[]
                    closing: string
                    closingHtml: string
                country: string
                followers: string[]
                tags: string[]
                state: string
                distributionChannels: string[]
                reqCode: string
                requisitionCodes: string[]
                salaryDescription: string
                salaryDescriptionHtml: string
                salaryRange:
                    max: number
                    min: number
                    currency: string
                    interval: string
                urls:
                    list: string
                    show: string
                    apply: string
                workplaceType: string
            LeverPostingApply:
                id: string
                text: string
                customQuestions: string[]
                eeoQuestions: string[]
                personalInformation: string[]
                urls: string[]
            LeverStage:
                id: string
                text: string
            LeverCreateNoteInput:
                opportunityId: string
                perform_as: string | undefined
                note_id: string | undefined
                value: string | undefined
                secret: boolean | undefined
                score: number | undefined
                notifyFollowers: boolean | undefined
                createdAt: number | undefined
            PhoneEntry:
                value: string | undefined
                type: string | undefined
            ArchievedEntry:
                archivedAt: number | undefined
                reason: string | undefined
            LeverCreateOpportunityInput:
                perform_as: string
                parse: boolean | undefined
                perform_as_posting_owner: boolean | undefined
                name: string | undefined
                headline: string | undefined
                stage: string | undefined
                location: string | undefined
                phones: PhoneEntry[] | undefined
                emails: string | undefined
                links: string[] | undefined
                tags: string[] | undefined
                sources: string[] | undefined
                origin: string | undefined
                owner: string | undefined
                followers: string[] | undefined
                postings: string[] | undefined
                createdAt: number | undefined
                archived: ArchievedEntry | undefined
                contact: string[] | undefined
            UpdateOpportunityStage:
                perform_as?: string
                stage: string
                opportunityId: string
            ArchiveOpportunity:
                perform_as?: string
                reason: string
                requisitionId?: string
                opportunityId: string
                cleanInterviews?: boolean
            ArchiveObject:
                reason: string
                cleanInterviews?: boolean
                requisitionId?: string
            UpdateLinks:
                perform_as?: string
                links: string[]
                opportunityId: string
                delete: boolean
            UpdateTags:
                opportunityId: string
                perform_as?: string
                tags: string[]
                delete: boolean
            UpdateSources:
                opportunityId: string
                perform_as?: string
                sources: string[]
                delete: boolean
            Stages:
                id: string
                text: string
            GetStages:
                stages: Stages[]
            Users:
                id: string
                name: string
                username: string
                email: string
                accessRole: string
                photo: string | null
                createdAt: number
                deactivatedAt: string | null
                externalDirectoryId: string | null
                linkedContactIds: string[] | null
                jobTitle: string | null
                managerId: string | null
            GetUsers:
                users: Users[]
            SuccessResponse:
                success: boolean
                opportunityId?: string
                response?: LeverOpportunity
            ApplyCandidate:
                send_confirmation_email?: boolean
                customQuestions: any[]
                personalInformation: any[]
                eeoResponses: object
                urls: any[]
                ipAddress?: string
                source?: string
                consent?: object
                diversitySurvey?: object
                origin?: string
            PostingCategories:
                team: string
                department: string
                location?: string
                commitment?: string
                allLocations?: string[]
            ContentList:
                text: string
                content: string
            PostingContent:
                descriptionHtml: string
                lists?: ContentList[]
                closingPostingHtml?: string
            SinglePost:
                id: string
            QuestionResponse:
                name: string
                value: string
            ApplyToPosting:
                postId: string
                send_confirmation_email?: boolean
                personalInformation: QuestionResponse[]
                eeoResponses: object
                urls?: QuestionResponse[]
                CustomQuestions?: CustomQuestion[]
                ipAddress?: string
                source?: string
                consent?:
                    marketing:
                        provided: boolean
                        compliancePolicyId: string
                    store:
                        provided: boolean
                        compliancePolicyId: string
                diversitySurvey?:
                    surveyId: string
                    candidateSelectedLocation: string
                    responses: DiversityQuestionResponse[]
                origin?: string
            CustomQuestionResponse:
                value: string
            CustomQuestion:
                id: string
                fields: CustomQuestionResponse[]
            DiversityQuestionResponse:
                questionId: string
                questionText: string
                questionType: string
                answer: string
            UpdateOpportunity:
                opportunityId: string
                perform_as?: string
                delete?: boolean
                links?: string[]
                sources?: string[]
                stage?: string
                tags?: string[]
                reason?: string
                cleanInterviews?: boolean
                requisitionId?: string
            StageChangesObject:
                toStageId: string
                toStageIndex: number
                updatedAt: number
                userId: string
            ReturnObjUpdateOpportunity:
                data:
                    id?: string
                    name?: string
                    headline?: string
                    contact?: string
                    emails?: string[]
                    phones?: string[]
                    confidentiality?: string
                    location?: string
                    links?: string[]
                    archived?:
                        reason?: string
                        archivedAt?: number
                    createdAt?: number
                    updatedAt?: number
                    lastInteractionAt?: number
                    lastAdvancedAt?: number
                    snoozedUntil?: number | null
                    archivedAt?: number
                    archiveReason?: string
                    stage?: string
                    stageChanges?: StageChangesObject[]
                    owner?: string
                    tags?: string[]
                    sources?: string[]
                    origin?: string
                    sourcedBy?: string
                    applications?: string[]
                    resume?: string
                    followers?: string[]
                    urls?:
                        list?: string
                        show?: string
                    dataProtection?: object | null
                    isAnonymized?: boolean
                    opportunityLocation?: string
    lever-sandbox:
        actions:
            create-note:
                description: |
                    Action to create a note and add it to an opportunity.
                output: LeverOpportunityNote
                input: LeverCreateNoteInput
                endpoint:
                    method: POST
                    path: /notes
                    group: Notes
                scopes:
                    - notes:write:admin
                version: 1.0.0
            create-opportunity:
                description: >
                    Create an opportunity and optionally candidates associated with the
                    opportunity
                output: LeverOpportunity
                input: LeverCreateOpportunityInput
                endpoint:
                    method: POST
                    path: /opportunities
                    group: Opportunities
                scopes:
                    - opportunities:write:admin
                version: 1.0.0
            get-stages:
                description: |
                    Action to get lists all pipeline stages. Note that this does 
                    not paginate the response so it is possible that not all stages 
                    are returned.
                output: GetStages
                endpoint:
                    method: GET
                    path: /stages/limited
                    group: Stages
                version: 1.0.0
            users:
                description: >
                    Lists all the users in your Lever account. Only active users are
                    included by default.
                output: SuccessResponse
                endpoint:
                    method: GET
                    path: /users
                    group: Users
            get-postings:
                description: |
                    Get all posts for your account. Note that this does
                    not paginate the response so it is possible that not all postings 
                    are returned.
                output: SuccessResponse
                endpoint:
                    method: GET
                    path: /posts/limited
                    group: Posts
                version: 1.0.0
            get-archive-reasons:
                description: |
                    Get all archived reasons
                output: SuccessResponse
                endpoint:
                    method: GET
                    path: /archived/reasons
                    group: Archived
            get-posting:
                description: |
                    Get single post for your account in Lever
                output: SuccessResponse
                input: SinglePost
                endpoint:
                    method: GET
                    path: /posts/single
                    group: Posts
                version: 1.0.0
            update-opportunity-links:
                description: |
                    Update the links in an opportunity
                output: SuccessResponse
                input: UpdateLinks
                endpoint:
                    method: POST
                    path: /opportunities/links
                    group: Opportunities
                version: 1.0.0
            update-opportunity-sources:
                description: |
                    Update the sources in an opportunity
                output: SuccessResponse
                input: UpdateSources
                endpoint:
                    method: POST
                    path: /opportunities/sources
                    group: Opportunities
                version: 1.0.0
            update-opportunity-stage:
                description: |
                    Update the stage in an opportunity
                output: SuccessResponse
                input: UpdateOpportunityStage
                endpoint:
                    method: POST
                    path: /opportunities/stages
                    group: Opportunities
                version: 1.0.0
            update-opportunity-tags:
                description: |
                    Update the tags in an opportunity
                output: SuccessResponse
                input: UpdateTags
                endpoint:
                    method: POST
                    path: /opportunities/tags
                    group: Opportunities
                version: 1.0.0
            update-opportunity-archived:
                description: |
                    Update the archived state of an opportunity
                output: SuccessResponse
                input: ArchiveOpportunity
                endpoint:
                    method: PUT
                    path: /opportunities/archived
                    group: Opportunities
                version: 1.0.0
            apply-posting:
                description: >
                    Submit an application on behalf of a candidate. This endpoint can only
                    be used to submit applications to published or unlisted postings.
                output: SuccessResponse
                input: ApplyToPosting
                endpoint:
                    method: POST
                    path: /posts/apply
                    group: Posts
            update-opportunity:
                description: |
                    Update an opportunity
                output: ReturnObjUpdateOpportunity
                input: UpdateOpportunity
                endpoint:
                    method: PATCH
                    path: /opportunities
                    group: Opportunities
        syncs:
            opportunities:
                runs: every 6 hours
                description: |
                    Fetches all opportunities
                output: LeverOpportunity
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /opportunities
                    group: Opportunities
                scopes:
                    - opportunities:read:admin
            opportunities-applications:
                runs: every 6 hours
                description: |
                    Fetches a list of all applications for a candidate in Lever
                output: LeverOpportunityApplication
                sync_type: full
                endpoint:
                    method: GET
                    path: /applications
                    group: Applications
                scopes:
                    - applications:read:admin
                version: 1.0.0
            opportunities-feedbacks:
                runs: every 6 hours
                description: >
                    Fetches a list of all feedback forms for a candidate for every single
                    opportunity
                output: LeverOpportunityFeedback
                sync_type: full
                endpoint:
                    method: GET
                    path: /opportunities/feedback
                    group: Opportunities
                scopes:
                    - feedback:read:admin
            opportunities-interviews:
                runs: every 6 hours
                description: |
                    Fetches a list of all interviews for every single opportunity
                output: LeverOpportunityInterview
                sync_type: full
                endpoint:
                    method: GET
                    path: /opportunities/interviews
                    group: Opportunities
                scopes:
                    - interviews:read:admin
                version: 1.0.0
            opportunities-notes:
                runs: every 6 hours
                description: |
                    Fetches a list of all notes for every single opportunity
                output: LeverOpportunityNote
                sync_type: full
                endpoint:
                    method: GET
                    path: /notes
                    group: Notes
                scopes:
                    - notes:read:admin
                version: 1.0.0
            opportunities-offers:
                runs: every 6 hours
                description: |
                    Fetches a list of all offers for every single opportunity
                output: LeverOpportunityOffer
                sync_type: full
                endpoint:
                    method: GET
                    path: /offers
                    group: Offers
                scopes:
                    - offers:write:admin
                version: 1.0.0
            postings:
                runs: every 6 hours
                description: |
                    Fetches a list of all postings in Lever
                output: LeverPosting
                sync_type: full
                endpoint:
                    method: GET
                    path: /postings
                    group: Postings
                scopes:
                    - postings:read:admin
                version: 1.0.0
            postings-questions:
                runs: every 6 hours
                description: >
                    Fetches a list of all questions included in a posting’s application
                    form in Lever
                output: LeverPostingApply
                sync_type: full
                endpoint:
                    method: GET
                    path: /postings/questions
                    group: Postings
                scopes:
                    - postings:read:admin
                version: 1.0.0
            stages:
                runs: every 6 hours
                description: |
                    Fetches a list of all pipeline stages in Lever
                output: LeverStage
                sync_type: full
                endpoint:
                    method: GET
                    path: /stages
                    group: Stages
                scopes:
                    - stages:read:admin
                version: 1.0.0
        models:
            LeverOpportunity:
                id: string
                name: string
                headline: string
                contact: string
                emails: string[]
                phones: string[]
                confidentiality: string
                location: string
                links: string[]
                archived:
                    reason: string
                    archivedAt: number
                createdAt: number
                updatedAt: number
                lastInteractionAt: number
                lastAdvancedAt: number
                snoozedUntil: number
                archivedAt: number
                archiveReason: string
                stage: string
                stageChanges: string[]
                owner: string
                tags: string[]
                sources: string[]
                origin: string
                sourcedBy: string
                applications: string[]
                resume: string
                followers: string[]
                urls:
                    list: string
                    show: string
                dataProtection: object
                isAnonymized: boolean
                opportunityLocation: string
            LeverOpportunityApplication:
                id: string
                opportunityId: string
                candidateId: string
                createdAt: number
                type: string
                posting: string
                postingHiringManager: string
                postingOwner: string
                user: string
                name: string
                email: string
                phone:
                    type: string
                    value: string
                requisitionForHire:
                    id: string
                    requisitionCode: string
                    hiringManagerOnHire: string
                ownerId: string
                hiringManager: string
                company: string
                links: string[]
                comments: string
                customQuestions: string[]
                archived:
                    reason: string
                    archivedAt: number
            LeverOpportunityFeedback:
                id: string
                type: string
                text: string
                instructions: string
                fields: string[]
                baseTemplateId: string
                interview: string
                panel: string
                user: string
                createdAt: number
                completedAt: number
                updatedAt: number
                deletedAt: number
            LeverOpportunityInterview:
                id: string
                panel: string
                subject: string
                note: string
                interviewers: string[]
                timezone: string
                createdAt: number
                date: number
                duration: number
                location: string
                feedbackTemplate: string
                feedbackForms: string[]
                feedbackReminder: string
                user: string
                stage: string
                canceledAt: number
                postings: string[]
                gcalEventUrl: string
            LeverOpportunityNote:
                id: string
                text: string
                fields: string[]
                user: string
                secret: boolean
                completedAt: number
                createdAt: number
                deletedAt: number
            LeverOpportunityOffer:
                id: string
                createdAt: number
                status: string
                creator: string
                fields: string[]
                sentDocument:
                    fileName: string
                    uploadedAt: number
                    downloadUrl: string
                signedDocument:
                    fileName: string
                    uploadedAt: number
                    downloadUrl: string
            LeverPosting:
                perform_as?: string
                id: string
                text: string
                createdAt: number
                updatedAt: number
                user: string
                owner: string
                hiringManager: string
                confidentiality: string
                categories:
                    team: string
                    department: string
                    location: string
                    allLocations: string[]
                    commitment: string
                    level: string
                content:
                    description: string
                    descriptionHtml: string
                    lists: string[]
                    closing: string
                    closingHtml: string
                country: string
                followers: string[]
                tags: string[]
                state: string
                distributionChannels: string[]
                reqCode: string
                requisitionCodes: string[]
                salaryDescription: string
                salaryDescriptionHtml: string
                salaryRange:
                    max: number
                    min: number
                    currency: string
                    interval: string
                urls:
                    list: string
                    show: string
                    apply: string
                workplaceType: string
            LeverPostingApply:
                id: string
                text: string
                customQuestions: string[]
                eeoQuestions: string[]
                personalInformation: string[]
                urls: string[]
            LeverStage:
                id: string
                text: string
            LeverCreateNoteInput:
                opportunityId: string
                perform_as: string | undefined
                note_id: string | undefined
                value: string | undefined
                secret: boolean | undefined
                score: number | undefined
                notifyFollowers: boolean | undefined
                createdAt: number | undefined
            PhoneEntry:
                value: string | undefined
                type: string | undefined
            ArchievedEntry:
                archivedAt: number | undefined
                reason: string | undefined
            LeverCreateOpportunityInput:
                perform_as: string
                parse: boolean | undefined
                perform_as_posting_owner: boolean | undefined
                name: string | undefined
                headline: string | undefined
                stage: string | undefined
                location: string | undefined
                phones: PhoneEntry[] | undefined
                emails: string | undefined
                links: string[] | undefined
                tags: string[] | undefined
                sources: string[] | undefined
                origin: string | undefined
                owner: string | undefined
                followers: string[] | undefined
                postings: string[] | undefined
                createdAt: number | undefined
                archived: ArchievedEntry | undefined
                contact: string[] | undefined
            UpdateOpportunityStage:
                perform_as?: string
                stage: string
                opportunityId: string
            ArchiveOpportunity:
                perform_as?: string
                reason: string
                requisitionId?: string
                opportunityId: string
                cleanInterviews?: boolean
            ArchiveObject:
                reason: string
                cleanInterviews?: boolean
                requisitionId?: string
            UpdateLinks:
                perform_as?: string
                links: string[]
                opportunityId: string
                delete: boolean
            UpdateTags:
                opportunityId: string
                perform_as?: string
                tags: string[]
                delete: boolean
            UpdateSources:
                opportunityId: string
                perform_as?: string
                sources: string[]
                delete: boolean
            Stages:
                id: string
                text: string
            GetStages:
                stages: Stages[]
            Users:
                id: string
                name: string
                username: string
                email: string
                accessRole: string
                photo: string | null
                createdAt: number
                deactivatedAt: string | null
                externalDirectoryId: string | null
                linkedContactIds: string[] | null
                jobTitle: string | null
                managerId: string | null
            GetUsers:
                users: Users[]
            SuccessResponse:
                success: boolean
                opportunityId?: string
                response?: LeverOpportunity
            ApplyCandidate:
                send_confirmation_email?: boolean
                customQuestions: any[]
                personalInformation: any[]
                eeoResponses: object
                urls: any[]
                ipAddress?: string
                source?: string
                consent?: object
                diversitySurvey?: object
                origin?: string
            PostingCategories:
                team: string
                department: string
                location?: string
                commitment?: string
                allLocations?: string[]
            ContentList:
                text: string
                content: string
            PostingContent:
                descriptionHtml: string
                lists?: ContentList[]
                closingPostingHtml?: string
            SinglePost:
                id: string
            QuestionResponse:
                name: string
                value: string
            ApplyToPosting:
                postId: string
                send_confirmation_email?: boolean
                personalInformation: QuestionResponse[]
                eeoResponses: object
                urls?: QuestionResponse[]
                CustomQuestions?: CustomQuestion[]
                ipAddress?: string
                source?: string
                consent?:
                    marketing:
                        provided: boolean
                        compliancePolicyId: string
                    store:
                        provided: boolean
                        compliancePolicyId: string
                diversitySurvey?:
                    surveyId: string
                    candidateSelectedLocation: string
                    responses: DiversityQuestionResponse[]
                origin?: string
            CustomQuestionResponse:
                value: string
            CustomQuestion:
                id: string
                fields: CustomQuestionResponse[]
            DiversityQuestionResponse:
                questionId: string
                questionText: string
                questionType: string
                answer: string
            UpdateOpportunity:
                opportunityId: string
                perform_as?: string
                delete?: boolean
                links?: string[]
                sources?: string[]
                stage?: string
                tags?: string[]
                reason?: string
                cleanInterviews?: boolean
                requisitionId?: string
            StageChangesObject:
                toStageId: string
                toStageIndex: number
                updatedAt: number
                userId: string
            ReturnObjUpdateOpportunity:
                data:
                    id?: string
                    name?: string
                    headline?: string
                    contact?: string
                    emails?: string[]
                    phones?: string[]
                    confidentiality?: string
                    location?: string
                    links?: string[]
                    archived?:
                        reason?: string
                        archivedAt?: number
                    createdAt?: number
                    updatedAt?: number
                    lastInteractionAt?: number
                    lastAdvancedAt?: number
                    snoozedUntil?: number | null
                    archivedAt?: number
                    archiveReason?: string
                    stage?: string
                    stageChanges?: StageChangesObject[]
                    owner?: string
                    tags?: string[]
                    sources?: string[]
                    origin?: string
                    sourcedBy?: string
                    applications?: string[]
                    resume?: string
                    followers?: string[]
                    urls?:
                        list?: string
                        show?: string
                    dataProtection?: object | null
                    isAnonymized?: boolean
                    opportunityLocation?: string
    linear:
        actions:
            create-issue:
                description: Create an issue in Linear
                input: CreateIssue
                output: LinearIssue
                endpoint:
                    method: POST
                    path: /issues
                    group: Issues
                scopes:
                    - issues:create
                version: 1.0.0
        syncs:
            issues:
                runs: every 5min
                description: |
                    Fetches a list of issues from Linear
                output: LinearIssue
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /issues
                    group: Issues
                version: 1.0.0
            projects:
                runs: every 5min
                description: |
                    Fetches a list of projects from Linear
                output: LinearProject
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /projects
                    group: Projects
                version: 1.0.0
            users:
                runs: every 5min
                description: |
                    Fetches a list of users from Linear
                output: LinearUser
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /users
                    group: Users
            teams:
                runs: every 5min
                description: |
                    Fetches a list of teams from Linear
                output: LinearTeam
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /teams
                    group: Teams
                version: 1.0.0
            roadmaps:
                runs: every 5min
                description: |
                    Fetches a list of roadmaps from Linear
                output: LinearRoadmap
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /roadmaps
                    group: Roadmaps
                version: 1.0.0
            milestones:
                runs: every 6min
                description: |
                    Fetches a list of milesontes from Linear
                output: LinearMilestone
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /milestones
                    group: Milestones
        models:
            LinearIssue:
                id: string
                assigneeId: string | null
                creatorId: string | null
                createdAt: string
                updatedAt: string
                description: string | null
                dueDate: string | null
                projectId: string | null
                teamId: string
                title: string
                status: string
            CreateIssue:
                teamId: string
                title: string
                description?: string
                projectId?: string
                milestoneId?: string
                assigneeId?: string
                priority?: number
                parentId?: string
                estimate?: number
                dueDate?: string
            LinearTeam:
                id: string
                name: string
                description: string | null
                createdAt: string
                updatedAt: string
            LinearUser:
                id: string
                admin: boolean
                email: string
                firstName: string
                lastName: string
            LinearProject:
                id: string
                url: string
                name: string
                description: string | null
                createdAt: string
                updatedAt: string
                teamId: string
            LinearRoadmap:
                id: string
                name: string
                description: string | null
                createdAt: string
                updatedAt: string
                teamId: string
                projectIds: string
            LinearMilestone:
                id: string
                name: string
                progress: number
                description: string | null
                createdAt: string
                updatedAt: string
                status: string
                project:
                    id: string
                    name: string
    linkedin:
        actions:
            post:
                description: Create a linkedin post with an optional video
                input: LinkedinVideoPost
                output: CreateLinkedInPostWithVideoResponse
                endpoint:
                    method: POST
                    path: /videos
                scopes:
                    - openid
                    - profile
                    - r_basicprofile
                    - w_member_social
                    - email
                    - w_organization_social
                    - r_organization_social
        models:
            LinkedinVideoPost:
                text: string
                videoURN: string
                videoTitle: string
                ownerId: string
            CreateLinkedInPostWithVideoResponse:
                succcess: boolean
    luma:
        syncs:
            list-events:
                description: >
                    This sync will be used to sync all of the events managed by your
                    Calendar. See https://docs.lu.ma/reference/calendar-list-events for
                    more details.
                endpoint:
                    method: GET
                    path: /luma/list-events
                sync_type: incremental
                runs: every day
                output: Event
        models:
            Timestamps:
                created_at: string
                start_at: string
                end_at: string
            Event:
                created_at: string
                start_at: string
                end_at: string
                id: string
                cover_url: string
                name: string
                description: string
                description_md: string
                series_api_id: string | null
                duration_interval_iso8601: string
                geo_latitude: string | null
                geo_longitude: string | null
                geo_address_json: GeoAddress | null
                url: string
                timezone: string
                event_type: string
                user_api_id: string
                visibility: string
                meeting_url: string | null
                zoom_meeting_url: string | null
            GeoAddress:
                city: string
                type: string
                region: string
                address: string
                country: string
                latitude: string
                place_id: string
                longitude: string
                city_state: string
                description: string
                full_address: string
    metabase:
        actions:
            create-user:
                description: Creates a user in Metabase.
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: CreateUser
            disable-user:
                description: Disables a user in Metabase by id.
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
            update-user:
                description: Updates an existing, active user in Metabase.
                endpoint:
                    method: PUT
                    path: /users
                    group: Users
                input: UpdateUserInput
                output: SuccessResponse
            fetch-user:
                description: Fetches details of a specific user by ID.
                output: User
                endpoint:
                    method: GET
                    path: /users/single
                    group: Users
                input: IdEntity
            enable-user:
                description: Enables a disabled user.
                endpoint:
                    method: PUT
                    path: /users/enable
                    group: Users
                output: SuccessResponse
                input: IdEntity
        syncs:
            users:
                runs: every day
                description: >
                    Fetches a list of users from Metabase, including active and inactive
                    users.
                output: User
                track_deletes: true
                sync_type: full
                endpoint:
                    method: GET
                    path: /users
                    group: Users
        models:
            SuccessResponse:
                success: boolean
            IdEntity:
                id: integer
            User:
                id: integer
                firstName: string
                lastName: string
                email: string
                active?: boolean
            CreateUser:
                firstName: string
                lastName: string
                email: string
            UpdateUserInput:
                id: integer
                email: string | null
                first_name: string | null
                last_name: string | null
                is_group_manager: boolean | null
                locale: string | null
                is_superuser: boolean | null
    microsoft-teams:
        syncs:
            org-units:
                runs: every 6 hours
                description: |
                    Continuously fetches groups from either Microsoft 365 or Azure Active
                    Directory.
                    Details: full refresh, support deletes, goes back all time, metadata
                    is not required.
                output: OrganizationalUnit
                sync_type: full
                endpoint:
                    method: GET
                    path: /microsoft-teams/microsoft-org-unit
                scopes:
                    - GroupMember.Read.All
            users:
                runs: every hour
                description: |
                    Continuously fetches users from either Microsoft 365 or Azure Active
                    Directory given specified
                    groups to sync. Expects an `orgsToSync` metadata property with an
                    array of organization ids.
                    Details: full refresh, doesn't support deletes, goes back all time,
                    metadata is required.
                input: Metadata
                auto_start: false
                output: User
                sync_type: full
                endpoint:
                    method: GET
                    path: /microsoft-teams/microsoft-users
                scopes:
                    - User.Read.All
        models:
            Metadata:
                orgsToSync: string[]
            OrganizationalUnit:
                id: string
                name: string
                createdAt: string | null
                deletedAt: string | null
                description: string | null
                path: string | null
                parentPath: string | null
                parentId: string | null
            User:
                id: string
                email: string
                displayName: string | null
                givenName: string | null
                familyName: string | null
                picture: string | null | undefined
                type: string
                createdAt: string | null
                deletedAt: string | null
                phone:
                    value: string | null | undefined
                    type: string | null | undefined
                organizationId: string | null | undefined
                organizationPath: string | null | undefined
                isAdmin: boolean | null
                department: string | null
    netsuite-tba:
        syncs:
            customers:
                version: 1.0.0
                description: |
                    Fetches all customers in Netsuite
                runs: every hour
                output: NetsuiteCustomer
                sync_type: full
                auto_start: true
                endpoint:
                    method: GET
                    path: /customers
                    group: Customers
                track_deletes: true
            payments:
                version: 1.0.0
                description: |
                    Fetches all payments received from customers in Netsuite
                runs: every hour
                output: NetsuitePayment
                sync_type: full
                auto_start: true
                endpoint:
                    method: GET
                    path: /payments
                    group: Payments
                track_deletes: true
            invoices:
                version: 1.0.0
                description: |
                    Fetches all invoices in Netsuite
                runs: every hour
                output: NetsuiteInvoice
                sync_type: full
                auto_start: true
                endpoint:
                    method: GET
                    path: /invoices
                    group: Invoices
                track_deletes: true
            credit-notes:
                version: 1.0.1
                description: |
                    Fetches all credit notes in Netsuite
                runs: every hour
                output: NetsuiteCreditNote
                sync_type: full
                auto_start: true
                endpoint:
                    method: GET
                    path: /credit-notes
                    group: Credit Notes
                track_deletes: true
            locations:
                version: 1.0.0
                description: |
                    Fetches all locations in Netsuite
                runs: every hour
                output: NetsuiteLocation
                sync_type: full
                auto_start: true
                endpoint:
                    method: GET
                    path: /locations
                track_deletes: true
            general-ledger:
                version: 1.0.0
                description: |
                    Fetches all JournalEntries in Netsuite
                runs: every hour
                output: GeneralLedger
                sync_type: full
                auto_start: true
                endpoint:
                    method: GET
                    path: /general-ledger
                track_deletes: true
        actions:
            customer-create:
                version: 1.0.0
                description: |
                    Creates a customer in Netsuite
                input: NetsuiteCustomerCreateInput
                output: NetsuiteCustomerCreateOutput
                endpoint:
                    method: POST
                    path: /customers
                    group: Customers
            customer-update:
                version: 1.0.0
                description: Updates a customer in Netsuite
                input: NetsuiteCustomerUpdateInput
                output: NetsuiteCustomerUpdateOutput
                endpoint:
                    method: PUT
                    path: /customers
                    group: Customers
            invoice-create:
                version: 2.0.0
                description: |
                    Creates an invoice in Netsuite
                input: NetsuiteInvoiceCreateInput
                output: NetsuiteInvoiceCreateOutput
                endpoint:
                    method: POST
                    path: /invoices
                    group: Invoices
            invoice-update:
                version: 1.0.1
                description: |
                    Updates an invoice in Netsuite
                input: NetsuiteInvoiceUpdateInput
                output: NetsuiteInvoiceUpdateOutput
                endpoint:
                    method: PUT
                    path: /invoices
                    group: Invoices
            payment-create:
                version: 1.0.1
                description: |
                    Creates a payment in Netsuite
                input: NetsuitePaymentCreateInput
                output: NetsuitePaymentCreateOutput
                endpoint:
                    method: POST
                    path: /payments
                    group: Payments
            payment-update:
                version: 1.0.0
                description: Updates a payment in Netsuite
                input: NetsuitePaymentUpdateInput
                output: NetsuitePaymentUpdateOutput
                endpoint:
                    method: PUT
                    path: /payments
                    group: Payments
            credit-note-create:
                version: 1.0.0
                description: |
                    Creates a credit note in Netsuite
                input: NetsuiteCreditNoteCreateInput
                output: NetsuiteCreditNoteCreateOutput
                endpoint:
                    method: POST
                    path: /credit-notes
                    group: Credit Notes
            credit-note-update:
                version: 1.0.0
                description: Updates a credit note in Netsuite
                input: NetsuiteCreditNoteUpdateInput
                output: NetsuiteCreditNoteUpdateOutput
                endpoint:
                    method: PUT
                    path: /credit-notes
                    group: Credit Notes
        models:
            NetsuiteAddress:
                addressLine1: string | null
                addressLine2: string | null
                city: string | null
                zip: string | null
                country: string | null
                state: string | null
            NetsuiteCustomer:
                addressLine1: string | null
                addressLine2: string | null
                city: string | null
                zip: string | null
                country: string | null
                state: string | null
                id: string
                externalId: string | null
                name: string
                email: string | null
                taxNumber: string | null
                phone: string | null
            NetsuiteCustomerCreateInput:
                externalId: string
                name: string
                email?: string
                taxNumber?: string
                addressLine1?: string
                addressLine2?: string
                city?: string
                zip?: string
                country?: string
                state?: string
                phone?: string
            NetsuiteCustomerCreateOutput:
                id: string
            NetsuiteCustomerUpdateInput:
                externalId: string
                name: string
                email?: string
                taxNumber?: string
                addressLine1?: string
                addressLine2?: string
                city?: string
                zip?: string
                country?: string
                state?: string
                phone?: string
                id: string
                name?: string
                externalId?: string
            NetsuiteCustomerUpdateOutput:
                success: boolean
            NetsuiteCreditNote:
                id: string
                customerId: string
                currency: string
                description: string | null
                createdAt: string
                lines: NetsuiteInvoiceLine[]
                total: number
                status: string
            NetsuiteCreditNoteLine:
                itemId: string
                quantity: number
                amount: number
                vatCode?: string
                description?: string
            NetsuiteCreditNoteCreateInput:
                customerId: string
                status: string
                currency: string
                description?: string
                lines: NetsuiteCreditNoteLine[]
            NetsuiteCreditNoteCreateOutput:
                id: string
            NetsuiteCreditNoteUpdateInput:
                customerId: string
                status: string
                currency: string
                description?: string
                lines: NetsuiteCreditNoteLine[]
                id: string
            NetsuiteCreditNoteUpdateOutput:
                success: boolean
            NetsuiteInvoice:
                id: string
                customerId: string
                currency: string
                description: string | null
                createdAt: string
                lines: NetsuiteInvoiceLine[]
                total: number
                status: string
            NetsuiteInvoiceLine:
                itemId: string
                quantity: number
                amount: number
                vatCode?: string
                description?: string
                locationId?: string
            NetsuiteInvoiceCreateInput:
                customerId: string
                currency: string
                description?: string
                status: string
                lines: NetsuiteInvoiceLine[]
            NetsuiteInvoiceCreateOutput:
                id: string
            NetsuiteInvoiceUpdateInput:
                customerId: string
                currency: string
                description?: string
                status: string
                lines: NetsuiteInvoiceLine[]
                id: string
                customerId?: string
                locationId?: string
                currency?: string
            NetsuiteInvoiceUpdateOutput:
                success: boolean
            NetsuitePayment:
                id: string
                description?: string
                customerId: string | null
                amount: number | null
                createdAt: string | null
                currency: string | null
                paymentReference: string | null
                status: string | null
                applyTo: string[]
            NetsuitePaymentCreateInput:
                customerId: string
                amount: number
                currency: string
                paymentReference: string
                applyTo: string[]
                status: string
                description?: string
            NetsuitePaymentCreateOutput:
                id: string
            NetsuitePaymentUpdateInput:
                customerId: string
                amount: number
                currency: string
                paymentReference: string
                applyTo: string[]
                status: string
                description?: string
                id: string
                amount?: number
                currency?: string
                paymentReference?: string
                status?: string
                applyTo?: string[]
            NetsuitePaymentUpdateOutput:
                success: boolean
            NetsuiteLocation:
                id: string
                isInactive: boolean
                name: string
                lastModifiedDate: string
                address:
                    address1: string
                    addressee: string
                    addressText: string
                    city: string
                    country: string
                    state: string
                    zip: string
                returnAddress:
                    addressText: string
                    country: string
                timeZone?: string | null
                useBins: boolean
            GeneralLedger:
                id: string
                date: string
                transactionId: string
                void: boolean
                approved: boolean
                currency: string
                createdDate: string
                updatedDate: string
                isReversal: boolean
                subsidiary:
                    id: string
                    name: string
                lines: LedgerLine[]
            LedgerLine:
                journalLineId: string
                accountId: string
                accountName: string
                cleared: boolean
                credit?: number
                debit?: number
                description: string
    next-cloud-ocs:
        syncs:
            users:
                runs: every hour
                description: |
                    Fetches a list of all users' details from NextCloud account
                output: NextCloudUser
                sync_type: full
                endpoint:
                    method: GET
                    path: /next-cloud-ocs/next-cloud-users
        models:
            NextCloudUser:
                enabled: boolean
                id: string
                lastLogin: number
                backend: string
                subadmin: string[]
                quota:
                    free: number
                    used: number
                    total: number
                    relative: number
                    quota: number
                manager: string
                avatarScope: string
                email: string
                emailScope: string
                additional_mail: string[]
                additional_mailScope: string[]
                displayname: string
                display_name: string
                displaynameScope: string
                phone: string
                phoneScope: string
                address: string
                addressScope: string
                website: string
                websiteScope: string
                twitter: string
                twitterScope: string
                fediverse: string
                fediverseScope: string
                organisation: string
                organisationScope: string
                role: string
                roleScope: string
                headline: string
                headlineScope: string
                biography: string
                biographyScope: string
                profile_enabled: string
                profile_enabledScope: string
                groups: string[]
                language: string
                locale: string
                notify_email: boolean
                backendCapabilities:
                    setDisplayName: boolean
                    setPassword: boolean
    notion:
        syncs:
            content-metadata:
                runs: every 1h
                track_deletes: true
                description: |
                    Sync pages and databases metadata to further fetch the content
                    using a dedicated action
                output: ContentMetadata
                sync_type: full
                endpoint:
                    method: GET
                    path: /contents
                    group: Contents
                version: 1.0.0
            users:
                runs: every day
                description: |
                    Fetches a list of users from Notion
                output: User
                track_deletes: true
                sync_type: full
                endpoint:
                    method: GET
                    path: /users
                    group: Users
            databases:
                runs: every 1h
                track_deletes: true
                description: >
                    Sync a database content with each row as an entry. Store the top level

                    database information in the metadata to be able to reconcile the
                    database
                output: NotionCompleteDatabase
                sync_type: full
                endpoint:
                    method: GET
                    path: /databases
                    group: Databases
                version: 1.0.0
        actions:
            fetch-rich-page:
                description: >
                    Fetch a specific page in Notion by passing a pageId. This action
                    fetches a page,

                    and its content and converts it into a full markdown. It transforms
                    images,

                    tables, uploaded files, etc., into their markdown counterparts,
                    providing a complete markdown.
                input: RichPageInput
                output: RichPage
                endpoint:
                    method: GET
                    path: /pages/single
                    group: Pages
                version: 1.0.0
            fetch-database:
                description: >-
                    Fetch a specific Notion database by passing in the database id. This
                    action fetches the database and outputs an object. Note that this
                    should be used for small databases.
                input: DatabaseInput
                output: Database
                endpoint:
                    method: GET
                    path: /databases/single
                    group: Databases
                version: 1.0.1
            fetch-content-metadata:
                description: >
                    Retrieve the entity type as well as an id for a Notion entity to later
                    call

                    fetch-database or fetch-rich-page based on the type.
                input: UrlOrId
                output: ContentMetadata
                endpoint:
                    method: GET
                    path: /contents/single
                    group: Contents
                version: 1.0.0
            create-database-row:
                description: >
                    Create a new row in a specified Notion database. 

                    The properties are mapped to Notion-compatible formats based on the
                    database schema. 

                    Supported property types include:

                    - `title` (string): Creates a title property.

                    - `select` (string): Creates a select property.

                    - `multi_select` (array of strings): Creates a multi-select property.

                    - `status` (string): Creates a status property.

                    - `date` (string or object): Supports ISO date strings or objects with
                    a `start` field.

                    - `checkbox` (boolean): Creates a checkbox property.

                    - `number` (number): Creates a number property.

                    - `url` (string): Creates a URL property.

                    - `email` (string): Creates an email property.

                    - `phone_number` (string): Creates a phone number property.

                    - `rich_text` (string): Creates a rich text property.

                    - `relation` (array of IDs): Creates a relation property.
                output: CreateDatabaseRowOutput
                endpoint:
                    method: POST
                    path: /databases/row
                    group: Databases
                input: CreateDatabaseRowInput
                version: 1.0.0
        models:
            SuccessResponse:
                success: boolean
            CreateDatabaseRowOutput:
                success: boolean
                addedProperties: Property[]
            Property:
                propertyKey: string
                notionValue: any
            RichPageInput:
                pageId: string
            ContentMetadata:
                id: string
                path?: string
                type: page | database
                last_modified: string
                title?: string
                parent_id?: string | undefined
            RichPage:
                id: string
                path: string
                title: string
                content: string
                contentType: string
                meta: object
                last_modified: string
                parent_id?: string | undefined
            DatabaseInput:
                databaseId: string
            CreateDatabaseRowInput:
                databaseId: string
                properties: object
            RowEntry:
                id: string
                row:
                    __string: any
            Database:
                id: string
                path: string
                title: string
                meta: object
                last_modified: string
                entries: RowEntry[]
            NotionCompleteDatabase:
                id: string
                row:
                    __string: any
                meta:
                    databaseId: string
                    path: string
                    title: string
                    last_modified: string
            UrlOrId:
                url?: string
                id?: string
            User:
                id: string
                email: string | null
                firstName: string
                lastName: string
                isBot: boolean
    okta:
        syncs:
            users:
                description: Fetches lists users in your org
                runs: every day
                output: User
                endpoint:
                    method: GET
                    path: /users
                    group: Users
                sync_type: incremental
                scopes:
                    - okta.users.read
        actions:
            create-user:
                description: Creates a new user in your Okta org without credentials.
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: OktaCreateUser
                scopes:
                    - okta.users.manage
                version: 1.0.0
            add-group:
                description: Adds a new group with the OKTA_GROUP type to your org
                output: Group
                endpoint:
                    method: POST
                    path: /group
                input: OktaAddGroup
                scopes:
                    - okta.groups.manage
            add-user-group:
                description: Assigns a user to a group with the OKTA_GROUP type
                output: SuccessResponse
                endpoint:
                    method: PUT
                    path: /user-groups
                    group: User Groups
                input: OktaAssignRemoveUserGroup
                scopes:
                    - okta.groups.manage
            remove-user-group:
                description: Unassigns a user from a group with the OKTA_GROUP type
                output: SuccessResponse
                endpoint:
                    method: DELETE
                    path: /user-groups
                    group: User Groups
                input: OktaAssignRemoveUserGroup
                scopes:
                    - okta.groups.manage
        models:
            ActionResponseError:
                message: string
            OktaAddGroup:
                description?: string | undefined
                name: string
            OktaUserGroupProfile:
                description: string | null
                name: string
            OktaActiveDirectoryGroupProfile:
                description: string
                dn: string
                externalId: string
                name: string
                samAccountName: string
                windowsDomainQualifiedName: string
            Group:
                id: string
                created: string
                lastMembershipUpdated: string
                lastUpdated: string
                objectClass: string[]
                type: APP_GROUP | BUILT_IN | OKTA_GROUP
                profile: OktaUserGroupProfile | OktaActiveDirectoryGroupProfile
            OktaAssignRemoveUserGroup:
                groupId: string
                userId: string
            SuccessResponse:
                success: boolean
            OktaCreateUser:
                firstName: string
                lastName: string
                email: string
                login: string
                mobilePhone?: string | undefined | null
            User:
                id: string
                status: string
                created: string
                activated: string
                statusChanged: string
                lastLogin: string | null
                lastUpdated: string
                passwordChanged: string | null
                type:
                    id: string
                profile:
                    firstName: string | null
                    lastName: string | null
                    mobilePhone: string | null
                    secondEmail: string | null
                    login: string
                    email: string
    okta-preview:
        syncs:
            users:
                description: Fetches lists users in your org
                runs: every day
                output: User
                endpoint:
                    method: GET
                    path: /users
                    group: Users
                sync_type: incremental
                scopes:
                    - okta.users.read
        actions:
            create-user:
                description: Creates a new user in your Okta org without credentials.
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: OktaCreateUser
                scopes:
                    - okta.users.manage
                version: 1.0.0
            add-group:
                description: Adds a new group with the OKTA_GROUP type to your org
                output: Group
                endpoint:
                    method: POST
                    path: /group
                input: OktaAddGroup
                scopes:
                    - okta.groups.manage
            add-user-group:
                description: Assigns a user to a group with the OKTA_GROUP type
                output: SuccessResponse
                endpoint:
                    method: PUT
                    path: /user-groups
                    group: User Groups
                input: OktaAssignRemoveUserGroup
                scopes:
                    - okta.groups.manage
            remove-user-group:
                description: Unassigns a user from a group with the OKTA_GROUP type
                output: SuccessResponse
                endpoint:
                    method: DELETE
                    path: /user-groups
                    group: User Groups
                input: OktaAssignRemoveUserGroup
                scopes:
                    - okta.groups.manage
        models:
            ActionResponseError:
                message: string
            OktaAddGroup:
                description?: string | undefined
                name: string
            OktaUserGroupProfile:
                description: string | null
                name: string
            OktaActiveDirectoryGroupProfile:
                description: string
                dn: string
                externalId: string
                name: string
                samAccountName: string
                windowsDomainQualifiedName: string
            Group:
                id: string
                created: string
                lastMembershipUpdated: string
                lastUpdated: string
                objectClass: string[]
                type: APP_GROUP | BUILT_IN | OKTA_GROUP
                profile: OktaUserGroupProfile | OktaActiveDirectoryGroupProfile
            OktaAssignRemoveUserGroup:
                groupId: string
                userId: string
            SuccessResponse:
                success: boolean
            OktaCreateUser:
                firstName: string
                lastName: string
                email: string
                login: string
                mobilePhone?: string | undefined | null
            User:
                id: string
                status: string
                created: string
                activated: string
                statusChanged: string
                lastLogin: string | null
                lastUpdated: string
                passwordChanged: string | null
                type:
                    id: string
                profile:
                    firstName: string | null
                    lastName: string | null
                    mobilePhone: string | null
                    secondEmail: string | null
                    login: string
                    email: string
    outlook:
        syncs:
            emails:
                runs: every hour
                description: |
                    Fetches a list of emails from outlook. Goes back default to 1 year
                    but metadata can be set using the `backfillPeriodMs` property
                    to change the lookback. The property should be set in milliseconds.
                input: OptionalBackfillSetting
                scopes:
                    - Mail.Read
                output: OutlookEmail
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /emails
                version: 1.1.0
        actions:
            fetch-attachment:
                input: DocumentInput
                output: string
                scopes:
                    - Mail.Read
                endpoint:
                    method: GET
                    path: /fetch-attachment
                description: |
                    An action used to fetch the contents of an attachment.
        models:
            OptionalBackfillSetting:
                backfillPeriodMs: number
            OutlookEmail:
                id: string
                sender?: string
                recipients?: string | undefined
                date: string
                subject: string
                body: string
                attachments: Attachments[]
                threadId: string
            Attachments:
                filename: string
                mimeType: string
                size: number
                attachmentId: string
            DocumentInput:
                threadId: string
                attachmentId: string
    pennylane:
        actions:
            create-customer:
                description: |
                    Action to create a customer in pennylane
                input: PennylaneIndividualCustomer
                output: PennylaneSuccessResponse
                version: 1.0.0
                endpoint:
                    method: POST
                    path: /customers
                    group: Customers
            create-invoice:
                description: |
                    Action to create an invoice in pennylane
                input: CreateInvoice
                output: PennylaneSuccessResponse
                version: 1.0.0
                endpoint:
                    method: POST
                    path: /invoices
                    group: Invoices
            create-supplier:
                description: |
                    Action to create a supplier in pennylane
                input: CreateSupplier
                output: PennylaneSuccessResponse
                version: 1.0.0
                endpoint:
                    method: POST
                    path: /suppliers
                    group: Suppliers
            update-customer:
                description: |
                    Action to update a supplier in pennylane
                input: UpdatePennylaneCustomer
                output: PennylaneSuccessResponse
                version: 1.0.0
                endpoint:
                    method: PATCH
                    path: /customers
                    group: Customers
            update-invoice:
                description: |
                    Action to update an invoice in pennylane
                input: UpdateInvoice
                output: PennylaneSuccessResponse
                version: 1.0.0
                endpoint:
                    method: PATCH
                    path: /invoices
                    group: Invoices
            update-supplier:
                description: |
                    Action to update a supplier in pennylane
                input: UpdateSupplier
                output: PennylaneSuccessResponse
                version: 1.0.0
                endpoint:
                    method: PATCH
                    path: /suppliers
                    group: Suppliers
            create-product:
                description: |
                    Action to create a product in pennylane
                input: CreateProduct
                output: PennylaneSuccessResponse
                version: 1.0.0
                endpoint:
                    method: POST
                    path: /products
                    group: Products
            update-product:
                description: |
                    Action to update a product in pennylane
                input: UpdateProduct
                output: PennylaneSuccessResponse
                version: 1.0.0
                endpoint:
                    method: PATCH
                    path: /products
                    group: Products
        syncs:
            customers:
                runs: every 6 hours
                description: |
                    Fetches a list of customers from pennylane
                output: PennylaneCustomer
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /customers
                    group: Customers
                scopes:
                    - accounting
                version: 1.0.0
            suppliers:
                runs: every 6 hours
                description: |
                    Fetches a list of suppliers from pennylane
                output: PennylaneSupplier
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /suppliers
                    group: Suppliers
                scopes:
                    - supplier_invoices
                version: 1.0.0
            invoices:
                runs: every 6 hours
                description: |
                    Fetches a list of customer invoices from pennylane
                output: PennylaneInvoice
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /invoices
                    group: Invoices
                scopes:
                    - customer_invoices
                version: 1.0.0
            products:
                runs: every 6 hours
                description: |
                    Fetches a list products from pennylane
                output: PennylaneProduct
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /products
                    group: Products
                scopes:
                    - accounting
                version: 1.0.0
        models:
            CreateInvoice:
                create_customer?: boolean
                create_products?: boolean
                update_customer?: boolean
                date: string
                deadline: string
                draft?: boolean
                customer_source_id: string
                external_id?: string | null
                pdf_invoice_free_text?: string | null
                pdf_invoice_subject?: string | null
                currency?: string
                special_mention?: string | null
                discount?: number
                language?: string
                transactions_reference?: TransactionReferenceObject
                line_items: >-
                    LineItemWithTax[] | LineItemWithoutTax[] |
                    LineItemWithExistingProduct[]
                categories?: CategoryObject[]
                line_items_sections_attributes?: LineItemsSectionsAttributesObject[]
                imputation_dates?:
                    start_date: string
                    end_date: string
            UpdateInvoice:
                id: string
                label?: string | null
                invoice_number?: string | null
                quote_group_uuid?: string
                is_draft?: boolean
                is_estimate?: boolean
                currency?: string
                amount?: string
                currency_amount?: string
                currency_amount_before_tax?: string
                exchange_rate?: number
                date?: string | null
                deadline?: string | null
                currency_tax?: string
                language?: string
                paid?: boolean
                fully_paid_at?: string | null
                status?: string | null
                discount?: string
                discount_type?: string
                public_url?: string
                file_url?: string | null
                filename?: string
                remaining_amount?: string
                source?: InvoiceSource
                special_mention?: string | null
                updated_at?: string
                imputation_dates?: ImputationDateObject | null
                customer?: PennylaneIndividualCustomer
                line_items_sections_attributes?: LineItemsSectionsAttributesObject[]
                line_items?: InvoiceLineItem[]
                categories?: InvoiceCategory[]
                transactions_reference?: TransactionReferenceObject
                payments?: PaymentsObject[]
                matched_transactions?: MatchedTransactionsObject[]
                pdf_invoice_free_text?: string
                pdf_invoice_subject?: string
                billing_subscription?: BillingSubscriptionObject | null
            UpdateInvoiceResponse:
                invoice: UpdateInvoice
            CreateSupplier:
                name: string
                reg_no?: string
                address: string
                postal_code: string
                city: string
                country_alpha2: string
                recipient?: string
                vat_number?: string
                source_id?: string
                emails: string[]
                iban?: string
                payment_conditions?: string
                phone?: string
                reference?: string
                notes?: string
            UpdateSupplier:
                source_id: string
                name?: string
                reg_no?: string
                address?: string
                postal_code?: string
                city?: string
                country_alpha2?: string
                recipient?: string
                vat_number?: string
                emails?: string[]
                iban?: string
                payment_conditions?: string
                phone?: string
                reference?: string
                notes?: string
            UpdateSupplierResponse:
                supplier:
                    source_id: string
                    name?: string
                    reg_no?: string
                    address?: string
                    postal_code?: string
                    city?: string
                    country_alpha2?: string
                    recipient?: string
                    vat_number?: string
                    emails?: string[]
                    iban?: string
                    payment_conditions?: string
                    phone?: string
                    reference?: string
                    notes?: string
            InvoiceResponse:
                invoice: PennylaneInvoice
            PennylaneInvoice:
                id: string
                amount: string | null
                billing_subscription?: BillingSubscriptionObject | null
                categories?: InvoiceCategory[] | null
                currency: string | null
                currency_amount: string | null
                currency_amount_before_tax?: string | null
                currency_tax: string | null
                customer?: PennylaneIndividualCustomer
                customer_name: string
                customer_validation_needed: boolean | null
                date?: date | string
                deadline: string | null
                discount: string | null
                discount_type?: string | null
                exchange_rate: number | null
                file_url: string | null
                filename: string | null
                fully_paid_at?: date | null
                imputation_dates: ImputationDateObject | null
                invoice_number?: string | null
                is_draft: boolean
                is_estimate?: boolean
                label?: string | null
                language?: string | null
                line_items?: InvoiceLineItem[]
                line_items_sections_attributes?: LineItemsSectionsAttributesObject[]
                matched_transactions?: MatchedTransactionsObject[]
                paid: boolean
                payments: object[]
                pdf_invoice_free_text: string
                pdf_invoice_subject: string
                public_url: string | null
                quote_group_uuid?: string | null
                remaining_amount: string | null
                source: string | null
                special_mention: string | null
                status: string | null
                transactions_reference?: TransactionReferenceObject | null
                updated_at: date | string
            LineItemWithTax:
                label: string
                quantity: number
                section_rank?: number
                currency_amount: number
                plan_item_number?: string
                unit: string
                vat_rate: string
                description?: string
                discount?: number
            LineItemWithoutTax:
                label: string
                quantity: number
                section_rank?: number
                currency_amount_before_tax: number
                plan_item_number?: string
                unit: string
                vat_rate: string
                description?: string
                discount?: number
            LineItemWithExistingProduct:
                label?: string
                quantity: number
                discount?: number
                section_rank?: number
                plan_item_number?: string
                product:
                    source_id: string
                    price?: number
                    vat_rate?: string
                    unit?: string
            ImputationDateObject:
                start_date: string
                end_date: string
            CategoryObject:
                source_id: string
                weight: number | null
                amount: number | null
            LineItemsSectionsAttributesObject:
                title?: string | null
                description?: string | null
                rank: number
            InvoiceLineItem:
                id?: number
                label?: string
                unit?: string | null
                quantity?: string
                amount?: string
                currency_amount?: string
                description?: string
                product_id?: string | null
                vat_rate?: string
                currency_price_before_tax?: string
                currency_tax?: string
                raw_currency_unit_price?: string
                discount?: string
                discount_type?: string
                section_rank?: number | null
                v2_id?: number | null
                product_v2_id?: number | null
            InvoiceCategory:
                source_id: string
                weight: string
                label: string
                direction: string | null
                created_at: date | string
                updated_at: date | string
            TransactionReferenceObject:
                banking_provider: string | null
                provider_field_name: string | null
                provider_field_value: string | null
            PaymentsObject:
                label: string
                created_at: date | string
                currency_amount: string
            MatchedTransactionsObject:
                label: string | null
                amount: string | null
                group_uuid: string | null
                date: date | null
                fee: string | null
                currency: string
            BillingSubscriptionObject:
                id: string | null
            IndividualCustomer: PennylaneIndividualCustomer
            UpdateIndividualCustomer:
                id: string
                customer: PennylaneIndividualCustomer
            IndividualCustomerResponse:
                customer:
                    first_name?: string
                    last_name?: string
                    gender?: string | null
                    name?: string
                    updated_at?: string
                    source_id: string
                    emails?: string[]
                    billing_iban?: string | null
                    customer_type?: string
                    recipient?: string
                    billing_address?:
                        address?: string
                        postal_code?: string
                        city?: string
                        country_alpha2?: string
                    delivery_address?:
                        address?: string
                        postal_code?: string
                        city?: string
                        country_alpha2?: string
                    payment_conditions?: string
                    phone?: string
                    reference?: string
                    notes?: string
                    plan_item?:
                        number: string
                        label: string
                        enabled: boolean
                        vat_rate: string
                        country_alpha2: string
                        description: string
                    mandates?: MandateObject[]
            MandateObject:
                provider: string
                source_id: string
            PennylaneIndividualCustomer:
                customer_type?: string
                first_name: string
                last_name: string
                country_alpha2: string
                gender?: string | null
                address?: string
                postal_code?: string
                city?: string
                source_id?: string
                emails?: string[]
                billing_iban?: string
                delivery_address?: string | DeliveryAddressObject
                vat_number?: string | null
                delivery_postal_code?: string
                delivery_city?: string
                delivery_country_alpha2?: string
                payment_conditions?: string
                phone?: string
                reference?: string
                notes?: string
                mandate?:
                    provider?: string
                    source_id: string
                plan_item?:
                    number?: string
                    label?: string
                    enabled?: boolean
                    vat_rate?: string
                    country_alpha2?: string
                    description?: string
            PennylaneSuccessResponse:
                success: boolean
                source_id: string
            UpdatePennylaneCustomer:
                id: string
                first_name?: string
                last_name?: string
                gender?: string
                address?: string
                vat_number?: string | null
                postal_code?: string | null
                city?: string | null
                country_alpha2?: string | null
                recipient?: string | null
                source_id?: string | null
                emails?: string[] | null
                billing_iban?: string | null
                delivery_address?: DeliveryAddressObject | null
                delivery_postal_code?: string | null
                delivery_country?: string | null
                delivery_country_alpha2?: string | null
                payment_conditions?: string | null
                phone?: string | null
                reference?: string | null
                notes?: string | null
            DeliveryAddressObject:
                address?: string
                postal_code?: string | null
                city?: string | null
                country_alpha2?: string | null
            PennylaneCustomer:
                id: string
                first_name?: string
                last_name?: string
                gender?: string
                address?: string
                vat_number?: string | null
                postal_code?: string | null
                city?: string | null
                country_alpha2?: string | null
                recipient?: string | null
                source_id?: string | null
                emails?: string[] | null
                billing_iban?: string | null
                delivery_address?: DeliveryAddressObject | null
                delivery_postal_code?: string | null
                delivery_country_alpha2?: string | null
                payment_conditions?: string | null
                phone?: string | null
                reference?: string | null
                notes?: string | null
            PennylaneSupplier:
                name: string
                id?: string
                reg_no?: string
                address: string
                postal_code: string
                city: string
                country_alpha2: string
                recipient?: string
                vat_number?: string
                source_id?: string
                emails: string[]
                iban?: string
                payment_conditions?: string
                phone?: string
                reference?: string
                notes?: string
            CreateProduct:
                source_id: string
                label: string
                description?: string
                unit: string
                price_before_tax?: number
                price: number
                vat_rate: string
                currency: string
                reference?: string | null
                substance?: string | null
            UpdateProduct:
                source_id: string
                label?: string
                description?: string
                unit?: string
                price_before_tax?: number
                price?: number
                vat_rate?: string
                currency?: string
                reference?: string | null
                substance?: string | null
            PennylaneProduct:
                id: string
                source_id: string
                label: string
                description?: string
                unit: string
                price_before_tax?: number
                price: number
                vat_rate: string
                currency: string
                reference?: string | null
                substance?: string | null
            InvoiceMapper:
                create_customer: boolean
                create_products: boolean
                update_customer: boolean
                invoice:
                    date: string
                    deadline: string
                    draft: boolean
                    customer:
                        source_id: string
                    currency: string
                    line_items: >-
                        LineItemWithTax[] | LineItemWithoutTax[] |
                        LineItemWithExistingProduct[]
                    pdf_invoice_free_text: string
                    pdf_invoice_subject: string
                    special_mention: string | null
                    discount: number
                    categories: CategoryObject[] | null
                    transactions_reference?:
                        banking_provider: string
                        provider_field_name: string
                        provider_field_value: string
                    imputation_dates?:
                        start_date: string
                        end_date: string
    perimeter81:
        actions:
            create-user:
                description: Creates a user in Perimeter81
                input: Perimeter81CreateUser
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                output: User
            delete-user:
                description: Deletes a user in Perimeter81
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
        syncs:
            users:
                description: |
                    Fetches the list of users from Perimeter81
                endpoint:
                    method: GET
                    path: /users
                    group: Users
                sync_type: full
                track_deletes: true
                runs: every day
                output: User
        models:
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            User:
                id: string
                email: string
                firstName: string
                lastName: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
            Perimeter81CreateUser:
                firstName: string
                lastName: string
                email: string
                idpType?: string
                accessGroups?: string[]
                emailVerified?: boolean
                inviteMessage?: string
                origin?: string
                profileData?:
                    roleName?: string
                    phone?: string
                    icon?: string
                    origin?: string
    pipedrive:
        syncs:
            activities:
                runs: every hour
                description: |
                    Fetches a list of activities from pipedrive
                output: PipeDriveActivity
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /pipedrive/activities
                scopes:
                    - activities:read
            deals:
                runs: every hour
                description: |
                    Fetches a list of deals from pipedrive
                output: PipeDriveDeal
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /pipedrive/deals
                scopes:
                    - deals:read
            organizations:
                runs: every hour
                description: |
                    Fetches a list of organizations from pipedrive
                output: PipeDriveOrganization
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /pipedrive/organizations
                scopes:
                    - contacts:read
            persons:
                runs: every half hour
                description: |
                    Fetches persons from pipedrive
                output: PipeDrivePerson
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /pipedrive/persons
                scopes:
                    - contacts:read
        models:
            PipeDriveActivity:
                id: integer
                done: boolean
                type: string
                duration: date
                subject: string
                company_id: integer
                user_id: integer
                conference_meeting_client: string
                conference_meeting_url: string
                conference_meeting_id: string
                due_date: date
                due_time: date
                busy_flag: boolean
                add_time: date
                marked_as_done_time: date
                public_description: string
                location: string
                org_id: integer
                person_id: integer
                deal_id: integer
                active_flag: boolean
                update_time: date
                update_user_id: integer
                source_timezone: string
                lead_id: string
                location_subpremise: string
                location_street_number: string
                location_route: string
                location_sublocality: string
                location_locality: string
                location_admin_area_level_1: string
                location_admin_area_level_2: string
                location_country: string
                location_postal_code: string
                location_formatted_address: string
                project_id: integer
            PipeDriveDeal:
                id: integer
                creator_user_id: integer
                user_id: integer
                person_id: integer
                org_id: integer
                stage_id: integer
                title: string
                value: integer
                currency: string
                add_time: date
                update_time: date
                status: string
                probability: string
                lost_reason: string
                visible_to: string
                close_time: date
                pipeline_id: integer
                won_time: date
                lost_time: date
                expected_close_date: date
                label: string
            PipeDriveOrganization:
                id: integer
                owner_id: integer
                name: string
                active_flag: boolean
                update_time: date
                delete_time: date
                add_time: date
                visible_to: string
                label: integer
                address: integer
                address_subpremise: string
                address_street_number: string
                address_route: string
                address_sublocality: string
                address_locality: string
                address_admin_area_level_1: string
                address_admin_area_level_2: string
                address_country: string
                address_postal_code: string
                address_formatted_address: string
                cc_email: string
            PipeDrivePerson:
                id: integer
                active_flag: boolean
                owner_id: integer
                org_id: integer
                name: string
                phone: string[]
                email: string[]
                update_time: date
                delete_time: date
                add_time: date
                visible_to: string
                picture_id: integer
                label: integer
                cc_email: string
    quickbooks:
        syncs:
            accounts:
                description: >
                    Fetches all accounts in QuickBooks. Handles both active and archived
                    accounts, saving or deleting them based on their status.
                runs: every hour
                output: Account
                sync_type: incremental
                scopes: com.intuit.quickbooks.accounting
                endpoint:
                    method: GET
                    path: /accounts
                    group: Accounts
            bills:
                description: |
                    Fetches all QuickBooks bills
                runs: every hour
                output: Bill
                sync_type: incremental
                scopes: com.intuit.quickbooks.accounting
                endpoint:
                    method: GET
                    path: /bills
                    group: Bills
            bill-payments:
                description: |
                    Fetches all QuickBooks bill payments
                runs: every hour
                output: BillPayment
                sync_type: incremental
                scopes: com.intuit.quickbooks.accounting
                endpoint:
                    method: GET
                    path: /bill-payments
                    group: Bill Payments
            deposits:
                description: |
                    Fetches all QuickBooks deposits
                runs: every hour
                output: Deposit
                sync_type: incremental
                scopes: com.intuit.quickbooks.accounting
                endpoint:
                    method: GET
                    path: /deposits
                    group: Deposits
            credit-memos:
                description: |
                    Fetches all QuickBooks credit memos
                runs: every hour
                output: CreditMemo
                sync_type: incremental
                scopes: com.intuit.quickbooks.accounting
                endpoint:
                    method: GET
                    path: /credit-memos
                    group: Credit Memos
            customers:
                description: >
                    Fetches all QuickBooks customers. Handles both active and archived
                    customers, saving or deleting them based on their status.
                runs: every hour
                output: Customer
                sync_type: incremental
                scopes: com.intuit.quickbooks.accounting
                endpoint:
                    method: GET
                    path: /customers
                    group: Customers
            invoices:
                description: >
                    Fetches all invoices in QuickBooks. Handles both active and voided
                    invoices, saving or deleting them based on their status.
                runs: every hour
                output: Invoice
                sync_type: incremental
                scopes: com.intuit.quickbooks.accounting
                endpoint:
                    method: GET
                    path: /invoices
                    group: Invoices
            items:
                description: >
                    Fetches all items in QuickBooks. Handles both active and archived
                    items, saving or deleting them based on their status.
                runs: every hour
                output: Item
                sync_type: incremental
                scopes: com.intuit.quickbooks.accounting
                endpoint:
                    method: GET
                    path: /items
                    group: Items
            journal-entries:
                description: |
                    Fetch all journal entries in QuickBooks
                runs: every hour
                output: JournalEntry
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /journal-entries
                    group: Journal Entries
                scopes:
                    - com.intuit.quickbooks.accounting
            payments:
                description: >
                    Fetches all payments in QuickBooks. Handles both active and voided
                    payments, saving or deleting them based on their status.
                runs: every hour
                output: Payment
                sync_type: incremental
                scopes: com.intuit.quickbooks.accounting
                endpoint:
                    method: GET
                    path: /payments
                    group: Payments
            purchases:
                description: |
                    Fetches all QuickBooks purchases
                runs: every hour
                output: Purchase
                sync_type: incremental
                scopes: com.intuit.quickbooks.accounting
                endpoint:
                    method: GET
                    path: /purchases
                    group: Purchases
            transfers:
                description: |
                    Fetches all QuickBooks transfers
                runs: every hour
                output: Transfer
                sync_type: incremental
                scopes: com.intuit.quickbooks.accounting
                endpoint:
                    method: GET
                    path: /transfers
                    group: Transfers
        actions:
            create-customer:
                description: |
                    Creates a single customer in QuickBooks.
                input: CreateCustomer
                scopes: com.intuit.quickbooks.accounting
                output: Customer
                endpoint:
                    method: POST
                    path: /customers
                    group: Customers
            update-customer:
                description: |
                    Update a single customer in QuickBooks.
                input: UpdateCustomer
                scopes: com.intuit.quickbooks.accounting
                output: Customer
                endpoint:
                    method: PUT
                    path: /customers
                    group: Customers
            create-item:
                description: |
                    Creates a single item in QuickBooks.
                input: CreateItem
                scopes: com.intuit.quickbooks.accounting
                output: Item
                endpoint:
                    method: POST
                    path: /items
                    group: Items
            update-item:
                description: |
                    Update a single item in QuickBooks.
                input: UpdateItem
                scopes: com.intuit.quickbooks.accounting
                output: Item
                endpoint:
                    method: PUT
                    path: /items
                    group: Items
            create-account:
                description: |
                    Creates a single account in QuickBooks.
                input: CreateAccount
                scopes: com.intuit.quickbooks.accounting
                output: Account
                endpoint:
                    method: POST
                    path: /accounts
                    group: Accounts
            update-account:
                description: |
                    Updates a single account in QuickBooks.
                input: UpdateAccount
                scopes: com.intuit.quickbooks.accounting
                output: Account
                endpoint:
                    method: PUT
                    path: /accounts
                    group: Accounts
            create-invoice:
                description: |
                    Creates a single invoice in QuickBooks.
                input: CreateInvoice
                scopes: com.intuit.quickbooks.accounting
                output: Invoice
                endpoint:
                    method: POST
                    path: /invoices
                    group: Invoices
            update-invoice:
                description: |
                    Updates a single invoice in QuickBooks.
                input: UpdateInvoice
                scopes: com.intuit.quickbooks.accounting
                output: Invoice
                endpoint:
                    method: PUT
                    path: /invoices
                    group: Invoices
            create-credit-memo:
                description: |
                    Creates a single credit memo in QuickBooks.
                input: CreateCreditMemo
                scopes: com.intuit.quickbooks.accounting
                output: CreditMemo
                endpoint:
                    method: POST
                    path: /credit-memos
                    group: Credit Memos
            update-credit-memo:
                description: |
                    Updates a single credit memo in QuickBooks.
                input: UpdateCreditMemo
                scopes: com.intuit.quickbooks.accounting
                output: CreditMemo
                endpoint:
                    method: PUT
                    path: /credit-memos
                    group: Credit Memos
            create-payment:
                description: |
                    Creates a single payment in QuickBooks.
                input: CreatePayment
                scopes: com.intuit.quickbooks.accounting
                output: Payment
                endpoint:
                    method: POST
                    path: /payments
                    group: Payments
        models:
            Updates:
                id: string
                sync_token: string
            BaseInvoice:
                created_at: string
                updated_at: string
                id: string
                txn_date: string
                balance_cents: number
                total_amt_cents: number
                bill_address: BillAddr | null
                items: InvoiceItem[]
            Metadata:
                created_at: string
                updated_at: string
            Reference:
                name?: string
                value: string
            BillAddr:
                city: string | null
                line1: string | null
                postal_code: string | null
                country: string | null
                id: string
            Customer:
                created_at: string
                updated_at: string
                id: string
                given_name: string | null
                display_name: string | null
                active: boolean
                balance_cents: number
                taxable: boolean
                primary_email: string | null
                primary_phone: string | null
                bill_address: BillAddr | null
                ship_address: BillAddr | null
            Account:
                created_at: string
                updated_at: string
                id: string
                fully_qualified_name: string
                name: string
                account_type: string
                account_sub_type: string
                classification: string
                current_balance_cents: number
                active: boolean
                description: string | null
                acct_num: string | null
                sub_account: boolean
            Payment:
                created_at: string
                updated_at: string
                id: string
                amount_cents: number
                customer_name: string | null
                txn_date: string
            Item:
                created_at: string
                updated_at: string
                id: string
                name: string
                active: boolean
                type: string
                unit_price_cents: number
                purchase_cost_cents: number
                qty_on_hand: number | null
                inv_start_date: string | null
                description: string | null
                track_qty_onHand: boolean
            Invoice:
                created_at: string
                updated_at: string
                id: string
                txn_date: string
                balance_cents: number
                total_amt_cents: number
                bill_address: BillAddr | null
                items: InvoiceItem[]
                due_date: string
                deposit_cents: number
            InvoiceItem:
                id: string
                description: string | null
                qty: number
                unit_price_cents: number
                amount_cents: number
            Address:
                line1?: string
                line2?: string
                city?: string
                postal_code?: string
                country?: string
                lat?: string
                long?: string
            CreateCustomer:
                display_name?: string
                suffix?: string
                title?: string
                given_name?: string
                company_name?: string
                notes?: string
                primary_email?: string
                primary_phone?: string
                bill_address?: Address
                ship_address?: Address
            UpdateCustomer:
                id: string
                sync_token: string
                display_name?: string
                suffix?: string
                title?: string
                given_name?: string
                company_name?: string
                notes?: string
                primary_email?: string
                primary_phone?: string
                bill_address?: Address
                ship_address?: Address
            CreateItem:
                track_qty_onHand?: boolean
                qty_on_hand?: number
                name: string
                expense_accountRef?: Reference
                income_accountRef?: Reference
                asset_accountRef?: Reference
                inv_start_date?: string
                unit_price_cents?: number
                purchase_cost_cents?: number
                type?: string
            UpdateItem:
                id: string
                sync_token: string
                track_qty_onHand?: boolean
                qty_on_hand?: number
                name: string
                expense_accountRef?: Reference
                income_accountRef?: Reference
                asset_accountRef?: Reference
                inv_start_date?: string
                unit_price_cents?: number
                purchase_cost_cents?: number
                type?: string
            CreateAccount:
                name: string
                account_type?: string
                account_sub_type?: string
                description?: string
                acct_num?: string
            UpdateAccount:
                id: string
                sync_token: string
                name: string
                account_type?: string
                account_sub_type?: string
                description?: string
                acct_num?: string
            CreateInvoice:
                customer_ref?: Reference
                line?: Line[]
                due_date?: string
                currency_ref?: Reference
                project_ref?: Reference
            Line:
                detail_type: string
                amount_cents: number
                sales_item_line_detail:
                    item_ref: Reference
                quantity?: number
                unit_price_cents?: number
                discount_rate?: number
                description?: string
            UpdateInvoice:
                id: string
                sync_token: string
                customer_ref?: Reference
                line?: Line[]
                due_date?: string
                currency_ref?: Reference
                project_ref?: Reference
            CreateCreditMemo:
                customer_ref?: Reference
                line?: Line[]
                due_date?: string
                currency_ref?: Reference
                project_ref?: Reference
            UpdateCreditMemo:
                id: string
                sync_token: string
                customer_ref?: Reference
                line?: Line[]
                due_date?: string
                currency_ref?: Reference
                project_ref?: Reference
            CreditMemo:
                created_at: string
                updated_at: string
                id: string
                txn_date: string
                balance_cents: number
                total_amt_cents: number
                bill_address: BillAddr | null
                items: InvoiceItem[]
                remaining_credit: number
                customer_name: string | null
            CreatePayment:
                total_amount_cents: number
                customer_ref: Reference
                currency_ref?: Reference
                project_ref?: Reference
            JournalEntry:
                created_at: string
                updated_at: string
                id: string
                date: string
                currency: string
                note: string
                lines: JournalEntryLine[]
            JournalEntryLine:
                id: string
                type: string
                account_id: string
                account_name: string
                net_amount: number
                posting_type: Debit | Credit
                description: string
                entity_type?: string | undefined
                entity_type_id?: string | undefined
                entity_type_name?: string | undefined
                department_id?: string | undefined
                department_name?: string | undefined
                class_id?: string | undefined
                class_name?: string | undefined
            Bill:
                created_at: string
                updated_at: string
                id: string
                sales_term_id?: string
                due_date: string
                balance: number
                txn_date: string
                currency: string
                vendor_id: string
                vendor_name?: string | undefined
                ap_account_id?: string | undefined
                ap_account_name?: string | undefined
                total_amount: number
                lines: BillLine[]
            BillLine:
                id: string
                detail_type: string
                amount: number
                account_id?: string | undefined
                account_name?: string | undefined
            BillPayment:
                id: string
                vendor_id?: string | undefined
                vendor_name?: string | undefined
                txn_date: string
                total_amount: number
                currency: string
                private_note?: string | undefined
                lines: BillPaymentLine[]
            BillPaymentLine:
                amount: number
                linkedTxn: BillPaymentLinkedTxn[]
            BillPaymentLinkedTxn:
                txn_id: string
                txn_type: string
            Purchase:
                created_at: string
                updated_at: string
                id: string
                account_id?: string | undefined
                account_name?: string | undefined
                payment_type: string
                entity_type?: string | undefined
                entity_id?: string | undefined
                entity_name: string | undefined
                total_amount: number
                print_status?: string
                doc_number?: string
                txn_date: string
                currency: string
                lines: PurchaseLine[]
            PurchaseLine:
                id: string
                description?: string
                detail_type: string
                amount: number
                account_name?: string | undefined
                account_id?: string | undefined
                billable_status?: string | undefined
                tax_code?: string | undefined
            Transfer:
                created_at: string
                updated_at: string
                id: string
                from_account_id?: string | undefined
                from_account_name?: string | undefined
                to_account_id?: string | undefined
                to_account_name?: string | undefined
                amount: number
                currency: string
                txn_date: string
                private_note?: string | undefined
            Deposit:
                created_at: string
                updated_at: string
                id: string
                account_id?: string | undefined
                account_name?: string | undefined
                txn_date: string
                total_amount: number
                currency: string
                private_note?: string | undefined
                lines: DepositLine[]
            DepositLine:
                id?: string
                amount: number
                detail_type?: string
                deposit_account_id?: string | undefined
                deposit_account_name?: string | undefined
    quickbooks-sandbox:
        syncs:
            accounts:
                description: >
                    Fetches all accounts in QuickBooks. Handles both active and archived
                    accounts, saving or deleting them based on their status.
                runs: every hour
                output: Account
                sync_type: incremental
                scopes: com.intuit.quickbooks.accounting
                endpoint:
                    method: GET
                    path: /accounts
                    group: Accounts
            bills:
                description: |
                    Fetches all QuickBooks bills
                runs: every hour
                output: Bill
                sync_type: incremental
                scopes: com.intuit.quickbooks.accounting
                endpoint:
                    method: GET
                    path: /bills
                    group: Bills
            bill-payments:
                description: |
                    Fetches all QuickBooks bill payments
                runs: every hour
                output: BillPayment
                sync_type: incremental
                scopes: com.intuit.quickbooks.accounting
                endpoint:
                    method: GET
                    path: /bill-payments
                    group: Bill Payments
            deposits:
                description: |
                    Fetches all QuickBooks deposits
                runs: every hour
                output: Deposit
                sync_type: incremental
                scopes: com.intuit.quickbooks.accounting
                endpoint:
                    method: GET
                    path: /deposits
                    group: Deposits
            credit-memos:
                description: |
                    Fetches all QuickBooks credit memos
                runs: every hour
                output: CreditMemo
                sync_type: incremental
                scopes: com.intuit.quickbooks.accounting
                endpoint:
                    method: GET
                    path: /credit-memos
                    group: Credit Memos
            customers:
                description: >
                    Fetches all QuickBooks customers. Handles both active and archived
                    customers, saving or deleting them based on their status.
                runs: every hour
                output: Customer
                sync_type: incremental
                scopes: com.intuit.quickbooks.accounting
                endpoint:
                    method: GET
                    path: /customers
                    group: Customers
            invoices:
                description: >
                    Fetches all invoices in QuickBooks. Handles both active and voided
                    invoices, saving or deleting them based on their status.
                runs: every hour
                output: Invoice
                sync_type: incremental
                scopes: com.intuit.quickbooks.accounting
                endpoint:
                    method: GET
                    path: /invoices
                    group: Invoices
            items:
                description: >
                    Fetches all items in QuickBooks. Handles both active and archived
                    items, saving or deleting them based on their status.
                runs: every hour
                output: Item
                sync_type: incremental
                scopes: com.intuit.quickbooks.accounting
                endpoint:
                    method: GET
                    path: /items
                    group: Items
            journal-entries:
                description: |
                    Fetch all journal entries in QuickBooks
                runs: every hour
                output: JournalEntry
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /journal-entries
                    group: Journal Entries
                scopes:
                    - com.intuit.quickbooks.accounting
            payments:
                description: >
                    Fetches all payments in QuickBooks. Handles both active and voided
                    payments, saving or deleting them based on their status.
                runs: every hour
                output: Payment
                sync_type: incremental
                scopes: com.intuit.quickbooks.accounting
                endpoint:
                    method: GET
                    path: /payments
                    group: Payments
            purchases:
                description: |
                    Fetches all QuickBooks purchases
                runs: every hour
                output: Purchase
                sync_type: incremental
                scopes: com.intuit.quickbooks.accounting
                endpoint:
                    method: GET
                    path: /purchases
                    group: Purchases
            transfers:
                description: |
                    Fetches all QuickBooks transfers
                runs: every hour
                output: Transfer
                sync_type: incremental
                scopes: com.intuit.quickbooks.accounting
                endpoint:
                    method: GET
                    path: /transfers
                    group: Transfers
        actions:
            create-customer:
                description: |
                    Creates a single customer in QuickBooks.
                input: CreateCustomer
                scopes: com.intuit.quickbooks.accounting
                output: Customer
                endpoint:
                    method: POST
                    path: /customers
                    group: Customers
            update-customer:
                description: |
                    Update a single customer in QuickBooks.
                input: UpdateCustomer
                scopes: com.intuit.quickbooks.accounting
                output: Customer
                endpoint:
                    method: PUT
                    path: /customers
                    group: Customers
            create-item:
                description: |
                    Creates a single item in QuickBooks.
                input: CreateItem
                scopes: com.intuit.quickbooks.accounting
                output: Item
                endpoint:
                    method: POST
                    path: /items
                    group: Items
            update-item:
                description: |
                    Update a single item in QuickBooks.
                input: UpdateItem
                scopes: com.intuit.quickbooks.accounting
                output: Item
                endpoint:
                    method: PUT
                    path: /items
                    group: Items
            create-account:
                description: |
                    Creates a single account in QuickBooks.
                input: CreateAccount
                scopes: com.intuit.quickbooks.accounting
                output: Account
                endpoint:
                    method: POST
                    path: /accounts
                    group: Accounts
            update-account:
                description: |
                    Updates a single account in QuickBooks.
                input: UpdateAccount
                scopes: com.intuit.quickbooks.accounting
                output: Account
                endpoint:
                    method: PUT
                    path: /accounts
                    group: Accounts
            create-invoice:
                description: |
                    Creates a single invoice in QuickBooks.
                input: CreateInvoice
                scopes: com.intuit.quickbooks.accounting
                output: Invoice
                endpoint:
                    method: POST
                    path: /invoices
                    group: Invoices
            update-invoice:
                description: |
                    Updates a single invoice in QuickBooks.
                input: UpdateInvoice
                scopes: com.intuit.quickbooks.accounting
                output: Invoice
                endpoint:
                    method: PUT
                    path: /invoices
                    group: Invoices
            create-credit-memo:
                description: |
                    Creates a single credit memo in QuickBooks.
                input: CreateCreditMemo
                scopes: com.intuit.quickbooks.accounting
                output: CreditMemo
                endpoint:
                    method: POST
                    path: /credit-memos
                    group: Credit Memos
            update-credit-memo:
                description: |
                    Updates a single credit memo in QuickBooks.
                input: UpdateCreditMemo
                scopes: com.intuit.quickbooks.accounting
                output: CreditMemo
                endpoint:
                    method: PUT
                    path: /credit-memos
                    group: Credit Memos
            create-payment:
                description: |
                    Creates a single payment in QuickBooks.
                input: CreatePayment
                scopes: com.intuit.quickbooks.accounting
                output: Payment
                endpoint:
                    method: POST
                    path: /payments
                    group: Payments
        models:
            Updates:
                id: string
                sync_token: string
            BaseInvoice:
                created_at: string
                updated_at: string
                id: string
                txn_date: string
                balance_cents: number
                total_amt_cents: number
                bill_address: BillAddr | null
                items: InvoiceItem[]
            Metadata:
                created_at: string
                updated_at: string
            Reference:
                name?: string
                value: string
            BillAddr:
                city: string | null
                line1: string | null
                postal_code: string | null
                country: string | null
                id: string
            Customer:
                created_at: string
                updated_at: string
                id: string
                given_name: string | null
                display_name: string | null
                active: boolean
                balance_cents: number
                taxable: boolean
                primary_email: string | null
                primary_phone: string | null
                bill_address: BillAddr | null
                ship_address: BillAddr | null
            Account:
                created_at: string
                updated_at: string
                id: string
                fully_qualified_name: string
                name: string
                account_type: string
                account_sub_type: string
                classification: string
                current_balance_cents: number
                active: boolean
                description: string | null
                acct_num: string | null
                sub_account: boolean
            Payment:
                created_at: string
                updated_at: string
                id: string
                amount_cents: number
                customer_name: string | null
                txn_date: string
            Item:
                created_at: string
                updated_at: string
                id: string
                name: string
                active: boolean
                type: string
                unit_price_cents: number
                purchase_cost_cents: number
                qty_on_hand: number | null
                inv_start_date: string | null
                description: string | null
                track_qty_onHand: boolean
            Invoice:
                created_at: string
                updated_at: string
                id: string
                txn_date: string
                balance_cents: number
                total_amt_cents: number
                bill_address: BillAddr | null
                items: InvoiceItem[]
                due_date: string
                deposit_cents: number
            InvoiceItem:
                id: string
                description: string | null
                qty: number
                unit_price_cents: number
                amount_cents: number
            Address:
                line1?: string
                line2?: string
                city?: string
                postal_code?: string
                country?: string
                lat?: string
                long?: string
            CreateCustomer:
                display_name?: string
                suffix?: string
                title?: string
                given_name?: string
                company_name?: string
                notes?: string
                primary_email?: string
                primary_phone?: string
                bill_address?: Address
                ship_address?: Address
            UpdateCustomer:
                id: string
                sync_token: string
                display_name?: string
                suffix?: string
                title?: string
                given_name?: string
                company_name?: string
                notes?: string
                primary_email?: string
                primary_phone?: string
                bill_address?: Address
                ship_address?: Address
            CreateItem:
                track_qty_onHand?: boolean
                qty_on_hand?: number
                name: string
                expense_accountRef?: Reference
                income_accountRef?: Reference
                asset_accountRef?: Reference
                inv_start_date?: string
                unit_price_cents?: number
                purchase_cost_cents?: number
                type?: string
            UpdateItem:
                id: string
                sync_token: string
                track_qty_onHand?: boolean
                qty_on_hand?: number
                name: string
                expense_accountRef?: Reference
                income_accountRef?: Reference
                asset_accountRef?: Reference
                inv_start_date?: string
                unit_price_cents?: number
                purchase_cost_cents?: number
                type?: string
            CreateAccount:
                name: string
                account_type?: string
                account_sub_type?: string
                description?: string
                acct_num?: string
            UpdateAccount:
                id: string
                sync_token: string
                name: string
                account_type?: string
                account_sub_type?: string
                description?: string
                acct_num?: string
            CreateInvoice:
                customer_ref?: Reference
                line?: Line[]
                due_date?: string
                currency_ref?: Reference
                project_ref?: Reference
            Line:
                detail_type: string
                amount_cents: number
                sales_item_line_detail:
                    item_ref: Reference
                quantity?: number
                unit_price_cents?: number
                discount_rate?: number
                description?: string
            UpdateInvoice:
                id: string
                sync_token: string
                customer_ref?: Reference
                line?: Line[]
                due_date?: string
                currency_ref?: Reference
                project_ref?: Reference
            CreateCreditMemo:
                customer_ref?: Reference
                line?: Line[]
                due_date?: string
                currency_ref?: Reference
                project_ref?: Reference
            UpdateCreditMemo:
                id: string
                sync_token: string
                customer_ref?: Reference
                line?: Line[]
                due_date?: string
                currency_ref?: Reference
                project_ref?: Reference
            CreditMemo:
                created_at: string
                updated_at: string
                id: string
                txn_date: string
                balance_cents: number
                total_amt_cents: number
                bill_address: BillAddr | null
                items: InvoiceItem[]
                remaining_credit: number
                customer_name: string | null
            CreatePayment:
                total_amount_cents: number
                customer_ref: Reference
                currency_ref?: Reference
                project_ref?: Reference
            JournalEntry:
                created_at: string
                updated_at: string
                id: string
                date: string
                currency: string
                note: string
                lines: JournalEntryLine[]
            JournalEntryLine:
                id: string
                type: string
                account_id: string
                account_name: string
                net_amount: number
                posting_type: Debit | Credit
                description: string
                entity_type?: string | undefined
                entity_type_id?: string | undefined
                entity_type_name?: string | undefined
                department_id?: string | undefined
                department_name?: string | undefined
                class_id?: string | undefined
                class_name?: string | undefined
            Bill:
                created_at: string
                updated_at: string
                id: string
                sales_term_id?: string
                due_date: string
                balance: number
                txn_date: string
                currency: string
                vendor_id: string
                vendor_name?: string | undefined
                ap_account_id?: string | undefined
                ap_account_name?: string | undefined
                total_amount: number
                lines: BillLine[]
            BillLine:
                id: string
                detail_type: string
                amount: number
                account_id?: string | undefined
                account_name?: string | undefined
            BillPayment:
                id: string
                vendor_id?: string | undefined
                vendor_name?: string | undefined
                txn_date: string
                total_amount: number
                currency: string
                private_note?: string | undefined
                lines: BillPaymentLine[]
            BillPaymentLine:
                amount: number
                linkedTxn: BillPaymentLinkedTxn[]
            BillPaymentLinkedTxn:
                txn_id: string
                txn_type: string
            Purchase:
                created_at: string
                updated_at: string
                id: string
                account_id?: string | undefined
                account_name?: string | undefined
                payment_type: string
                entity_type?: string | undefined
                entity_id?: string | undefined
                entity_name: string | undefined
                total_amount: number
                print_status?: string
                doc_number?: string
                txn_date: string
                currency: string
                lines: PurchaseLine[]
            PurchaseLine:
                id: string
                description?: string
                detail_type: string
                amount: number
                account_name?: string | undefined
                account_id?: string | undefined
                billable_status?: string | undefined
                tax_code?: string | undefined
            Transfer:
                created_at: string
                updated_at: string
                id: string
                from_account_id?: string | undefined
                from_account_name?: string | undefined
                to_account_id?: string | undefined
                to_account_name?: string | undefined
                amount: number
                currency: string
                txn_date: string
                private_note?: string | undefined
            Deposit:
                created_at: string
                updated_at: string
                id: string
                account_id?: string | undefined
                account_name?: string | undefined
                txn_date: string
                total_amount: number
                currency: string
                private_note?: string | undefined
                lines: DepositLine[]
            DepositLine:
                id?: string
                amount: number
                detail_type?: string
                deposit_account_id?: string | undefined
                deposit_account_name?: string | undefined
    ramp:
        syncs:
            users:
                runs: every day
                description: Fetches a list of users from Ramp
                output: User
                sync_type: full
                track_deletes: true
                endpoint:
                    method: GET
                    path: /users
                    group: Users
                scopes:
                    - users:read
        actions:
            create-user:
                description: Creates a user in Ramp
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: RampCreateUser
                scopes:
                    - users:write
            disable-user:
                description: Deletes a user in Ramp by id
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
                scopes:
                    - users:write
        models:
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            User:
                id: string
                email: string
                firstName: string
                lastName: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
            RampCreateUser:
                firstName: string
                lastName: string
                email: string
                role?: string
                departmentId?: string
                directManagerId?: string
                idempotencyKey?: string
                locationId?: string
    ramp-sandbox:
        syncs:
            users:
                runs: every day
                description: Fetches a list of users from Ramp
                output: User
                sync_type: full
                track_deletes: true
                endpoint:
                    method: GET
                    path: /users
                    group: Users
                scopes:
                    - users:read
        actions:
            create-user:
                description: Creates a user in Ramp
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: RampCreateUser
                scopes:
                    - users:write
            disable-user:
                description: Deletes a user in Ramp by id
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
                scopes:
                    - users:write
        models:
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            User:
                id: string
                email: string
                firstName: string
                lastName: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
            RampCreateUser:
                firstName: string
                lastName: string
                email: string
                role?: string
                departmentId?: string
                directManagerId?: string
                idempotencyKey?: string
                locationId?: string
    ring-central:
        actions:
            create-user:
                description: Creates a user in RingCentral
                input: RingCentralCreateUser
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                output: User
                scopes:
                    - EditAccounts
            delete-user:
                description: Deletes a user in RingCentral
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
                scopes:
                    - EditAccounts
        syncs:
            users:
                description: |
                    Fetches the list of users from RingCentral
                endpoint:
                    method: GET
                    path: /users
                    group: Users
                sync_type: full
                track_deletes: true
                runs: every day
                output: User
                scopes:
                    - ReadAccounts
        models:
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            User:
                id: string
                email: string
                firstName: string
                lastName: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
            RingCentralCreateUser:
                firstName: string
                lastName: string
                email: string
                active?: boolean
                externalId?: string
                phoneNumbers?: PhoneNumber[]
                photos?: Photo[]
                addresses?: Address[]
                title?: string
                urn:ietf:params:scim:schemas:extension:enterprise:2.0:User?:
                    department: string
            PhoneNumber:
                type: work | mobile | other
                value: string
            Photo:
                type: photo
                value: string
            Address:
                type: work
                streetAddress?: string
                locality?: string
                region?: string
                postalCode?: string
                country?: string
    ring-central-sandbox:
        actions:
            create-user:
                description: Creates a user in RingCentral
                input: RingCentralCreateUser
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                output: User
                scopes:
                    - EditAccounts
            delete-user:
                description: Deletes a user in RingCentral
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
                scopes:
                    - EditAccounts
        syncs:
            users:
                description: |
                    Fetches the list of users from RingCentral
                endpoint:
                    method: GET
                    path: /users
                    group: Users
                sync_type: full
                track_deletes: true
                runs: every day
                output: User
                scopes:
                    - ReadAccounts
        models:
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            User:
                id: string
                email: string
                firstName: string
                lastName: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
            RingCentralCreateUser:
                firstName: string
                lastName: string
                email: string
                active?: boolean
                externalId?: string
                phoneNumbers?: PhoneNumber[]
                photos?: Photo[]
                addresses?: Address[]
                title?: string
                urn:ietf:params:scim:schemas:extension:enterprise:2.0:User?:
                    department: string
            PhoneNumber:
                type: work | mobile | other
                value: string
            Photo:
                type: photo
                value: string
            Address:
                type: work
                streetAddress?: string
                locality?: string
                region?: string
                postalCode?: string
                country?: string
    salesforce:
        actions:
            fetch-fields:
                description: >
                    Fetch available task fields, child relationships and validation rules.
                    If the input is not specified then it defaults back to "Task"

                    Data Validation: Parses all incoming data with Zod. Does not fail on
                    parsing error will instead log parse error and return result.
                scopes:
                    - offline_access
                    - api
                input: SalesforceEntity
                version: 1.0.1
                output: SalesforceFieldSchema
                endpoint:
                    method: GET
                    path: /fields
            create-contact:
                description: Create a single contact in salesforce
                scopes:
                    - offline_access
                    - api
                input: CreateContactInput
                output: ActionResponse
                endpoint:
                    method: POST
                    path: /contacts
                    group: Contacts
                version: 1.0.1
            update-contact:
                description: Update a single contact in salesforce
                scopes:
                    - offline_access
                    - api
                input: UpdateContactInput
                output: SuccessResponse
                endpoint:
                    method: PATCH
                    path: /contacts
                    group: Contacts
                version: 1.0.1
            delete-contact:
                description: Delete a single contact in salesforce
                scopes:
                    - offline_access
                    - api
                input: IdEntity
                output: SuccessResponse
                endpoint:
                    method: DELETE
                    path: /contacts
                    group: Contacts
                version: 1.0.0
            create-lead:
                description: Create a single lead in salesforce
                scopes:
                    - offline_access
                    - api
                input: CreateLeadInput
                output: ActionResponse
                endpoint:
                    method: POST
                    path: /leads
                    group: Leads
                version: 1.0.1
            update-lead:
                description: Update a single lead in salesforce
                scopes:
                    - offline_access
                    - api
                input: UpdateLeadInput
                output: SuccessResponse
                endpoint:
                    method: PATCH
                    path: /leads
                    group: Leads
                version: 1.0.1
            delete-lead:
                description: Delete a single lead in salesforce
                scopes:
                    - offline_access
                    - api
                input: IdEntity
                output: SuccessResponse
                endpoint:
                    method: DELETE
                    path: /leads
                    group: Leads
                version: 1.0.0
            create-account:
                description: Create a single account in salesforce
                scopes:
                    - offline_access
                    - api
                input: CreateAccountInput
                output: ActionResponse
                endpoint:
                    method: POST
                    path: /accounts
                    group: Accounts
                version: 1.0.0
            update-account:
                description: Update a single account in salesforce
                scopes:
                    - offline_access
                    - api
                input: UpdateAccountInput
                output: SuccessResponse
                endpoint:
                    method: PATCH
                    path: /accounts
                    group: Accounts
                version: 1.0.0
            delete-account:
                description: Delete a single account in salesforce
                scopes:
                    - offline_access
                    - api
                input: IdEntity
                output: SuccessResponse
                endpoint:
                    method: DELETE
                    path: /accounts
                    group: Accounts
                version: 1.0.0
            create-opportunity:
                description: Create a single opportunity in salesforce
                scopes:
                    - offline_access
                    - api
                input: CreateOpportunityInput
                output: ActionResponse
                endpoint:
                    method: POST
                    path: /opportunities
                    group: Opportunities
                version: 1.0.0
            update-opportunity:
                description: Update a single opportunity in salesforce
                scopes:
                    - offline_access
                    - api
                input: UpdateOpportunityInput
                output: SuccessResponse
                endpoint:
                    method: PATCH
                    path: /opportunities
                    group: Opportunities
                version: 1.0.0
            delete-opportunity:
                description: Delete a single opportunity in salesforce
                scopes:
                    - offline_access
                    - api
                input: IdEntity
                output: SuccessResponse
                endpoint:
                    method: DELETE
                    path: /opportunities
                    group: Opportunities
                version: 1.0.0
            whoami:
                description: Fetch current user information
                output: UserInformation
                endpoint:
                    method: GET
                    path: /whoami
                    group: Users
        syncs:
            accounts:
                runs: every hour
                description: |
                    Fetches a list of accounts from salesforce
                output: Account
                sync_type: incremental
                version: 1.0.2
                endpoint:
                    method: GET
                    path: /accounts
                    group: Accounts
            contacts:
                runs: every hour
                description: |
                    Fetches a list of contacts from salesforce
                output: Contact
                sync_type: incremental
                scopes:
                    - offline_access
                    - api
                version: 1.0.3
                endpoint:
                    method: GET
                    path: /contacts
                    group: Contacts
            leads:
                runs: every hour
                description: |
                    Fetches a list of leads from salesforce
                output: Lead
                sync_type: incremental
                scopes:
                    - offline_access
                    - api
                endpoint:
                    method: GET
                    path: /leads
                    group: Leads
                version: 1.0.1
            articles:
                runs: every day
                description: |
                    Fetches a list of articles from salesforce
                output: Article
                input: SalesforceMetadata
                version: 1.0.1
                auto_start: false
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /articles
            tickets:
                runs: every day
                description: |
                    Fetches a list of tickets from salesforce
                output: Ticket
                sync_type: incremental
                version: 1.0.1
                endpoint:
                    method: GET
                    path: /tickets
            opportunities:
                runs: every hour
                description: |
                    Fetches a list of opportunities from salesforce
                output: Opportunity
                sync_type: incremental
                scopes:
                    - offline_access
                    - api
                endpoint:
                    method: GET
                    path: /opportunities
                    group: Opportunities
                version: 1.0.0
        models:
            IdEntity:
                id: string
            ActionResponse:
                id: string
                success: boolean
                errors: array
            SuccessResponse:
                success: boolean
            Contact:
                id: string
                first_name: string | null
                last_name: string
                account_name: string | null
                account_id: string | null
                email: string | null
                owner_id: string
                owner_name: string
                mobile: string | null
                phone: string | null
                salutation: string | null
                title: string | null
                last_modified_date: string
            UserInformation:
                id: string
                email: string
            CommonContactInput:
                first_name?: string | undefined
                account_id?: string | undefined
                owner_id?: string | undefined
                email?: string | undefined
                mobile?: string | undefined
                phone?: string | undefined
                salutation?: string | undefined
                title?: string | undefined
            CreateContactInput:
                first_name?: string | undefined
                account_id?: string | undefined
                owner_id?: string | undefined
                email?: string | undefined
                mobile?: string | undefined
                phone?: string | undefined
                salutation?: string | undefined
                title?: string | undefined
                last_name: string
            UpdateContactInput:
                first_name?: string | undefined
                account_id?: string | undefined
                owner_id?: string | undefined
                email?: string | undefined
                mobile?: string | undefined
                phone?: string | undefined
                salutation?: string | undefined
                title?: string | undefined
                last_name?: string | undefined
            Lead:
                id: string
                first_name: string | null
                last_name: string
                company_name: string
                email: string | null
                owner_id: string
                owner_name: string
                phone: string | null
                salutation: string | null
                title: string | null
                website: string | null
                industry: string | null
                last_modified_date: string
            CommonLeadInput:
                first_name?: string | undefined
                email?: string | undefined
                owner_id?: string | undefined
                phone?: string | undefined
                salutation?: string | undefined
                title?: string | undefined
                website?: string | undefined
                industry?: string | undefined
            CreateLeadInput:
                first_name?: string | undefined
                email?: string | undefined
                owner_id?: string | undefined
                phone?: string | undefined
                salutation?: string | undefined
                title?: string | undefined
                website?: string | undefined
                industry?: string | undefined
                last_name: string
                company_name: string
            UpdateLeadInput:
                first_name?: string | undefined
                email?: string | undefined
                owner_id?: string | undefined
                phone?: string | undefined
                salutation?: string | undefined
                title?: string | undefined
                website?: string | undefined
                industry?: string | undefined
                last_name?: string | undefined
                company_name?: string | undefined
            Account:
                id: string
                name: string
                description: string | null
                website: string | null
                industry: string | null
                billing_city: string | null
                billing_country: string | null
                owner_id: string
                owner_name: string
                last_modified_date: string
            CommonAccountInput:
                description?: string | undefined
                website?: string | undefined
                industry?: string | undefined
                billing_city?: string | undefined
                billing_country?: string | undefined
                owner_id?: string | undefined
            CreateAccountInput:
                description?: string | undefined
                website?: string | undefined
                industry?: string | undefined
                billing_city?: string | undefined
                billing_country?: string | undefined
                owner_id?: string | undefined
                name: string
            UpdateAccountInput:
                description?: string | undefined
                website?: string | undefined
                industry?: string | undefined
                billing_city?: string | undefined
                billing_country?: string | undefined
                owner_id?: string | undefined
                name?: string | undefined
            Opportunity:
                id: string
                opportunity_name: string
                account_name: string | null
                account_id: string | null
                amount: number | null
                description: string | null
                close_date: string
                created_by_id: string
                created_by: string
                owner_id: string
                owner_name: string
                stage: string
                probability: number | null
                type: string | null
                last_modified_date: string
            CommonOpportunityInput:
                account_id?: string | undefined
                amount?: number | undefined
                description?: string | undefined
                created_by_id?: string | undefined
                owner_id?: string | undefined
                probability?: number | undefined
                type?: string | undefined
            CreateOpportunityInput:
                account_id?: string | undefined
                amount?: number | undefined
                description?: string | undefined
                created_by_id?: string | undefined
                owner_id?: string | undefined
                probability?: number | undefined
                type?: string | undefined
                opportunity_name: string
                close_date: string
                stage: string
            UpdateOpportunityInput:
                account_id?: string | undefined
                amount?: number | undefined
                description?: string | undefined
                created_by_id?: string | undefined
                owner_id?: string | undefined
                probability?: number | undefined
                type?: string | undefined
                opportunity_name?: string | undefined
                close_date?: string | undefined
                stage?: string | undefined
            Deal:
                id: string
                name: string
                amount: number | null
                stage: string
                account_id: string
                last_modified_date: string
            Article:
                id: string
                title: string
                content: string
                last_modified_date: string
            Ticket:
                id: string
                case_number: string
                subject: string | null
                account_id: string | null
                account_name: string | null
                contact_id: string | null
                contact_name: string | null
                owner_id: string
                owner_name: string | null
                priority: string
                status: string
                description: string | null
                type: string | null
                created_date: string
                closed_date: string | null
                origin: string | null
                is_closed: boolean
                is_escalated: boolean
                conversation: Conversation[]
                last_modified_date: string
            Conversation:
                id: string
                body: string
                created_date: string
                created_by: string
            SalesforceEntity:
                name: string
            SalesforceFieldSchema:
                fields: Field[]
                childRelationships: ChildField[]
                validationRules: ValidationRule[]
            NestedFieldSchema:
                fields: Field[]
            Field:
                name: string
                label: string
                type: string
                referenceTo: string[]
                relationshipName: string | null
            ChildField:
                object: string
                relationshipName: string | null
                field: string
            ActionResponseError:
                message: string
                details?: ActionResponseErrorDetails
            ActionResponseErrorDetails:
                message: string
                method: string
                url: string
                code: string
            SalesforceMetadata:
                customFields: string[]
            ValidationRule:
                id: string
                name: string
                errorConditionFormula: string
                errorMessage: string
    salesforce-sandbox:
        actions:
            fetch-fields:
                description: >
                    Fetch available task fields, child relationships and validation rules.
                    If the input is not specified then it defaults back to "Task"

                    Data Validation: Parses all incoming data with Zod. Does not fail on
                    parsing error will instead log parse error and return result.
                scopes:
                    - offline_access
                    - api
                input: SalesforceEntity
                version: 1.0.1
                output: SalesforceFieldSchema
                endpoint:
                    method: GET
                    path: /fields
            create-contact:
                description: Create a single contact in salesforce
                scopes:
                    - offline_access
                    - api
                input: CreateContactInput
                output: ActionResponse
                endpoint:
                    method: POST
                    path: /contacts
                    group: Contacts
                version: 1.0.1
            update-contact:
                description: Update a single contact in salesforce
                scopes:
                    - offline_access
                    - api
                input: UpdateContactInput
                output: SuccessResponse
                endpoint:
                    method: PATCH
                    path: /contacts
                    group: Contacts
                version: 1.0.1
            delete-contact:
                description: Delete a single contact in salesforce
                scopes:
                    - offline_access
                    - api
                input: IdEntity
                output: SuccessResponse
                endpoint:
                    method: DELETE
                    path: /contacts
                    group: Contacts
                version: 1.0.0
            create-lead:
                description: Create a single lead in salesforce
                scopes:
                    - offline_access
                    - api
                input: CreateLeadInput
                output: ActionResponse
                endpoint:
                    method: POST
                    path: /leads
                    group: Leads
                version: 1.0.1
            update-lead:
                description: Update a single lead in salesforce
                scopes:
                    - offline_access
                    - api
                input: UpdateLeadInput
                output: SuccessResponse
                endpoint:
                    method: PATCH
                    path: /leads
                    group: Leads
                version: 1.0.1
            delete-lead:
                description: Delete a single lead in salesforce
                scopes:
                    - offline_access
                    - api
                input: IdEntity
                output: SuccessResponse
                endpoint:
                    method: DELETE
                    path: /leads
                    group: Leads
                version: 1.0.0
            create-account:
                description: Create a single account in salesforce
                scopes:
                    - offline_access
                    - api
                input: CreateAccountInput
                output: ActionResponse
                endpoint:
                    method: POST
                    path: /accounts
                    group: Accounts
                version: 1.0.0
            update-account:
                description: Update a single account in salesforce
                scopes:
                    - offline_access
                    - api
                input: UpdateAccountInput
                output: SuccessResponse
                endpoint:
                    method: PATCH
                    path: /accounts
                    group: Accounts
                version: 1.0.0
            delete-account:
                description: Delete a single account in salesforce
                scopes:
                    - offline_access
                    - api
                input: IdEntity
                output: SuccessResponse
                endpoint:
                    method: DELETE
                    path: /accounts
                    group: Accounts
                version: 1.0.0
            create-opportunity:
                description: Create a single opportunity in salesforce
                scopes:
                    - offline_access
                    - api
                input: CreateOpportunityInput
                output: ActionResponse
                endpoint:
                    method: POST
                    path: /opportunities
                    group: Opportunities
                version: 1.0.0
            update-opportunity:
                description: Update a single opportunity in salesforce
                scopes:
                    - offline_access
                    - api
                input: UpdateOpportunityInput
                output: SuccessResponse
                endpoint:
                    method: PATCH
                    path: /opportunities
                    group: Opportunities
                version: 1.0.0
            delete-opportunity:
                description: Delete a single opportunity in salesforce
                scopes:
                    - offline_access
                    - api
                input: IdEntity
                output: SuccessResponse
                endpoint:
                    method: DELETE
                    path: /opportunities
                    group: Opportunities
                version: 1.0.0
            whoami:
                description: Fetch current user information
                output: UserInformation
                endpoint:
                    method: GET
                    path: /whoami
                    group: Users
        syncs:
            accounts:
                runs: every hour
                description: |
                    Fetches a list of accounts from salesforce
                output: Account
                sync_type: incremental
                version: 1.0.2
                endpoint:
                    method: GET
                    path: /accounts
                    group: Accounts
            contacts:
                runs: every hour
                description: |
                    Fetches a list of contacts from salesforce
                output: Contact
                sync_type: incremental
                scopes:
                    - offline_access
                    - api
                version: 1.0.3
                endpoint:
                    method: GET
                    path: /contacts
                    group: Contacts
            leads:
                runs: every hour
                description: |
                    Fetches a list of leads from salesforce
                output: Lead
                sync_type: incremental
                scopes:
                    - offline_access
                    - api
                endpoint:
                    method: GET
                    path: /leads
                    group: Leads
                version: 1.0.1
            articles:
                runs: every day
                description: |
                    Fetches a list of articles from salesforce
                output: Article
                input: SalesforceMetadata
                version: 1.0.1
                auto_start: false
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /articles
            tickets:
                runs: every day
                description: |
                    Fetches a list of tickets from salesforce
                output: Ticket
                sync_type: incremental
                version: 1.0.1
                endpoint:
                    method: GET
                    path: /tickets
            opportunities:
                runs: every hour
                description: |
                    Fetches a list of opportunities from salesforce
                output: Opportunity
                sync_type: incremental
                scopes:
                    - offline_access
                    - api
                endpoint:
                    method: GET
                    path: /opportunities
                    group: Opportunities
                version: 1.0.0
        models:
            IdEntity:
                id: string
            ActionResponse:
                id: string
                success: boolean
                errors: array
            SuccessResponse:
                success: boolean
            Contact:
                id: string
                first_name: string | null
                last_name: string
                account_name: string | null
                account_id: string | null
                email: string | null
                owner_id: string
                owner_name: string
                mobile: string | null
                phone: string | null
                salutation: string | null
                title: string | null
                last_modified_date: string
            UserInformation:
                id: string
                email: string
            CommonContactInput:
                first_name?: string | undefined
                account_id?: string | undefined
                owner_id?: string | undefined
                email?: string | undefined
                mobile?: string | undefined
                phone?: string | undefined
                salutation?: string | undefined
                title?: string | undefined
            CreateContactInput:
                first_name?: string | undefined
                account_id?: string | undefined
                owner_id?: string | undefined
                email?: string | undefined
                mobile?: string | undefined
                phone?: string | undefined
                salutation?: string | undefined
                title?: string | undefined
                last_name: string
            UpdateContactInput:
                first_name?: string | undefined
                account_id?: string | undefined
                owner_id?: string | undefined
                email?: string | undefined
                mobile?: string | undefined
                phone?: string | undefined
                salutation?: string | undefined
                title?: string | undefined
                last_name?: string | undefined
            Lead:
                id: string
                first_name: string | null
                last_name: string
                company_name: string
                email: string | null
                owner_id: string
                owner_name: string
                phone: string | null
                salutation: string | null
                title: string | null
                website: string | null
                industry: string | null
                last_modified_date: string
            CommonLeadInput:
                first_name?: string | undefined
                email?: string | undefined
                owner_id?: string | undefined
                phone?: string | undefined
                salutation?: string | undefined
                title?: string | undefined
                website?: string | undefined
                industry?: string | undefined
            CreateLeadInput:
                first_name?: string | undefined
                email?: string | undefined
                owner_id?: string | undefined
                phone?: string | undefined
                salutation?: string | undefined
                title?: string | undefined
                website?: string | undefined
                industry?: string | undefined
                last_name: string
                company_name: string
            UpdateLeadInput:
                first_name?: string | undefined
                email?: string | undefined
                owner_id?: string | undefined
                phone?: string | undefined
                salutation?: string | undefined
                title?: string | undefined
                website?: string | undefined
                industry?: string | undefined
                last_name?: string | undefined
                company_name?: string | undefined
            Account:
                id: string
                name: string
                description: string | null
                website: string | null
                industry: string | null
                billing_city: string | null
                billing_country: string | null
                owner_id: string
                owner_name: string
                last_modified_date: string
            CommonAccountInput:
                description?: string | undefined
                website?: string | undefined
                industry?: string | undefined
                billing_city?: string | undefined
                billing_country?: string | undefined
                owner_id?: string | undefined
            CreateAccountInput:
                description?: string | undefined
                website?: string | undefined
                industry?: string | undefined
                billing_city?: string | undefined
                billing_country?: string | undefined
                owner_id?: string | undefined
                name: string
            UpdateAccountInput:
                description?: string | undefined
                website?: string | undefined
                industry?: string | undefined
                billing_city?: string | undefined
                billing_country?: string | undefined
                owner_id?: string | undefined
                name?: string | undefined
            Opportunity:
                id: string
                opportunity_name: string
                account_name: string | null
                account_id: string | null
                amount: number | null
                description: string | null
                close_date: string
                created_by_id: string
                created_by: string
                owner_id: string
                owner_name: string
                stage: string
                probability: number | null
                type: string | null
                last_modified_date: string
            CommonOpportunityInput:
                account_id?: string | undefined
                amount?: number | undefined
                description?: string | undefined
                created_by_id?: string | undefined
                owner_id?: string | undefined
                probability?: number | undefined
                type?: string | undefined
            CreateOpportunityInput:
                account_id?: string | undefined
                amount?: number | undefined
                description?: string | undefined
                created_by_id?: string | undefined
                owner_id?: string | undefined
                probability?: number | undefined
                type?: string | undefined
                opportunity_name: string
                close_date: string
                stage: string
            UpdateOpportunityInput:
                account_id?: string | undefined
                amount?: number | undefined
                description?: string | undefined
                created_by_id?: string | undefined
                owner_id?: string | undefined
                probability?: number | undefined
                type?: string | undefined
                opportunity_name?: string | undefined
                close_date?: string | undefined
                stage?: string | undefined
            Deal:
                id: string
                name: string
                amount: number | null
                stage: string
                account_id: string
                last_modified_date: string
            Article:
                id: string
                title: string
                content: string
                last_modified_date: string
            Ticket:
                id: string
                case_number: string
                subject: string | null
                account_id: string | null
                account_name: string | null
                contact_id: string | null
                contact_name: string | null
                owner_id: string
                owner_name: string | null
                priority: string
                status: string
                description: string | null
                type: string | null
                created_date: string
                closed_date: string | null
                origin: string | null
                is_closed: boolean
                is_escalated: boolean
                conversation: Conversation[]
                last_modified_date: string
            Conversation:
                id: string
                body: string
                created_date: string
                created_by: string
            SalesforceEntity:
                name: string
            SalesforceFieldSchema:
                fields: Field[]
                childRelationships: ChildField[]
                validationRules: ValidationRule[]
            NestedFieldSchema:
                fields: Field[]
            Field:
                name: string
                label: string
                type: string
                referenceTo: string[]
                relationshipName: string | null
            ChildField:
                object: string
                relationshipName: string | null
                field: string
            ActionResponseError:
                message: string
                details?: ActionResponseErrorDetails
            ActionResponseErrorDetails:
                message: string
                method: string
                url: string
                code: string
            SalesforceMetadata:
                customFields: string[]
            ValidationRule:
                id: string
                name: string
                errorConditionFormula: string
                errorMessage: string
    sharepoint-online:
        actions:
            list-shared-sites:
                description: >
                    This action will be used to display a list of sites to the end-user,
                    who will pick the ones he wants to sync.

                    The connection metadata should be set based on the file selection.
                endpoint:
                    method: GET
                    path: /list-sites
                scopes:
                    - Sites.Read.All
                    - Sites.Selected
                    - offline_access
                output: SharepointSites
                version: 2.0.0
            fetch-file:
                description: >
                    This action will be used to fetch the latest file download_url which
                    can be used to download the actual file.
                endpoint:
                    method: GET
                    path: /fetch-file
                scopes:
                    - MyFiles.Read
                    - offline_access
                output: FetchFile
                input: FetchFileInput
                version: 1.0.0
        syncs:
            user-files:
                description: >-
                    Fetch all files from the user's drive and sync the metadata for each
                    file.
                endpoint:
                    method: GET
                    path: /user-files
                output: UserFileMetadata
                runs: every hour
                sync_type: full
                scopes:
                    - Sites.Read.All
                    - Sites.Selected
                    - MyFiles.Read
                    - Files.Read.All
                    - Files.Read.Selected
                    - offline_access
            user-files-selection:
                description: Fetch all selected files from a user's drive
                endpoint:
                    method: GET
                    path: /user-files/selected
                input: SharepointMetadata
                output: SelectedUserFileMetadata
                runs: every hour
                auto_start: false
                sync_type: full
                scopes:
                    - Sites.Read.All
                    - Sites.Selected
                    - MyFiles.Read
                    - Files.Read.All
                    - Files.Read.Selected
                    - offline_access
            shared-sites-selection:
                description: >
                    This sync will be used to sync file metadata from SharePoint site
                    based on the ones the user has picked.
                endpoint:
                    method: GET
                    path: /shared-files/selected
                sync_type: incremental
                runs: every 1 hour
                scopes:
                    - Sites.Read.All
                    - Sites.Selected
                    - MyFiles.Read
                    - Files.Read.All
                    - Files.Read.Selected
                    - offline_access
                input: SharepointMetadata
                auto_start: false
                output: FileMetadata
                version: 2.0.0
        models:
            FileMetadata:
                siteId: string
                id: string
                name: string
                etag: string
                cTag: string
                is_folder: boolean
                mime_type: string | null
                path: string
                raw_source: object
                updated_at: string
                download_url: string | null
                created_at: string
                blob_size: number
            UserFileMetadata:
                siteId: string
                id: string
                name: string
                etag: string
                cTag: string
                is_folder: boolean
                mime_type: string | null
                path: string
                raw_source: object
                updated_at: string
                download_url: string | null
                created_at: string
                blob_size: number
            SelectedUserFileMetadata:
                siteId: string
                id: string
                name: string
                etag: string
                cTag: string
                is_folder: boolean
                mime_type: string | null
                path: string
                raw_source: object
                updated_at: string
                download_url: string | null
                created_at: string
                blob_size: number
            Site:
                id: string
                name: string
                createdDateTime: string
                webUrl: string
            SharepointMetadata:
                sharedSites: string[]
                pickedFiles: PickedFile[]
            PickedFile:
                siteId: string
                fileIds: string[]
            SharepointSites:
                sitesToSync: Site[]
            FetchFileInput:
                siteId: string
                itemId: string
            FetchFile:
                id: string
                download_url: string | null
    slack:
        syncs:
            users:
                version: 1.0.1
                runs: every hour
                description: |
                    Syncs information about all Users on the Slack workspace
                output: SlackUser
                sync_type: full
                endpoint:
                    method: GET
                    path: /users
                scopes:
                    - users:read
                    - users:read.email
            channels:
                version: 1.0.1
                runs: every hour
                description: |
                    Syncs information about all Slack channels. Which channels get synced
                    (public, private, IMs, group DMs) depends on the scopes. If
                    joinPublicChannels is set to true, the bot will automatically join all
                    public channels as well. Scopes: At least one of channels:read,
                    groups:read, mpim:read, im:read. To also join public channels:
                    channels:join
                output: SlackChannel
                sync_type: full
                endpoint:
                    method: GET
                    path: /channels
                scopes:
                    - channels:read
                    - channels:join
            messages:
                version: 1.0.1
                runs: every hour
                description: |
                    Syncs Slack messages, thread replies and reactions from messages &
                    thread replies for all channels, group dms and dms the bot is a part
                    of. For every channel it will do an initial full sync on first
                    detection of the channel. For subsequent runs it will sync messages,
                    threads & reactions from the last 10 days. Scopes required:
                    channels:read, and at least one of
                    channels:history, groups:history, mpim:history, im:history
                output:
                    - SlackMessage
                    - SlackMessageReply
                    - SlackMessageReaction
                sync_type: incremental
                endpoint:
                    - method: GET
                      path: /messages
                      group: Messages
                    - method: GET
                      path: /messages-reply
                    - method: GET
                      path: /messages-reaction
                scopes:
                    - channels:read
                    - channels:history
        actions:
            send-message:
                version: 1.0.2
                description: |
                    An action that sends a message to a slack channel.
                input: SendMessageInput
                scopes:
                    - chat:write
                output: SendMessageOutput
                endpoint:
                    method: POST
                    path: /messages
                    group: Messages
        models:
            SlackUser:
                id: string
                team_id: string
                name: string
                deleted: boolean
                tz: string
                tz_label: string
                tz_offset: number
                profile:
                    avatar_hash: string
                    real_name: string | null
                    display_name: string | null
                    real_name_normalized: string | null
                    display_name_normalized: string | null
                    email: string | null
                    image_original: string | null | undefined
                is_admin: boolean
                is_owner: boolean
                is_primary_owner: boolean
                is_restricted: boolean
                is_ultra_restricted: boolean
                is_bot: boolean
                updated: number
                is_app_user: boolean
                raw_json: string
            SlackChannel:
                id: string
                name: string
                is_channel: boolean
                is_group: boolean
                is_im: boolean
                created: number
                creator: string
                is_archived: boolean
                is_general: boolean
                name_normalized: string
                is_shared: boolean
                is_private: boolean
                is_mpim: boolean
                updated: number
                num_members: number
                raw_json: string
            SlackMessage:
                id: string
                ts: string
                channel_id: string
                thread_ts: string | null
                app_id: string | null
                bot_id: string | null
                display_as_bot: boolean | null
                is_locked: boolean | null
                metadata:
                    event_type: string
                parent_user_id: string | null
                subtype: string | null
                text: string | null
                topic: string | null
                user_id: string | null
                raw_json: string
            SlackMessageReply:
                id: string
                ts: string
                channel_id: string
                thread_ts: string | null
                app_id: string | null
                bot_id: string | null
                display_as_bot: boolean | null
                is_locked: boolean | null
                metadata:
                    event_type: string
                parent_user_id: string | null
                subtype: string | null
                text: string | null
                topic: string | null
                user_id: string | null
                root:
                    message_id: string | null
                    ts: string
                raw_json: string
            SlackMessageReaction:
                id: string
                message_ts: string
                thread_ts: string
                channel_id: string
                user_id: string
                reaction_name: string
            SendMessageInput:
                channel: string
                text: string
            SendMessageOutput:
                ok: boolean
                channel?: string | undefined
                ts?: string | undefined
                message?: string | undefined
                warning?: string | undefined
                error?: string | undefined
                raw_json: string
    smartsheet:
        syncs:
            users:
                runs: every 6 hours
                description: Fetches a list of users from Smartsheet
                output: User
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /users
                    group: Users
                scopes:
                    - READ_USERS
        actions:
            create-user:
                description: Creates a user in Smartsheet
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: CreateUser
                scopes:
                    - ADMIN_USERS
            delete-user:
                description: >
                    Deletes a user from Smartsheet. User is transitioned to a free
                    collaborator with read-only access to owned reports, sheets, Sights,
                    workspaces, and any shared templates (unless those are optionally
                    transferred to another user).
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
                scopes:
                    - ADMIN_USERS
            disable-user:
                description: >
                    Disables a user in an organization account. User will no longer be
                    able to access Smartsheet in any way. User's assets will continue to
                    be owned by this user until they are transferred to another user.
                endpoint:
                    method: POST
                    path: /users/disable
                    group: Users
                output: SuccessResponse
                input: IdEntity
                scopes:
                    - ADMIN_USERS
        models:
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            User:
                id: string
                email: string
                firstName: string
                lastName: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
    stripe-app:
        syncs:
            subscriptions:
                description: Fetches a list of subscriptions
                runs: every 2h
                endpoint:
                    method: GET
                    path: /subscriptions
                    group: Subscriptions
                output: Subscription
                sync_type: full
                track_deletes: true
                scopes:
                    - subscription_read
        models:
            Subscription:
                id: string
                automatic_tax:
                    enabled: boolean
                    liability: boolean | string | null
                    disabled_reason: string | null
                billing_cycle_anchor: number
                billing_thresholds: string | null
                cancel_at: string | null
                cancel_at_period_end: boolean
                canceled_at: string | null
                cancellation_details: CancellationDetails
                collection_method: string
                created: number
                currency: string
                current_period_end: number
                current_period_start: number
                customer: string
                days_until_due: number | null
                default_payment_method: string | null
                description: string | null
                discount: string | null
                discounts: string[] | null
                ended_at: string | null
                invoice_settings: InvoiceSettings
                items: Item[]
                latest_invoice: string
                livemode: boolean
                next_pending_invoice_item_invoice: string | null
                on_behalf_of: string | null
                pause_collection: string | null
                payment_settings: PaymentSettings
                pending_invoice_item_interval: string | null
                pending_setup_intent: string | null
                schedule: string | null
                start_date: number
                status: string
                transfer_data: string | null
                trial_end: string | null
                trial_settings: TrialSettings
                trial_start: string | null
            Item:
                id: string
                billing_thresholds: string | null
                created: number
                plan: Plan
                price: Price
                quantity: number
                subscription: string
                tax_rates: string[]
            Plan:
                id: string
                object: string
                active: boolean
                aggregate_usage: any
                amount: number
                amount_decimal: string
                billing_scheme: string
                created: number
                currency: string
                discounts: any
                interval: string
                interval_count: number
                livemode: boolean
                nickname: any
                product: string
                tiers_mode: any
                transform_usage: any
                trial_period_days: any
                usage_type: string
            Recurring:
                aggregate_usage: any
                interval: string
                interval_count: number
                trial_period_days: any
                usage_type: string
            Price:
                id: string
                object: string
                active: boolean
                billing_scheme: string
                created: number
                currency: string
                custom_unit_amount: any
                livemode: boolean
                lookup_key: any
                nickname: any
                product: string
                recurring: Recurring
                tax_behavior: string
                tiers_mode: any
                transform_quantity: any
                type: string
                unit_amount: number
                unit_amount_decimal: string
            CancellationDetails:
                comment: string | null
                feedback: string | null
                reason: string | null
            InvoiceSettings:
                issuer: Issuer
                account_tax_ids: null | string | string[]
            Issuer:
                type: string
            PaymentSettings:
                payment_method_options: string | null
                payment_method_types: string | null
                save_default_payment_method: string
            TrialSettings:
                end_behavior: EndBehavior
            EndBehavior:
                missing_payment_method: string
    stripe-app-sandbox:
        syncs:
            subscriptions:
                description: Fetches a list of subscriptions
                runs: every 2h
                endpoint:
                    method: GET
                    path: /subscriptions
                    group: Subscriptions
                output: Subscription
                sync_type: full
                track_deletes: true
                scopes:
                    - subscription_read
        models:
            Subscription:
                id: string
                automatic_tax:
                    enabled: boolean
                    liability: boolean | string | null
                    disabled_reason: string | null
                billing_cycle_anchor: number
                billing_thresholds: string | null
                cancel_at: string | null
                cancel_at_period_end: boolean
                canceled_at: string | null
                cancellation_details: CancellationDetails
                collection_method: string
                created: number
                currency: string
                current_period_end: number
                current_period_start: number
                customer: string
                days_until_due: number | null
                default_payment_method: string | null
                description: string | null
                discount: string | null
                discounts: string[] | null
                ended_at: string | null
                invoice_settings: InvoiceSettings
                items: Item[]
                latest_invoice: string
                livemode: boolean
                next_pending_invoice_item_invoice: string | null
                on_behalf_of: string | null
                pause_collection: string | null
                payment_settings: PaymentSettings
                pending_invoice_item_interval: string | null
                pending_setup_intent: string | null
                schedule: string | null
                start_date: number
                status: string
                transfer_data: string | null
                trial_end: string | null
                trial_settings: TrialSettings
                trial_start: string | null
            Item:
                id: string
                billing_thresholds: string | null
                created: number
                plan: Plan
                price: Price
                quantity: number
                subscription: string
                tax_rates: string[]
            Plan:
                id: string
                object: string
                active: boolean
                aggregate_usage: any
                amount: number
                amount_decimal: string
                billing_scheme: string
                created: number
                currency: string
                discounts: any
                interval: string
                interval_count: number
                livemode: boolean
                nickname: any
                product: string
                tiers_mode: any
                transform_usage: any
                trial_period_days: any
                usage_type: string
            Recurring:
                aggregate_usage: any
                interval: string
                interval_count: number
                trial_period_days: any
                usage_type: string
            Price:
                id: string
                object: string
                active: boolean
                billing_scheme: string
                created: number
                currency: string
                custom_unit_amount: any
                livemode: boolean
                lookup_key: any
                nickname: any
                product: string
                recurring: Recurring
                tax_behavior: string
                tiers_mode: any
                transform_quantity: any
                type: string
                unit_amount: number
                unit_amount_decimal: string
            CancellationDetails:
                comment: string | null
                feedback: string | null
                reason: string | null
            InvoiceSettings:
                issuer: Issuer
                account_tax_ids: null | string | string[]
            Issuer:
                type: string
            PaymentSettings:
                payment_method_options: string | null
                payment_method_types: string | null
                save_default_payment_method: string
            TrialSettings:
                end_behavior: EndBehavior
            EndBehavior:
                missing_payment_method: string
    teamtailor:
        syncs:
            candidates:
                runs: every 6 hours
                description: |
                    Fetches a list of all candidates from your teamtailor account.
                output: TeamtailorCandidate
                sync_type: full
                endpoint:
                    method: GET
                    path: /teamtailor/candidates
                scopes:
                    - Admin
        models:
            TeamtailorCandidate:
                id: string
                type: string
                links:
                    self: string
                attributes:
                    connected: boolean
                    consent_future_jobs_at: date
                    created_at: date
                    updated_at: date
                    email: string
                    facebook_id: string
                    facebook_profile: string
                    first_name: string
                    internal: boolean
                    last_name: string
                    linkedin_profile: string
                    linkedin_uid: string
                    linkedin_url: string
                    original_resume: string
                    phone: string
                    picture: string
                    pitch: string
                    referring_site: string
                    referring_url: string
                    referred: boolean
                    resume: string
                    sourced: boolean
                    tags: array
                    unsubscribed: boolean
                relationships:
                    activities:
                        links:
                            self: string
                            related: string
                    department:
                        links:
                            self: string
                            related: string
                    role:
                        links:
                            self: string
                            related: string
                    regions:
                        links:
                            self: string
                            related: string
                    job_applications:
                        links:
                            self: string
                            related: string
                    questions:
                        links:
                            self: string
                            related: string
                    answers:
                        links:
                            self: string
                            related: string
                    locations:
                        links:
                            self: string
                            related: string
                    uploads:
                        links:
                            self: string
                            related: string
                    custom_field_values:
                        links:
                            self: string
                            related: string
                    partner_results:
                        links:
                            self: string
                            related: string
    unanet:
        actions:
            create-lead:
                endpoint:
                    method: POST
                    path: /leads
                    group: Leads
                description: >-
                    Create a lead with with information about the federal agency, the
                    name, due date, posted date, solicitation number, naics category or
                    categories, the city, state, country, and description.
                input: CreateLead
                output: Lead
                version: 1.0.0
            update-lead:
                endpoint:
                    method: PUT
                    path: /leads
                    group: Leads
                description: >-
                    Update a lead with any changed information about the federal agency,
                    the name, due date, posted date, solicitation number, naics category
                    or categories, the city, state, country, and description.
                output: Lead
                input: UpdateLead
                version: 1.0.0
            get-leads:
                endpoint:
                    method: GET
                    path: /leads
                    group: Leads
                description: Fetch all leads
                output: Lead[]
            get-schema:
                endpoint:
                    method: GET
                    path: /schema
                input: Entity
                description: >-
                    Get the schema of any entity. Useful to know the properties of any
                    object that exists in the system.
                output: Schema[]
            get-company:
                endpoint:
                    method: GET
                    path: /company
                input: Entity
                output: Company | null
                description: Retrieve information about a company
            create-company:
                endpoint:
                    method: POST
                    path: /company
                input: CreateCompany
                output: Company
                description: Create a company in the system
            create-opportunity:
                endpoint:
                    method: POST
                    path: /opportunity
                input: Opportunity
                output: Opportunity
                description: >
                    Create an opportunity in the system. Requires a stage that exists

                    in the system. Use the list-stages action to find the appropriate
                    stage.
            create-contact:
                endpoint:
                    method: POST
                    path: /contacts
                    group: Contacts
                input: Contact
                output: Contact
                description: Create a contact in the system
                version: 1.0.0
            list-stages:
                endpoint:
                    method: GET
                    path: /stages
                description: |
                    List all the stages that exist in the system. Use this action to find
                    the correct stage to be able to create an opportunity.
                output: Stage
        models:
            Timestamps:
                createdAt?: string
                updatedAt?: string
            Entity:
                name: string
            Location:
                city?: string
                state?: string
                country?: string
                zip?: string
            Stage:
                id: number
                name: string
                status: string
            CreateCompany:
                name: string
                federalAgency?: FederalAgency
            Company:
                name: string
                externalId: string
                federalAgency?: FederalAgency
                shortName: string
                description: string
                id?: string
            Opportunity:
                city?: string
                state?: string
                country?: string
                zip?: string
                name: string
                description: string
                id?: string
                externalId: string
                dueDate: string
                federalAgency: FederalAgency
                stage: string
                active: boolean
            Activity:
                createdAt: string
                id: string
                message: string
            FederalAgency:
                city?: string
                state?: string
                country?: string
                zip?: string
                companyId?: number
                name: string
                externalId?: string
                acronym?: string
                address1?: string
                address2?: string
                address3?: string
                isHeadquarters?: boolean
                parentCompanyId?: number
                parentCompanyName?: string
                childCount?: number
                addrLat?: number
                addrLong?: number
            Contact:
                id?: string
                firstName: string
                lastName: string
                federalAgency: FederalAgency
                position: string
                emailAddress: string
                phone: string
                fax: string
            BaseLead:
                federalAgency: FederalAgency
                name: string
                dueDate: string
                postedDate: string
                solicitationNumber: string
                naicsCategory: string | string[]
                city: string
                state: string
                country: string
                description: string
            CreateLead:
                federalAgency: FederalAgency
                name: string
                dueDate: string
                postedDate: string
                solicitationNumber: string
                naicsCategory: string | string[]
                city: string
                state: string
                country: string
                description: string
            UpdateLead:
                federalAgency: FederalAgency
                name: string
                dueDate: string
                postedDate: string
                solicitationNumber: string
                naicsCategory: string | string[]
                city: string
                state: string
                country: string
                description: string
                id: string
            Lead:
                createdAt?: string
                updatedAt?: string
                federalAgency: FederalAgency
                name: string
                dueDate: string
                postedDate: string
                solicitationNumber: string
                naicsCategory: string | string[]
                city: string
                state: string
                country: string
                description: string
                id: string
            Schema:
                PropertyName: string
                Group: string | null
                Label: string
                Description: string | null
                Enabled: boolean
                ReadOnly: boolean
                Required: boolean
                DefaultValue: string | null
                DataType: number
                MaxLength: number | null
                UnicodeSupported: boolean
                Searchable: boolean
                ArrayType: string | null
                IsPrimaryKey: boolean
                IsExternalId: boolean
                ObjectEndpoint: string | null
                IsHidden: boolean
                IsIncludedInResponse: boolean
                SchemaEndpoint: string | null
                SortOrder: number
                CustomSort: boolean
    wildix-pbx:
        syncs:
            colleagues:
                runs: every 1 hour
                description: |
                    Fetches a list of users from PBX
                output: WildixPbxColleague
                sync_type: full
                endpoint:
                    method: GET
                    path: /wildix-pbx/colleagues
        models:
            WildixPbxColleague:
                id: string
                name: string
                extension: string
                email: string
                mobilePhone: string
                licenseType: string
                language: string
    woocommerce:
        syncs:
            customers:
                description: |
                    Periodically fetches all the Woo customers.
                endpoint:
                    method: GET
                    path: /customers
                sync_type: full
                scopes: read
                track_deletes: true
                runs: every day
                auto_start: true
                output: Customer
            orders:
                description: |
                    Periodically fetches all the Woo orders.
                endpoint:
                    method: GET
                    path: /orders
                sync_type: incremental
                scopes: read
                track_deletes: false
                runs: every 5 minutes
                auto_start: true
                output: Order
        models:
            Customer:
                id: string
                name: string
                email: string
                is_paying_customer: boolean
                created_at: string
                modified_at: string
            Order:
                id: string
                status: string
                total_amount: number
                currency: string
                created_at: string
                modified_at: string
    workable:
        syncs:
            candidates:
                runs: every 6 hours
                description: |
                    Fetches a list of candidates from workable
                output: WorkableCandidate
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /candidates
                    group: Candidates
                scopes:
                    - r_candidates
                version: 1.0.0
            candidates-activities:
                runs: every 6 hours
                description: |
                    Fetches a list of activity streams of the given candidate
                output: WorkableCandidateActivity
                sync_type: full
                endpoint:
                    method: GET
                    path: /workable/candidates-activities
                scopes:
                    - r_candidates
            candidates-offer:
                runs: every 6 hours
                description: |
                    Fetches candidate's latest offer from workable
                output: WorkableCandidateOffer
                sync_type: full
                endpoint:
                    method: GET
                    path: /workable/candidates-offer
                scopes:
                    - r_candidates
            jobs:
                runs: every 6 hours
                description: |
                    Fetches a list of jobs from workable
                output: WorkableJob
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /workable/jobs
                scopes:
                    - r_jobs
            jobs-candidates:
                runs: every 6 hours
                description: |
                    Fetches a list of candidates for the specified job from workable
                output: WorkableJobsCandidate
                sync_type: full
                endpoint:
                    method: GET
                    path: /workable/jobs-candidates
                scopes:
                    - r_jobs
            jobs-questions:
                runs: every 6 hours
                description: |
                    Fetches a list of questions for the specified job from workable
                output: WorkableJobQuestion
                sync_type: full
                endpoint:
                    method: GET
                    path: /workable/jobs-questions
                scopes:
                    - r_jobs
            members:
                runs: every 6 hours
                description: |
                    Fetches a list of account members from workable
                output: WorkableMember
                sync_type: full
                endpoint:
                    method: GET
                    path: /workable/members
                scopes:
                    - r_jobs
        actions:
            create-candidate:
                description: |
                    Action to create a candidate at the specified job
                scopes:
                    - w_candidates
                output: WorkableCreateCandidateResponse
                input: WorkableCreateCandidateInput
                endpoint:
                    method: POST
                    path: /candidates
                    group: Candidates
                version: 1.0.0
            create-comment:
                description: |
                    Action to create a comment on the applicant's timeline
                scopes:
                    - w_candidates or w_comments
                output: WorkableCreateCommentResponse
                endpoint:
                    method: POST
                    path: /workable/create-comment
        models:
            WorkableCandidate:
                id: string
                name: string
                firstname: string
                lastname: string
                headline: string
                account: &ref_0
                    subdomain: string
                    name: string
                job: &ref_1
                    shortcode: string
                    title: string
                stage: string
                disqualified: boolean
                disqualification_reason: string
                hired_at: date
                sourced: boolean
                profile_url: string
                address: string
                phone: string
                email: string
                domain: string
                created_at: date
                updated_at: date
            WorkableJobsCandidate:
                id: string
                name: string
                firstname: string
                lastname: string
                headline: string
                account: *ref_0
                job: *ref_1
                stage: string
                disqualified: boolean
                disqualification_reason: string
                hired_at: date
                sourced: boolean
                profile_url: string
                address: string
                phone: string
                email: string
                domain: string
                created_at: date
                updated_at: date
            WorkableCandidateActivity:
                id: string
                action: string
                stage_name: string
                created_at: date
                body: string
                member:
                    id: string
                    name: string
                rating: object
            WorkableCandidateOffer:
                id: string
                candidate:
                    id: string
                    name: string
                created_at: date
                document_variables: array
                documents: array
                state: string
            WorkableJob:
                id: string
                title: string
                full_title: string
                shortcode: string
                code: string
                state: string
                sample: boolean
                department: string
                department_hierarchy: []
                url: string
                application_url: string
                shortlink: string
                location:
                    location_str: string
                    country: string
                    country_code: string
                    region: string
                    region_code: string
                    city: string
                    zip_code: string
                    telecommuting: boolean
                    workplace_type: string
                locations: []
                salary:
                    salary_from: number
                    salary_to: number
                    salary_currency: string
                created_at: date
            WorkableJobQuestion:
                id: string
                body: string
                type: string
                required: boolean
                single_answer: boolean
                choices:
                    id: string
                    body: string
                supported_file_types: []
                max_file_size: number
            WorkableMember:
                id: string
                name: string
                headline: string
                email: string
                role: string
            WorkableCreateCandidateResponse:
                status: string
                candidate:
                    __extends: WorkableCandidate
                    image_url: string
                    outbound_mailbox: string
                    uploader_id: string
                    cover_letter: string
                    summary: string
                    education_entries: []
                    experience_entries: []
                    skills: []
                    answers: []
                    resume_url: string
                    tags: []
                    location:
                        location_str: string
                        country: string
                        country_code: string
                        region: string
                        region_code: string
                        city: string
                        zip_code: string
            WorkableCreateCommentResponse:
                id: string
            WorkableCreateCandidateInput:
                shortcode: string
                candidate:
                    name: string
                    firstname: string
                    lastname: string
                    email: string
                    headline: string | undefined
                    summary: string | undefined
                    address: string | undefined
                    phone: string | undefined
                    cover_letter: string | undefined
                    education_entries: EducationEntry[] | undefined
                    experience_entries: ExperienceEntry[] | undefined
                    answers: Answer[] | undefined
                    skills: string[] | undefined
                    tags: string[] | undefined
                    disqualified: boolean | undefined
                    disqualification_reason: string | undefined
                    disqualified_at: string | undefined
                    social_profiles: SocialProfile[] | undefined
                domain: string | undefined
                recruiter_key: string | undefined
            EducationEntry:
                school: string
                degree: string | undefined
                field_of_study: string | undefined
                start_date: string | undefined
                end_date: string | undefined
            ExperienceEntry:
                title: string
                summary: string | undefined
                start_date: string | undefined
                end_date: string | undefined
                current: boolean | undefined
                company: string | undefined
                industry: string | undefined
            Answer:
                question_key: string
                body: string | undefined
                choices: string[]
                checked: boolean | undefined
                date: string | undefined
                number: number | undefined
                file:
                    name: string
                    data: string
            SocialProfile:
                type: string
                name: string | undefined
                username: string | undefined
                url: string
            WorkableCreateCommentInput:
                id: string
                member_id: string
                comment:
                    body: string
                    policy: string[] | undefined
                    attachment: Attachment | undefined
            Attachment:
                name: string
                data: string
    workday:
        syncs:
            employees:
                runs: every hour
                track_deletes: true
                sync_type: full
                output: Employee
                description: Fetches Employees
                endpoint:
                    method: GET
                    path: /employees
                    group: Employees
            groups:
                runs: every hour
                track_deletes: true
                sync_type: full
                output: Group
                description: Fetches Company groups
                endpoint:
                    method: GET
                    path: /groups
                    group: Groups
            locations:
                runs: every hour
                track_deletes: true
                sync_type: full
                output: Location
                description: Fetches Company locations
                endpoint:
                    method: GET
                    path: /locations
                    group: Locations
        models:
            Employee:
                id: string
                user_name: string | null
                first_name?: string
                last_name?: string
                email: string
                role: string
                department: string
                site: string
                country?: string | null
                external_id?: string
                employment_relationship?: string
                phone_number: string | null
            Group:
                id: string
                active: boolean
                created_at: string | null
                name: string
            Location:
                id: string
                name: string
                description: string | null
                city: string | null
                state: CompanyLocationState | null
                country:
                    name: string
                    iso_code: string
                zip_code: string
                address: string
                phone_number: string | null
            CompanyLocationState:
                name: string
                abbrev: string
                iso_code: string
    xero:
        syncs:
            contacts:
                description: |
                    Fetches all Xero contacts.
                    Details: incremental sync, detects deletes, metadata is not required.
                runs: every hour
                output: Contact
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /contacts
                    group: Contacts
                scopes:
                    - accounting.contacts
                version: 1.0.2
            accounts:
                description: >
                    Fetches all accounts in Xero (chart of accounts). Incremental sync,
                    detects deletes, metadata is not required.
                runs: every hour
                output: Account
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /accounts
                    group: Accounts
                scopes:
                    - accounting.settings
                version: 1.0.2
            items:
                description: >
                    Fetches all items in Xero. Incremental sync, does not detect deletes,
                    metadata is not

                    required.
                runs: every hour
                output: Item
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /items
                    group: Items
                scopes:
                    - accounting.settings
                version: 1.0.2
            invoices:
                description: |
                    Fetches all invoices in Xero. Incremental sync.
                runs: every hour
                output: Invoice
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /invoices
                    group: Invoices
                scopes:
                    - accounting.transactions
                version: 1.0.2
            general-ledger:
                description: |
                    Fetch all general ledger entries in Xero
                runs: every hour
                output: GeneralLedger
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /general-ledger
                    group: General Ledger
                scopes:
                    - accounting.journals.read
            payments:
                description: |
                    Fetches all payments in Xero. Incremental sync.
                runs: every hour
                output: Payment
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /payments
                    group: Payments
                scopes:
                    - accounting.transactions
                version: 1.0.2
        actions:
            create-contact:
                description: |
                    Creates one or multiple contacts in Xero.
                    Note: Does NOT check if these contacts already exist.
                input: CreateContact[]
                output: ContactActionResponse
                endpoint:
                    method: POST
                    path: /contacts
                    group: Contacts
                scopes:
                    - accounting.contacts
                version: 1.0.2
            update-contact:
                description: >
                    Updates one or multiple contacts in Xero. Only fields that are passed
                    in are modified. If a field should not be changed, omit it in the
                    input. The id field is mandatory.
                input: Contact[]
                output: ContactActionResponse
                endpoint:
                    method: PUT
                    path: /contacts
                    group: Contacts
                scopes:
                    - accounting.contacts
                version: 1.0.2
            create-invoice:
                description: |
                    Creates one or more invoices in Xero.
                    Note: Does NOT check if the invoice already exists.
                input: CreateInvoice[]
                output: InvoiceActionResponse
                endpoint:
                    method: POST
                    path: /invoices
                    group: Invoices
                scopes:
                    - accounting.transactions
                version: 1.0.3
            update-invoice:
                description: |
                    Updates one or more invoices in Xero. To delete an invoice
                    that is in DRAFT or SUBMITTED set the status to DELETED. If an
                    invoice has been AUTHORISED it can't be deleted but you can set
                    the status to VOIDED.
                input: UpdateInvoice[]
                output: InvoiceActionResponse
                endpoint:
                    method: PUT
                    path: /invoices
                    group: Invoices
                scopes:
                    - accounting.transactions
                version: 1.0.3
            create-credit-note:
                description: |
                    Creates one or more credit notes in Xero.
                    Note: Does NOT check if the credit note already exists.
                input: CreditNote[]
                output: CreditNoteActionResponse
                endpoint:
                    method: POST
                    path: /credit-notes
                    group: Credit Notes
                version: 1.0.3
                scopes:
                    - accounting.transactions
            update-credit-note:
                description: |
                    Updates one or more credit notes in Xero.
                input: CreditNote[]
                output: CreditNoteActionResponse
                endpoint:
                    method: PUT
                    path: /credit-notes
                    group: Credit Notes
                scopes:
                    - accounting.transactions
                version: 1.0.3
            create-payment:
                description: |
                    Creates one or more payments in Xero.
                    Note: Does NOT check if the payment already exists.
                input: CreatePayment[]
                output: PaymentActionResponse
                endpoint:
                    method: POST
                    path: /payments
                    group: Payments
                scopes:
                    - accounting.transactions
                version: 1.0.2
            create-item:
                description: |
                    Creates one or more items in Xero.
                    Note: Does NOT check if the item already exists.
                input: Item[]
                output: ItemActionResponse
                endpoint:
                    method: POST
                    path: /items
                    group: Items
                scopes:
                    - accounting.settings
                version: 1.0.2
            get-tenants:
                description: |
                    Fetches all the tenants the connection has access to.
                    This can be used to set the metadata to the selected tenant.
                output: TenantResponse
                endpoint:
                    method: GET
                    path: /tenants
                    group: Tenants
            update-item:
                description: |
                    Updates one or more items in Xero.
                input: Item[]
                output: ItemActionResponse
                endpoint:
                    method: PUT
                    path: /items
                    group: Items
                scopes:
                    - accounting.settings
                version: 1.0.2
        models:
            ActionErrorResponse:
                message: string
            BaseContact:
                name: string
            CreateContact:
                name: string
                external_id?: string
                email?: string
                tax_number?: string
                address_line_1?: string
                address_line_2?: string
                city?: string
                zip?: string
                country?: string
                state?: string
                phone?: string
            Contact:
                name: string
                id: string
                external_id: string | null
                email: string | null
                tax_number: string | null
                address_line_1?: string | null
                address_line_2?: string | null
                city: string | null
                zip: string | null
                country: string | null
                state: string | null
                phone: string | null
                subsidiary?: string | null
            FailedContact:
                name: string
                id: string
                external_id: string | null
                email: string | null
                tax_number: string | null
                address_line_1?: string | null
                address_line_2?: string | null
                city: string | null
                zip: string | null
                country: string | null
                state: string | null
                phone: string | null
                subsidiary?: string | null
                validation_errors: any[]
            ContactActionResponse:
                succeededContacts: Contact[]
                failedContacts: FailedContact[]
            Account:
                id: string
                code?: string
                name: string
                type: string
                tax_type: string
                description: string | null
                class: string
                bank_account_type: string
                reporting_code: string
                reporting_code_name: string
            Item:
                id: string
                item_code: string | null
                name: string
                description: string | null
                account_code: string | null
            FailedItem:
                id: string
                item_code: string | null
                name: string
                description: string | null
                account_code: string | null
                validation_errors: any[]
            ItemActionResponse:
                succeededItems: Item[]
                failedItems: FailedItem[]
            BasePayment:
                date: string | null
                amount_cents: number
                external_contact_id?: string
                account_code?: string
                account_id?: string
            CreatePayment:
                date: string | null
                amount_cents: number
                external_contact_id?: string
                account_code?: string
                account_id?: string
                status?: string
                invoice_id?: string
                credit_note_id?: string
            Payment:
                date: string | null
                amount_cents: number
                external_contact_id?: string
                account_code?: string
                account_id?: string
                id: string
                status: string
                invoice_id: string | null
                credit_note_id: string | null
            FailedPayment:
                date: string | null
                amount_cents: number
                external_contact_id?: string
                account_code?: string
                account_id?: string
                id: string
                status: string
                invoice_id: string | null
                credit_note_id: string | null
                validation_errors: any[]
            IdEntity:
                id: string
            StatusOutput:
                status: string
            PaymentActionResponse:
                succeededPayment: Payment[]
                failedPayments: FailedPayment[]
            BaseInvoice:
                type: ACCPAY | ACCREC
                external_contact_id: string
                url?: string
            CreateInvoice:
                type: ACCPAY | ACCREC
                external_contact_id: string
                url?: string
                fees: CreateInvoiceFee[]
                issuing_date?: date
                payment_due_date?: date | null
                status?: string
                number?: string
                currency?: string
                purchase_order?: string | null
            BaseInvoiceFee:
                account_code?: string
                item_code?: string | null
                account_external_id?: string | null
                discount_amount_cents?: number | null
                discount_rate?: number | null
            CreateInvoiceFee:
                account_code?: string
                item_code?: string | null
                account_external_id?: string | null
                discount_amount_cents?: number | null
                discount_rate?: number | null
                item_id?: string
                description: string
                units?: number
                precise_unit_amount?: number | null
                amount_cents?: number | null
                taxes_amount_cents?: number | null
            Invoice:
                type: ACCPAY | ACCREC
                external_contact_id: string
                url?: string
                id: string
                issuing_date: string | null
                payment_due_date: string | null
                status: string
                number?: string
                currency: string
                purchase_order: string | null
                fees: InvoiceFee[]
            UpdateInvoice:
                type?: ACCPAY | ACCREC
                external_contact_id?: string
                url?: string
                id: string
                issuing_date?: string | null
                payment_due_date?: string | null
                status?: string
                number?: string
                currency?: string
                purchase_order?: string | null
                fees?: UpdateInvoiceFee[]
            InvoiceFee:
                account_code?: string
                item_code?: string | null
                account_external_id?: string | null
                discount_amount_cents?: number | null
                discount_rate?: number | null
                item_id: string
                description: string | null
                units: number | null
                precise_unit_amount: number | null
                amount_cents: number | null
                taxes_amount_cents: number | null
            UpdateInvoiceFee:
                account_code?: string
                item_code?: string | null
                account_external_id?: string | null
                discount_amount_cents?: number | null
                discount_rate?: number | null
                item_id?: string
                description?: string | null
                units?: number | null
                precise_unit_amount?: number | null
                amount_cents?: number | null
                taxes_amount_cents?: number | null
            FailedInvoice:
                type: ACCPAY | ACCREC
                external_contact_id: string
                url?: string
                id: string
                issuing_date: string | null
                payment_due_date: string | null
                status: string
                number?: string
                currency: string
                purchase_order: string | null
                fees: InvoiceFee[]
                validation_errors: any[]
            InvoiceActionResponse:
                succeededInvoices: Invoice[]
                failedInvoices: FailedInvoice[]
            CreditNote:
                id: string
                type: string
                external_contact_id: string
                status: string
                number: string
                is_taxable?: boolean
                tax_rate_id?: string
                tax_rate?: number
                currency: string
                reference: string
                issuing_date: string | null
                fees: CreditNoteFee[]
            CreditNoteFee:
                item_id: string
                item_code: string
                description: string
                units: number
                precise_unit_amount: number
                account_code: string
                account_external_id: string
                amount_cents: number
                taxes_amount_cents: number
            FailedCreditNote:
                id: string
                type: string
                external_contact_id: string
                status: string
                number: string
                is_taxable?: boolean
                tax_rate_id?: string
                tax_rate?: number
                currency: string
                reference: string
                issuing_date: string | null
                fees: CreditNoteFee[]
                validation_errors: any[]
            CreditNoteActionResponse:
                succeededCreditNotes: CreditNote[]
                failedCreditNotes: FailedCreditNote[]
            TenantResponse:
                tenants: Tenant[]
            Tenant:
                id: string
                authEventId: string
                tenantId: string
                tenantType: string
                tenantName: string
                createdDateUtc: string
                updatedDateUtc: string
            GeneralLedger:
                id: string
                date: string | null
                number: number
                createdDate: string | null
                lines: LedgerLine[]
            LedgerLine:
                journalLineId: string
                accountId: string
                accountCode: string
                accountName: string
                description?: string | undefined
                netAmount: number
                grossAmount: number
                taxAmount: number
                taxType?: string | undefined
                taxName?: string | undefined
                trackingCategories: TrackingCategory[]
            TrackingCategory:
                name: string
                option: string
                trackingCategoryId: string
                trackingOptionId: string
                options: string[]
    zendesk:
        syncs:
            tickets:
                runs: every 1 hour
                description: |
                    Fetches a list of tickets from Zendesk
                output: Ticket
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /tickets
                    group: Tickets
                version: 1.0.1
                scopes:
                    - tickets:read
            articles:
                runs: every 6 hours
                description: |
                    Fetches a list of articles in Help center from Zendesk
                output: Article
                sync_type: full
                track_deletes: true
                endpoint:
                    method: GET
                    path: /articles
                version: 1.0.0
                scopes:
                    - hc:read
            categories:
                runs: every 6 hours
                description: |
                    Fetches a list of help center categories
                output: Category
                sync_type: full
                track_deletes: true
                endpoint:
                    method: GET
                    path: /categories
                    group: Categories
                scopes:
                    - hc:read
            sections:
                runs: every 6 hours
                description: |
                    Fetches a list of sections in Help center from Zendesk
                output: Section
                sync_type: full
                track_deletes: true
                endpoint:
                    method: GET
                    path: /sections
                    group: Sections
                scopes:
                    - hc:read
            users:
                runs: every 6 hours
                description: |
                    Fetches a list of admin or agent users from Zendesk
                output: User
                sync_type: full
                track_deletes: true
                endpoint:
                    method: GET
                    path: /users
                scopes:
                    - users:read
        actions:
            fetch-articles:
                output: ArticleResponse
                endpoint:
                    method: GET
                    path: /all-articles
                description: Fetch all help center articles metadata
                scopes:
                    - hc:read
            fetch-article:
                output: SingleArticleResponse
                endpoint:
                    method: GET
                    path: /single-article
                input: ArticleInput
                description: Fetch a single full help center article
                scopes:
                    - hc:read
            create-section:
                output: Section
                input: SectionCreate
                endpoint:
                    method: POST
                    path: /sections
                    group: Sections
                description: Create a section within a category in the help center
                scopes:
                    - hc:write
            create-category:
                output: Category
                endpoint:
                    method: POST
                    path: /categories
                    group: Categories
                input: CategoryCreate
                description: Create a category within the help center
                scopes:
                    - hc:write
            create-ticket:
                output: CreatedTicket
                endpoint:
                    method: POST
                    path: /tickets
                    group: Tickets
                input: TicketCreate
                version: 1.0.1
                description: Create a Zendesk ticket
                scopes:
                    - tickets:write
            delete-user:
                output: SuccessResponse
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                input: IdEntity
                description: Delete a user in Zendesk
                scopes:
                    - users:write
            create-user:
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: CreateUser
                description: >-
                    Create an admin or agent user in Zendesk. Defaults to agent if a role
                    is not provided
                scopes:
                    - users:write
            search-tickets:
                output: SearchTicketOutput
                endpoint:
                    method: GET
                    path: /search-tickets
                input: SearchTicketInput
                version: 1.0.1
                description: >
                    An action that performs a search for tickets in Zendesk based on the
                    specified filter. It can take up to a few minutes for new tickets and
                    users to be indexed for search. If new resources don't appear in your
                    search results, wait a few minutes and try again.
                scopes:
                    - read
        models:
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            CreateUser:
                firstName: string
                lastName: string
                email: string
                role?: admin | agent
            User:
                id: string
                firstName: string
                lastName: string
                email: string
            CategoryCreate:
                category:
                    name: string
                    description?: string
            Category:
                id: string
                url: string
                name: string
                description: string
            SectionCreate:
                category_id: number
                section:
                    name: string
                    description?: string
            Section:
                id: string
                url: string
                category_id: number
                name: string
                description: string
            ArticleResponse:
                articles: ArticleLite[]
            SingleArticleResponse:
                article: Article
            ArticleLite:
                title: string
                id: string
                url: string
            ArticleInput:
                id: string
            Article:
                title: string
                id: number
                url: string
                locale: string
                user_segment_id: number | null
                permission_group_id: number
                author_id: number
                body: string
                comments_disabled: boolean
                content_tag_ids: number[]
                created_at: string
                draft: boolean
                edited_at: string
                html_url: string
                label_names: string[]
                outdated: boolean
                outdated_locales: string[]
                position: number
                promoted: boolean
                section_id: number
                source_locale: string
                updated_at: string
                vote_count: number
                vote_sum: number
            TicketCreate:
                ticket:
                    comment:
                        body?: string
                        html_body?: string
                    assignee_email?: string
                    assignee_id?: number
                    brand_id?: number
                    due_at?: string
                    type?: problem | incident | question | task
                    status?: new | open | pending | hold | solved | closed.
                    metadata?:
                        __string: any
            CreatedTicket:
                id: string
                url: string
                created_at: string
                updated_at: string
                subject: string | null
                description: string
                priority: string | null
                status: string
            Ticket:
                url: string | null
                id: number
                external_id: string | null
                via: Via | null
                created_at: string | null
                updated_at: string | null
                generated_timestamp: number | null
                type: string | null
                subject: string | null
                raw_subject: string | null
                description: string | null
                priority: string | null
                status: string | null
                recipient: string | null
                requester_id: number | null
                submitter_id: number | null
                assignee_id: number | null
                organization_id: number | null
                group_id: number | null
                collaborator_ids: number[] | null
                follower_ids: number[] | null
                email_cc_ids: number[] | null
                forum_topic_id: string | null
                problem_id: string | null
                has_incidents: boolean | null
                is_public: boolean | null
                due_at: string | null
                tags: string[] | null
                custom_fields: CustomFields[] | null
                satisfaction_rating: object | null
                sharing_agreement_ids: number[] | null
                custom_status_id: number | null
                fields: CustomFields[] | null
                followup_ids: number[] | null
                ticket_form_id: number | null
                brand_id: number | null
                allow_channelback: boolean | null
                allow_attachments: boolean | null
                from_messaging_channel: boolean | null
            Via:
                channel: string
                source:
                    from: object
                    to: object
                    rel: string | null
            CustomFields:
                id: number
                value: string | null
            SearchTicketInput:
                query: string
            SearchTicketOutput:
                tickets: SearchTicket[]
            SearchTicket:
                id: string
                url: string
                external_id: string | null
                requester_id: string
                requester_name: string
                assignee_id: string | null
                assignee_name: string | null
                assignee_avatar: string | null
                status: string
                created_at: string
                updated_at: string
                is_public: boolean
                subject: string | null
                description: string
                priority: string | null
                tags: string[]
    zoho-crm:
        syncs:
            accounts:
                runs: every half hour
                auto_start: false
                description: |
                    Fetches a list of accounts from zoho crm
                output: ZohoCRMAccount
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /zoho-crm/accounts
                scopes:
                    - ZohoCRM.modules.accounts.READ
            contacts:
                runs: every half hour
                auto_start: false
                description: |
                    Fetches a list of contacts from zoho crm
                output: ZohoCRMContact
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /zoho-crm/contacts
                scopes:
                    - ZohoCRM.modules.contacts.READ
            deals:
                runs: every half hour
                auto_start: false
                description: |
                    Fetches a list of deals/opportunities from zoho crm
                output: ZohoCRMDeal
                sync_type: incremental
                endpoint:
                    method: GET
                    path: /zoho-crm/deals
                scopes:
                    - ZohoCRM.modules.deals.READ
        models:
            ZohoCRMAccount:
                Owner:
                    name: string
                    id: string
                    email: string
                $currency_symbol: string
                $field_states: string
                Account_Type: string
                SIC_Code: string
                Last_Activity_Time: date
                Industry: string
                Account_Site: string
                $state: string
                $process_flow: boolean
                Billing_Country: string
                $locked_for_me: boolean
                id: string
                $approved: boolean
                $approval:
                    delegate: boolean
                    approve: boolean
                    reject: boolean
                    resubmit: boolean
                Billing_Street: string
                Created_Time: date
                $editable: boolean
                Billing_Code: string
                Shipping_City: string
                Shipping_Country: string
                Shipping_Code: string
                Billing_City: string
                Created_By:
                    name: string
                    id: string
                    email: string
                $zia_owner_assignment: string
                Annual_Revenue: integer
                Shipping_Street: string
                Ownership: string
                Description: string
                Rating: integer
                Shipping_State: string
                $review_process:
                    approve: boolean
                    reject: boolean
                    resubmit: boolean
                Website: string
                Employees: integer
                Record_Image: string
                Modified_By:
                    name: string
                    id: string
                    email: string
                $review: string
                Phone: string
                Account_Name: string
                Account_Number: string
                Ticker_Symbol: string
                Modified_Time: date
                $orchestration: boolean
                Parent_Account:
                    name: string
                    id: string
                $in_merge: boolean
                Locked__s: boolean
                Billing_State: string
                Tag: any[]
                Fax: string
                $approval_state: string
            ZohoCRMContact:
                Owner:
                    name: string
                    id: string
                    email: string
                Email: string
                $currency_symbol: string
                $field_states: string
                Other_Phone: string
                Mailing_State: string
                Other_State: string
                Other_Country: string
                Last_Activity_Time: date
                Department: string
                $state: string
                Unsubscribed_Mode: string
                $process_flow: boolean
                Assistant: string
                Mailing_Country: string
                $locked_for_me: string
                id: string
                $approved: boolean
                Reporting_To:
                    name: string
                    id: string
                $approval:
                    delegate: boolean
                    approve: boolean
                    reject: boolean
                    resubmit: boolean
                Other_City: string
                Created_Time: date
                $editable: boolean
                Home_Phone: string
                Created_By:
                    name: string
                    id: string
                    email: string
                $zia_owner_assignment: string
                Secondary_Email: string
                Description: string
                Vendor_Name:
                    name: string
                    id: string
                Mailing_Zip: string
                $review_process:
                    approve: boolean
                    reject: boolean
                    resubmit: boolean
                Twitter: string
                Other_Zip: string
                Mailing_Street: string
                Salutation: string
                First_Name: string
                Full_Name: string
                Asst_Phone: string
                Record_Image: string
                Modified_By:
                    name: string
                    id: string
                    email: string
                $review: boolean
                Skype_ID: string
                Phone: string
                Account_Name:
                    name: string
                    id: string
                Email_Opt_Out: boolean
                Modified_Time: date
                Date_of_Birth: date
                Mailing_City: string
                Unsubscribed_Time: date
                Title: string
                Other_Street: string
                Mobile: string
                $orchestration: boolean
                Last_Name: string
                $in_merge: boolean
                Locked__s: boolean
                Lead_Source: string
                Tag: any[]
                Fax: string
                $approval_state: string
            ZohoCRMDeal:
                Owner:
                    name: string
                    id: string
                    email: string
                Description: string
                $currency_symbol: string
                Campaign_Source:
                    name: string
                    id: string
                $field_states: string
                $review_process:
                    approve: boolean
                    reject: boolean
                    resubmit: boolean
                Closing_Date: date
                Reason_For_Loss__s: string
                Last_Activity_Time: date
                Modified_By:
                    name: string
                    id: string
                    email: string
                $review: string
                Lead_Conversion_Time: date
                $state: string
                $process_flow: boolean
                Deal_Name: string
                Expected_Revenue: integer
                Overall_Sales_Duration: integer
                Stage: string
                $locked_for_me: boolean
                Account_Name:
                    name: string
                    id: string
                id: string
                $approved: boolean
                $approval:
                    delegate: boolean
                    approve: boolean
                    reject: boolean
                    resubmit: boolean
                Modified_Time: date
                Created_Time: date
                Amount: integer
                Next_Step: string
                Probability: integer
                $editable: boolean
                $orchestration: boolean
                Contact_Name:
                    name: string
                    id: string
                Sales_Cycle_Duration: integer
                Type: string
                $in_merge: boolean
                Locked__s: boolean
                Lead_Source: string
                Created_By:
                    name: string
                    id: string
                    email: string
                Tag: any[]
                $zia_owner_assignment: string
                $approval_state: string
    zoho-mail:
        syncs:
            tasks:
                runs: every 6 hours
                description: |
                    Fetches a list of all your personal tasks in Zoho mail
                output: ZohoMailTask
                sync_type: full
                endpoint:
                    method: GET
                    path: /zoho-mail/tasks
                scopes:
                    - ZohoMail.tasks.READ
            emails:
                runs: every 6 hours
                description: |
                    Fetches a list of all your account's emails in Zoho mail
                output: ZohoMailEmail
                sync_type: full
                endpoint:
                    method: GET
                    path: /zoho-mail/emails
                scopes:
                    - ZohoMail.messages.READ
        actions:
            send-email:
                description: |
                    An action to send an email in zoho mail
                output: ZohoMailSendEmailOutput
                input: ZohoMailSendEmailInput
                endpoint:
                    method: POST
                    path: /zoho-mail/send-email
                scopes:
                    - ZohoMail.messages.CREATE
            add-user:
                description: |
                    An action to add a user to the organization in zoho mail
                output: ZohoMailAddUserOutput
                input: ZohoMailAddUserInput
                endpoint:
                    method: POST
                    path: /zoho-mail/add-user
                scopes:
                    - ZohoMail.organization.accounts.CREATE
        models:
            ZohoMailTask:
                id: string
                serviceType: number
                modifiedTime: date
                resourceId: string
                attachments: any[]
                statusStr: string
                statusValue: number
                description: string
                project:
                    name: string
                    id: string
                isTaskPublished: boolean
                title: string
                createdAt: date
                portalId: number
                serviceId: string
                owner:
                    name: string
                    id: number
                assigneeList: string[]
                dependency: any[]
                subtasks: any[]
                priority: string
                tags: string[]
                followers: string[]
                namespaceId: string
                dependents: string[]
                assignee:
                    name: string
                    id: number
                serviceUniqId: number
                depUniqId: string
                status: string
            ZohoMailEmail:
                id: string
                summary: string
                sentDateInGMT: string
                calendarType: number
                subject: string
                messageId: string
                flagid: string
                status2: string
                priority: string
                hasInline: string
                toAddress: string
                folderId: string
                ccAddress: string
                hasAttachment: string
                size: string
                sender: string
                receivedTime: string
                fromAddress: string
                status: string
            ZohoMailSendEmailInput:
                accountId: string
                fromAddress: string
                toAddress: string
                ccAddress: string
                bccAddress: string
                subject: string
                encoding: string
                mailFormat: string
                askReceipt: string
            ZohoMailSendEmailOutput:
                status: object
                data: object
            ZohoMailAddUserInput:
                zoid: number
                primaryEmailAddress: string
                password: string
                displayName: string
                role: string
                country: string
                language: string
                timeZone: string
                oneTimePassword: boolean
                groupMailList: string[]
            ZohoMailAddUserOutput:
                status: object
                data: object
    zoom:
        actions:
            create-user:
                description: Creates a user in Zoom. Requires Pro account or higher
                output: User
                endpoint:
                    method: POST
                    path: /users
                    group: Users
                input: ZoomCreateUser
                scopes:
                    - user:write
                    - user:write:admin
            whoami:
                description: Fetch current user information
                output: UserInformation
                endpoint:
                    method: GET
                    path: /whoami
                    group: Users
                scopes:
                    - user:read:user
            delete-user:
                description: Deletes a user in Zoom. Requires Pro account or higher
                endpoint:
                    method: DELETE
                    path: /users
                    group: Users
                output: SuccessResponse
                input: IdEntity
                scopes:
                    - user:write
                    - user:write:admin
            create-meeting:
                description: Creates a meeting in Zoom.
                endpoint:
                    method: POST
                    path: /meetings
                    group: Meetings
                output: Meeting
                input: CreateMeeting
                scopes:
                    - meeting:write
            delete-meeting:
                description: Deletes a meeting in Zoom
                endpoint:
                    method: DELETE
                    path: /meetings
                    group: Meetings
                output: SuccessResponse
                input: IdEntity
                scopes:
                    - meeting:write
        syncs:
            users:
                runs: every day
                description: |
                    Fetches a list of users from Zoom
                output: User
                track_deletes: true
                sync_type: full
                endpoint:
                    method: GET
                    path: /users
                    group: Users
                scopes:
                    - user:read
                    - user:read:admin
            meetings:
                runs: every day
                description: |
                    Fetches a list of meetings from Zoom
                output: Meeting
                track_deletes: true
                sync_type: full
                endpoint:
                    method: GET
                    path: /meetings
                    group: Meetings
                scopes:
                    - meeting:read
            recording-files:
                runs: every day
                description: |
                    Fetches a list of recordings from Zoom
                output: RecordingFile
                track_deletes: true
                input: OptionalBackfillSetting
                sync_type: full
                endpoint:
                    method: GET
                    path: /recording-files
                    group: Cloud Recordings
                scopes:
                    - cloud_recording:read:list_user_recordings
                    - cloud_recording:read:list_recording_files
        models:
            OptionalBackfillSetting:
                backfillPeriodDays: number
            IdEntity:
                id: string
            SuccessResponse:
                success: boolean
            ActionResponseError:
                message: string
            CreateUser:
                firstName: string
                lastName: string
                email: string
            ZoomCreateUser:
                firstName: string
                lastName: string
                email: string
                action?: create | autoCreate | custCreate | ssoCreate
                display_name?: string
                type?: basic | licensed | UnassignedWithoutMeetingsBasic | None
            User:
                id: string
                firstName: string
                lastName: string
                email: string
            UserInformation:
                id: string
                email: string
            Meeting:
                id: string
                topic: string
                startTime: string
                duration: number
                timezone: string
                joinUrl: string
                createdAt: string
            CreateMeeting:
                topic: string
                type: instant | scheduled | recurringNoFixed | recurring | screenShareOnly
                agenda?: string
                default_password?: boolean
                duration?: number
                password?: string
                pre_schedule?: boolean
                recurrence?:
                    end_date_time?: string
                    end_times?: number
                    monthly_day?: number
                    monthly_week?: number
                    monthly_week_day?: number
                    repeat_interval?: number
                    type?: daily | weekly | monthly
                    weekly_days?: sunday | monday | tuesday | wednesday | thursday | friday | saturday
                settings?:
                    host_video?: boolean
                    participant_video?: boolean
                    join_before_host?: boolean
                    mute_upon_entry?: boolean
                    approval_type?: automatic | manually | notRequired
                    registration_type?: >-
                        registerOnceAttendAny | registerEveryTime |
                        registerOnceSelectOccurrences
                    audio?: both | telephony | voip | thirdParty
                    auto_recording?: local | cloud | none
                    waiting_room: boolean
                schedule_for?: string
                start_time?: string
                template_id?: string
                timezone?: string
            RecordingFile:
                id: string
                deletedTime?: string
                downloadUrl: string
                filePath?: string
                fileSize: number
                fileType: >-
                    MP4 | M4A | CHAT | TRANSCRIPT | CSV | TB | CC | CHAT_MESSAGE | SUMMARY
                    | TIMELINE
                fileExtension: MP4 | M4A | TXT | VTT | CSV | JSON | JPG
                meetingId: string
                playUrl?: string
                recordingEnd: string
                recordingStart: string
                recordingType: >-
                    shared_screen_with_speaker_view(CC) | shared_screen_with_speaker_view
                    | shared_screen_with_gallery_view | active_speaker | gallery_view |
                    shared_screen | audio_only | audio_transcript | chat_file | poll |
                    host_video | closed_caption | timeline | thumbnail |
                    audio_interpretation | summary | summary_next_steps |
                    summary_smart_chapters | sign_interpretation | production_studio
                status: completed
                autoDelete?: boolean
                autoDeleteDate?: string
                playPasscode: string
