1.3.0 • Published 10 months ago

airtable-webhook-types v1.3.0

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

Airtable Webhook Types

TypeScript and Zod type definitions for Airtable webhooks

About

The goal of this library is to provide all types used by Airtable webhooks, as detailed in the Airtable developer docs.

Relevant Airtable Docs

Installation

If want to use the Zod schemas and the TypeScript types

npm install airtable-webhook-types

If you only want to use the TypeScript types

npm install --save-dev airtable-webhook-types

Example Usage

Using Zod schemas

import { listWebhookPayloadsResponseSchema } from 'airtable-webhook-types'

const response = await fetch(`https://api.airtable.com/v0/bases/${params.baseId}/webhooks`, {
  method: 'GET',
  headers: {
    'Authorization': `Bearer ${process.env.AIRTABLE_API_KEY}`,
    'Content-Type': 'application/json',
  },
})

// responseData will have type ListWebhookPayloadsResponse
const responseData = listWebhookPayloadsResponseSchema.parse(await response.json())

Using TypeScript types

import { CreateWebhookRequestBody, CreateWebhookPathParams, CreateWebhookResponse } from 'airtable-webhook-types'

const params: CreateWebhookPathParams = {
  baseId: 'abc123'
}

const body: CreateWebhookRequestBody = {
  notificationUrl: 'https://example.com',
  specification: {
    options: {
      filters: {
        dataTypes: ['tableData']
      },
      includes: {
        includeCellValuesInFieldIds: 'all',
        includePreviousCellValues: true,
      }
    }
  }
}

const response = await fetch(`https://api.airtable.com/v0/bases/${params.baseId}/webhooks`, {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.AIRTABLE_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(body),
})

const responseData: CreateWebhookResponse = await response.json()

Contributing

Create feature requests and bug reports by opening an issue.

Vote on issues by reacting with a thumbs up to the issues that affect you. Reaction counts are used to prioritize tasks.

Pull requests are welcome!

1.3.0

10 months ago

1.2.1

10 months ago

1.2.0

10 months ago

1.1.0

10 months ago

1.0.0

10 months ago

0.0.8

10 months ago

0.0.7

10 months ago

0.0.6

10 months ago

0.0.5

10 months ago

0.0.4

10 months ago

0.0.3

10 months ago

0.0.2

10 months ago

0.0.1

10 months ago