Airtable TRIGGER
New or Modified Records in View
- Trigger
- Polling
- OAuth
- Webhook delivery
IMPLEMENTATION
Deploy this event source
Connect the user's Airtable account, configure the source, and choose the webhook where your backend receives events.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const deployed = await pd.triggers.deploy({
id: "airtable_oauth-new-or-modified-records-in-view",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
airtable_oauth: { authProvisionId: "apn_xxxxxxx" },
timer: { "intervalSeconds": 900 },
baseId: "Base",
},
webhookUrl: "https://example.com/webhooks/airtable-oauth",
})
console.log(deployed.id)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/triggers/deploy \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "airtable_oauth-new-or-modified-records-in-view",
"webhook_url": "https://example.com/webhooks/airtable-oauth",
"configured_props": {
"airtable_oauth": { "authProvisionId": "apn_xxxxxxx" },
"timer": { "intervalSeconds": 900 },
"baseId": "Base"
}
}'MCP servers expose Airtable actions as on-demand tools.
New or Modified Records in View is an event source, so your application deploys it
with the Connect SDK or API and then either receives each event at a
webhook URL or retrieves events on demand with the trigger events API.MCP exposes on-demand actions. Event sources are deployed through the Connect SDK or API because they continue listening after the initial request.
SCHEMA
Configuration
These inputs define which events the source watches. Dynamic options are loaded from the connected account.
| Property | Type | Description |
|---|---|---|
timer Timer | $.interface.timer | Required |
baseId Base | string | The ID of the base to use, e.g. appXXXXXXXXXXXXXX. Use List Bases to look one up. Required |
filterByFormula Filter by Formula | string | Optionally provide a formula (see info on the documentation) used to filter records. The formula will be evaluated for each record, and if the result is not 0, false, "", NaN, [], or #Error! the record will be included in the response. For example, to only include records where Name isn't empty, use NOT({Name} = ''). Optional |
tableId Table | string | The table ID to watch for changes. Required |
viewId View | string | The view ID to watch for changes. Required |
returnFieldsByFieldId Return Fields By ID | boolean | If set to true, the returned field objects will have the field ID as the key, instead of the field name. Optional |
LIFECYCLE
Event delivery
01
Connect
Your user authorizes Airtable through Pipedream managed auth.
02
Deploy
Your backend deploys this source with that user's own configuration.
03
Webhook delivery
Every event is sent to the HTTP endpoint you choose when you deploy the source — after each poll.
OR
On-demand retrieval
No webhook required. Your app or agent can fetch recent events from the trigger events API.
REFERENCE
Trigger details
- Registry key
- airtable_oauth-new-or-modified-records-in-view
- Version
- 0.0.16
- App
- Airtable
- Authentication
- OAuth
- Delivery
- Polling source
- Output
- Events emitted by Airtable.
- Source
- View on GitHub ↗