Contentful Connector
Description
Contentful is a content management system (CMS) that allows developers to manage and deliver content across multiple platforms and devices.
The Contentful component allows managing spaces, environments, content types, entries, assets, organizations, webhooks, and bulk actions.
API Documentation
This component was built using the Contentful Content Management API Reference.
Connections
OAuth 2.0
key: contentfulOauth2ConnectionTo connect to Contentful, create a new OAuth application.
Prerequisites
- A Contentful account with developer access
Setup Steps
- Navigate to the Developer Account Settings for OAuth applications
- Click Create New Application
- Enter the Redirect URI as
https://oauth2.prismatic.io/callback - Select Confidential for the client type
- Select a single scope (e.g., Content management manage). The manage scope includes read access.
- Save the application
- Copy the Client ID and Client Secret
Available Scopes
| Scope | Description |
|---|---|
content_management_manage | Manage and read content in all Spaces |
content_management_read | Read content in all Spaces |
Configure the Connection
Create a connection of type OAuth 2.0 and enter:
- Client ID: Enter the Client ID from the OAuth application
- Client Secret: Enter the Client Secret from the OAuth application
- Scopes: Select the scope chosen for the OAuth application: Content Management Manage (the default) or Content Management Read
| Input | Notes | Example |
|---|---|---|
| Authorize URL | The OAuth 2.0 Authorization URL for Contentful authentication. | https://be.contentful.com/oauth/authorize |
| Client ID | The Client ID of your Contentful OAuth 2.0 application, shown under your account profile's Developers > Applications page. See Creating an OAuth 2.0 application. | |
| Client Secret | The Client Secret of your Contentful OAuth 2.0 application, shown under your account profile's Developers > Applications page. See Creating an OAuth 2.0 application. | |
| Scopes | A single OAuth 2.0 scope. Contentful accepts one scope per authorization. The manage scope includes read access. | content_management_manage |
| Token URL | The OAuth 2.0 Token URL for Contentful token exchange. | https://be.contentful.com/oauth/token |
Triggers
Event Subscription
Receive event notifications from Contentful. Automatically creates and manages a webhook subscription for selected topics when the instance is deployed, and removes the subscription when the instance is deleted. | key: eventsTrigger
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Webhook Signing Secret | The space's webhook signing secret, set in Contentful under Settings, Webhooks, Settings with request verification enabled. When provided, each request's signature is verified and unsigned, altered, or expired requests are rejected. Leave empty to skip verification. | |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
| Events | The event types to subscribe to for this webhook. | Entry.create |
The Event Subscription trigger receives event notifications from Contentful. It automatically creates and manages a webhook subscription for the selected topics when an instance is deployed, and removes the subscription when the instance is deleted.
How It Works
When this trigger is used in a flow:
- On Instance Deploy: The trigger looks for a webhook in the selected space whose URL is the flow's unique webhook URL. If one exists, its topics are updated in place to match the Events input; otherwise a new webhook is created. Any other webhooks pointing at the same URL are removed, so the flow is not invoked twice for one event. If the Space ID changed since the previous deployment, the webhook in the previously configured space is removed.
- On Instance Deletion: The trigger removes the webhook from the configured space, and from the previously configured space if the Space ID changed.
The trigger fires each time Contentful sends a matching event notification to the webhook endpoint.
Request Verification
The optional Webhook Signing Secret input verifies that each request was sent by Contentful. To get the secret, in Contentful go to Settings > Webhooks > Settings and enable request verification. Contentful issues one 64-character secret per space, shared by every webhook in that space. See Contentful webhook request verification.
Verification runs only when the secret is set. The trigger then rejects any request whose signature is missing or does not match, or whose signature is more than 30 seconds old. Test executions skip verification, because they carry no signature.
Verification assumes the request was sent with POST and signs the request path as the trigger received it. A webhook configured with a custom HTTP method, or a proxy that rewrites the URL between Contentful and the flow, fails verification. To recover, clear the Webhook Signing Secret input.
Configuration
- Connection: The Contentful OAuth 2.0 connection to use for authentication.
- Space ID: The unique identifier of the Contentful space to subscribe to.
- Events: The event types to subscribe to (e.g.,
Entry.publish,Asset.create). - Webhook Signing Secret: Optional. The space's webhook signing secret. See Request Verification.
Event Types
Available Events (54)
| Event | Description |
|---|---|
ContentType.create | A content type is created |
ContentType.save | A content type is saved |
ContentType.publish | A content type is published |
ContentType.unpublish | A content type is unpublished |
ContentType.delete | A content type is deleted |
ContentType.* | All content type events |
Entry.create | An entry is created |
Entry.save | An entry is saved |
Entry.auto_save | An entry is auto-saved |
Entry.archive | An entry is archived |
Entry.unarchive | An entry is unarchived |
Entry.publish | An entry is published |
Entry.unpublish | An entry is unpublished |
Entry.delete | An entry is deleted |
Entry.* | All entry events |
Asset.create | An asset is created |
Asset.save | An asset is saved |
Asset.auto_save | An asset is auto-saved |
Asset.archive | An asset is archived |
Asset.unarchive | An asset is unarchived |
Asset.publish | An asset is published |
Asset.unpublish | An asset is unpublished |
Asset.delete | An asset is deleted |
Asset.* | All asset events |
Task.create | A task is created |
Task.save | A task is saved |
Task.delete | A task is deleted |
Task.* | All task events |
Comment.create | A comment is created |
Comment.delete | A comment is deleted |
Comment.* | All comment events |
Release.create | A release is created |
Release.save | A release is saved |
Release.archive | A release is archived |
Release.unarchive | A release is unarchived |
Release.delete | A release is deleted |
Release.* | All release events |
Workflow.create | A workflow is created |
Workflow.save | A workflow is saved |
Workflow.complete | A workflow is completed |
Workflow.* | All workflow events |
TemplateInstallation.complete | A template installation is completed |
TemplateInstallation.* | All template installation events |
BulkAction.create | A bulk action is created |
BulkAction.execute | A bulk action is executed |
BulkAction.* | All bulk action events |
ReleaseAction.create | A release action is created |
ReleaseAction.execute | A release action is executed |
ReleaseAction.* | All release action events |
ScheduledAction.create | A scheduled action is created |
ScheduledAction.execute | A scheduled action is executed |
ScheduledAction.save | A scheduled action is saved |
ScheduledAction.delete | A scheduled action is deleted |
ScheduledAction.* | All scheduled action events |
Refer to the Contentful webhook configuration documentation for the complete and up-to-date list of available events.
Returned Data
Example Payload
{
"sys": {
"type": "Entry",
"id": "exampleEntryId",
"space": {
"sys": {
"type": "Link",
"linkType": "Space",
"id": "exampleSpaceId"
}
},
"environment": {
"sys": {
"type": "Link",
"linkType": "Environment",
"id": "master"
}
},
"contentType": {
"sys": {
"type": "Link",
"linkType": "ContentType",
"id": "blogPost"
}
},
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:30:00.000Z",
"publishedAt": "2024-01-15T10:30:00.000Z",
"revision": 1
},
"fields": {
"title": {
"en-US": "Hello, World!"
},
"body": {
"en-US": "Example content body."
}
}
}
Example Payload for Event Subscription⤓
New and Updated Entries
Retrieves existing and ongoing entries for a specified Contentful environment. Load history once, check for changes on a schedule, or both. | key: pollChangesTrigger
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Content Type ID | Restrict polling to a single content type. Leave blank to poll all entries in the environment. | 2PqfXUJwE8qSYKuM0U6w8M |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Look-back Date | The date the initial sync starts from, in YYYY-MM-DD format. Cannot be a future date. Leave empty to start from the first recurrence with no backfill. When set, the initial sync seeds each record modified on or after this date once, ignoring the Show New Entries and Show Updated Entries toggles; the Content Type ID filter still applies. | 2026-01-01 |
| Show New Entries | When true, entries whose | true |
| Show Updated Entries | When true, entries whose | true |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Retrieves existing and ongoing entries for a specified Contentful environment. Load history once, check for changes on a schedule, or both. Each recurrence queries the Content Management API for entries whose sys.updatedAt is at or after the trigger's stored position, then sorts them into newly created and modified entries. Use this trigger to drive a flow whenever content changes in Contentful without configuring a webhook in the vendor dashboard.
Both new and updated entries are reported by default. Each category can be disabled independently through the trigger inputs, so a flow can react to only new entries, only modified entries, or both.
How It Works
- The trigger runs on the configured schedule (for example, every five minutes).
- It queries the selected Contentful space and environment for entries whose
sys.updatedAtis at or after the stored position, oldest first, ordered bysys.updatedAtand thensys.id. An optional Content Type ID filter narrows the query to a single content type. - Each returned entry is sorted by comparing its
sys.createdAtto the stored position:- Entries created after the previous poll are reported as created.
- Entries that already existed but were modified since the previous poll are reported as updated.
- The Show New Entries and Show Updated Entries inputs control which categories are included. A category that is turned off is omitted from the results.
- Entries are fetched in pages of 100. Each page is anchored on the last
sys.updatedAtseen rather than on a page offset, so an entry edited mid-recurrence is fetched again rather than skipped. An entry fetched twice is reported once, de-duplicated by entry ID. - A recurrence stops after 50 pages (5,000 entries), or 5 pages (500 entries) when batching is enabled. A recurrence that finishes stores its start time as the trigger's position. A recurrence that stops at the page cap stores the newest
sys.updatedAtit delivered, and the next recurrence resumes from there. If a full page cap of entries shares onesys.updatedAt, the position cannot advance, the next recurrence fetches the same entries again, and a warning is logged. - When no entries match, the trigger reports that the recurrence produced no changes and the flow does not continue.
Initial Sync
An initial sync seeds a complete starting state rather than a change feed, so the inputs that narrow which changes are reported would leave gaps in it: Show New Entries and Show Updated Entries are ignored while it runs. It begins on the first recurrence, when the trigger has no stored position and a Look-back Date (YYYY-MM-DD, not a future date) is set, and seeds each entry modified on or after that date once. Left empty, there is no sync and the trigger starts from its first recurrence.
The window has no fixed upper bound, so an entry modified mid-drain is swept into the sync. A sync that stops at the page cap continues from the newest entry it delivered on the next recurrence, and keeps ignoring the toggles until it finishes. The page cap applies with batching on or off, so a large history spans several recurrences either way, and more of them with batching on. Nothing in the payload marks the handoff to change tracking.
Content Type ID still applies throughout, so a sync seeds only that content type.
Batching
Batching is enabled per flow on this trigger: each changed record is dispatched as its own execution, or grouped by the configured batch size. Batch size and batch concurrency can both be overridden per instance. Raising concurrency increases the request volume sent to Contentful.
To turn it on, select the flow's trigger, open the Flow control tab, and switch on Enable Batching. Under Batch Size, keep Trigger default or choose Custom batch size. Batch Concurrency is optional; leave it blank for no batch-level limit.
Batching is off by default, and a downstream step reads body.data.created and body.data.updated. With batching on those fields do not exist: each execution receives one { "changeType": "created" | "updated", "record": {...} } item, or an array of them when the batch size is greater than 1. Any step reading the older shape must be updated before batching is enabled. Because batching is enabled per flow, the change is scoped to that flow rather than to the component or to other flows using the same trigger. Both shapes are shown under Returned Data.
Returned Data
Fields shown are representative. The full response object includes additional properties. With batching off, the trigger returns an object under body.data with two arrays: created holds entries created since the previous recurrence, and updated holds entries that existed earlier but were modified. Each entry follows the Contentful entry shape, with a sys metadata block and a localized fields block.
Example Returned Data
{
"data": {
"created": [
{
"sys": {
"id": "5KsDBWseXY6QegucYAoacS",
"type": "Entry",
"version": 1,
"createdAt": "2026-05-26T14:30:00.000Z",
"updatedAt": "2026-05-26T14:30:00.000Z",
"contentType": {
"sys": {
"type": "Link",
"linkType": "ContentType",
"id": "blogPost"
}
}
},
"fields": {
"title": { "en-US": "Launch announcement" },
"body": { "en-US": "We are live!" }
}
}
],
"updated": [
{
"sys": {
"id": "2cOd0Aho4dInhwh5cgY9rj",
"type": "Entry",
"version": 7,
"createdAt": "2026-04-12T09:00:00.000Z",
"updatedAt": "2026-05-26T15:45:00.000Z",
"contentType": {
"sys": {
"type": "Link",
"linkType": "ContentType",
"id": "blogPost"
}
}
},
"fields": {
"title": { "en-US": "Pricing update (revised)" },
"body": { "en-US": "New tiers effective June 1." }
}
}
]
}
}
With batching on, each execution receives one entry tagged with how it changed, or an array of such items when the batch size is greater than 1. The created and updated arrays are not part of this shape.
Batched Item
{
"changeType": "created",
"record": {
"sys": {
"id": "5KsDBWseXY6QegucYAoacS",
"type": "Entry",
"version": 1,
"createdAt": "2026-05-26T14:30:00.000Z",
"updatedAt": "2026-05-26T14:30:00.000Z",
"contentType": {
"sys": { "type": "Link", "linkType": "ContentType", "id": "blogPost" }
}
},
"fields": {
"title": { "en-US": "Launch announcement" },
"body": { "en-US": "We are live!" }
}
}
}
Notes
- Contentful enforces a default rate limit of 7 requests per second on the Content Management API. Avoid very frequent polling schedules to stay within that limit.
- When a recurrence reaches the page cap, a truncation warning is logged and the remaining changes are picked up on the next recurrence, starting from the newest entry delivered. Entries sharing that entry's
sys.updatedAtmay be delivered again. - An entry that is both created and modified within the same polling window is reported once, in the
createdarray.
Example Payload for New and Updated Entries⤓
Webhook
Receive and validate webhook requests from Contentful for manually configured webhook subscriptions. | key: webhook
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Webhook Signing Secret | The space's webhook signing secret, set in Contentful under Settings, Webhooks, Settings with request verification enabled. When provided, each request's signature is verified and unsigned, altered, or expired requests are rejected. Leave empty to skip verification. |
The Webhook trigger receives requests from a webhook created manually in Contentful. Unlike the Event Subscription trigger, it does not create or remove webhooks in Contentful.
How It Works
- Deploy the instance and copy the flow's webhook URL.
- In Contentful, go to Settings > Webhooks and create a webhook whose URL is the flow's webhook URL.
- Select the topics the webhook sends, and save it. See Contentful webhook configuration.
Each request Contentful sends to that URL starts a flow execution. The trigger returns the request as received.
Request Verification
The optional Webhook Signing Secret input verifies that each request was sent by Contentful. To get the secret, in Contentful go to Settings > Webhooks > Settings and enable request verification. Contentful issues one 64-character secret per space, shared by every webhook in that space. See Contentful webhook request verification.
Verification runs only when the secret is set. The trigger then rejects any request whose signature is missing or does not match, or whose signature is more than 30 seconds old. Test executions skip verification, because they carry no signature.
Verification assumes the request was sent with POST and signs the request path as the trigger received it. A webhook configured with a custom HTTP method, or a proxy that rewrites the URL between Contentful and the flow, fails verification. To recover, clear the Webhook Signing Secret input.
Event Types
The topics are selected on the webhook in Contentful, for example Entry.publish, Asset.delete, or ContentType.*. The Event Subscription trigger documentation lists the available topics.
Each delivery carries headers that identify the event (see Contentful webhook headers):
X-Contentful-Topic: the event, in the formContentManagement.<Type>.<action>(for example,ContentManagement.Entry.publish)X-Contentful-Webhook-Name: the name given to the webhook in ContentfulContent-Type:application/vnd.contentful.management.v1+json
The request body is the entity that changed. Entry and asset delete and unpublish events deliver a tombstone instead: only the sys block, with a sys.type of DeletedEntry or DeletedAsset.
Returned Data
Fields shown are representative. The full response object includes additional properties.
Example Payload
{
"headers": {
"Content-Type": "application/vnd.contentful.management.v1+json",
"X-Contentful-Topic": "ContentManagement.Entry.publish",
"X-Contentful-Webhook-Name": "Entry Publish Notifications"
},
"body": {
"data": {
"fields": {
"title": { "en-US": "Hello, World!" },
"body": { "en-US": "Bacon is healthy!" }
},
"metadata": {
"tags": [
{ "sys": { "type": "Link", "linkType": "Tag", "id": "nyCampaign" } }
]
},
"sys": {
"id": "5KsDBWseXY6QegucYAoacS",
"type": "Entry",
"contentType": {
"sys": {
"type": "Link",
"linkType": "ContentType",
"id": "hfM9RCJIk0wIm06WkEOQY"
}
},
"version": 1,
"space": {
"sys": { "type": "Link", "linkType": "Space", "id": "yadj1kx9rmg0" }
},
"environment": {
"sys": { "type": "Link", "linkType": "Environment", "id": "staging" }
},
"createdAt": "2015-05-18T11:29:46.809Z",
"createdBy": {
"sys": {
"type": "Link",
"linkType": "User",
"id": "7BslKh9TdKGOK41VmLDjFZ"
}
},
"updatedAt": "2015-05-18T11:29:46.809Z",
"updatedBy": {
"sys": {
"type": "Link",
"linkType": "User",
"id": "4FLrUHftHW3v2BLi9fzfjU"
}
}
}
},
"contentType": "application/vnd.contentful.management.v1+json"
}
}
Example Payload for Webhook⤓
Data Sources
Select Asset
Select an asset from a dropdown menu. | key: selectAsset | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Select Asset⤓
Select Content Type
Select a content type from a dropdown menu. | key: selectContentType | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Data Source Return | The field to return from the data source selection (name or ID). | id |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Select Content Type⤓
Select Entry
Select an entry from a dropdown menu. | key: selectEntry | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Select Entry⤓
Select Environment
Select an environment from a dropdown menu. | key: selectEnvironment | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Data Source Return | The field to return from the data source selection (name or ID). | id |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Select Environment⤓
Select Organization
Select an organization from a dropdown menu. | key: selectOrganization | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Data Source Return | The field to return from the data source selection (name or ID). | id |
Example Payload for Select Organization⤓
Select Space
Select a space from a dropdown menu. | key: selectSpace | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Data Source Return | The field to return from the data source selection (name or ID). | id |
Example Payload for Select Space⤓
Select Webhook
Select a webhook from a dropdown menu. | key: selectWebhook | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Select Webhook⤓
Actions
Archive Entry
Archives an existing entry. | key: archiveEntry
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Entry ID | The unique identifier for the entry. | 5KsDBWseXY6QegucYAoacS |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Archive Entry⤓
Create Asset
Creates a new asset. | key: createAsset
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Description | The description of the asset as a JSON object with locale keys. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| File | The file metadata for the asset as a JSON object with locale keys and upload details. | |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
| Title | The title of the asset as a JSON object with locale keys. |
Example Payload for Create Asset⤓
Create Content Type
Creates a new content type. | key: createContentType
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Description | A brief explanation of what this content type is used for in the content model. | A blog post |
| Display Field | The field used as the main display field for entries of this content type. | title |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Content Type Fields | The field definitions for the content type as a JSON array of field objects. | |
| Content Type Name | The display name for the content type. | Blog Post |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Create Content Type⤓
Create Entry
Creates a new entry in a space. | key: createEntry
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Content Type ID | The unique identifier for the content type. | 2PqfXUJwE8qSYKuM0U6w8M |
| Entry Data | The entry data as a JSON object containing fields and their values. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Create Entry⤓
Create Environment
Creates a new environment. | key: createEnvironment
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Environment Name | The display name for the environment. | Staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Create Environment⤓
Create Space
Creates a new space. | key: createSpace
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Default Locale | The locale code (such as en-US) to set as the space's default locale. | en |
| Space Name | The display name for the space. | My Space |
| Organization ID | The unique identifier for the organization. | 1Qz7ThNuABCytfP4oqkF12 |
Example Payload for Create Space⤓
Create Webhook
Creates a new webhook. | key: createWebhook
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Name | A descriptive label to identify the webhook in the Contentful dashboard. | Example Webhook |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
| Events | The event types to subscribe to for this webhook. | Entry.create |
| URL | The URL where webhook events will be sent. | https://example.com/webhook |
Example Payload for Create Webhook⤓
Delete Asset
Deletes an existing asset. | key: deleteAsset
| Input | Notes | Example |
|---|---|---|
| Asset ID | The unique identifier for the asset. | wtrHxeu3zEoEce2MokCSi |
| Connection | The Contentful connection to use. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Delete Asset⤓
Delete Entry
Deletes an existing entry. | key: deleteEntry
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Entry ID | The unique identifier for the entry. | 5KsDBWseXY6QegucYAoacS |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Delete Entry⤓
Delete Environment
Deletes an existing environment. | key: deleteEnvironment
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Delete Environment⤓
Delete Instanced Webhooks
Deletes all webhooks that point to a flow in the current instance. | key: deleteInstancedWebhooks
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Delete Instanced Webhooks⤓
Delete Space
Deletes an existing space. | key: deleteSpace
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Delete Space⤓
Delete Upload
Deletes a file from temporary data storage. | key: deleteUpload
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
| Upload ID | The unique identifier for the upload. | 2DNvIbYNELgqLJUkgTeIOV |
Example Payload for Delete Upload⤓
Delete Webhook
Deletes an existing webhook. | key: deleteWebhook
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
| Webhook ID | The unique identifier for the webhook. | 5KsDBWseXY6QegucYAoacS |
Example Payload for Delete Webhook⤓
Get Asset
Retrieves a single asset by ID. | key: getAsset
| Input | Notes | Example |
|---|---|---|
| Asset ID | The unique identifier for the asset. | wtrHxeu3zEoEce2MokCSi |
| Connection | The Contentful connection to use. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Get Asset⤓
Get Bulk Action
Retrieves a bulk action by ID. | key: getBulkAction
| Input | Notes | Example |
|---|---|---|
| Bulk Action ID | The unique identifier for the bulk action. | 5KsDBWseXY6QegucYAoacS |
| Connection | The Contentful connection to use. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Get Bulk Action⤓
Get Entry
Retrieves a single entry by ID. | key: getEntry
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Entry ID | The unique identifier for the entry. | 5KsDBWseXY6QegucYAoacS |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Get Entry⤓
Get Environment
Retrieves a single environment by ID. | key: getEnvironment
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Get Environment⤓
Get Organization
Retrieves an organization by ID. | key: getOrganization
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Organization ID | The unique identifier for the organization. | 1Qz7ThNuABCytfP4oqkF12 |
Example Payload for Get Organization⤓
Get Space
Retrieves a single space by ID. | key: getSpace
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Get Space⤓
Get Upload
Retrieves an unmodified image. | key: getUpload
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
| Upload ID | The unique identifier for the upload. | 2DNvIbYNELgqLJUkgTeIOV |
Example Payload for Get Upload⤓
Get Webhook
Retrieves a single webhook by ID. | key: getWebhook
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
| Webhook ID | The unique identifier for the webhook. | 5KsDBWseXY6QegucYAoacS |
Example Payload for Get Webhook⤓
List Assets
Retrieves all assets of a space. | key: listAssets
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for List Assets⤓
List Content Types
Retrieves all content types of a space. | key: listContentTypes
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for List Content Types⤓
List Entries
Retrieves all entries of a space. | key: listEntries
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for List Entries⤓
List Environments
Retrieves all environments in a space. | key: listEnvironments
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for List Environments⤓
List Organizations
Retrieves all organizations the account has access to. | key: listOrganizations
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. |
Example Payload for List Organizations⤓
List Published Entries
Retrieves all published entries of a space. | key: listPublishedEntries
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for List Published Entries⤓
List Spaces
Retrieves all spaces the account has access to. | key: listSpaces
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. |
Example Payload for List Spaces⤓
List Webhooks
Retrieves all webhooks of a space. | key: listWebhooks
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for List Webhooks⤓
Patch Entry
Applies partial updates to an entry using JSON Patch (RFC 6902) operations. | key: patchEntry
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Entry ID | The unique identifier for the entry. | 5KsDBWseXY6QegucYAoacS |
| Entry Version | The current version number of the entry. Required for optimistic locking. | 1 |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Patch Operations | A JSON array of JSON Patch (RFC 6902) operations. | |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Patch Entry⤓
Process Asset
Processes an asset for content delivery. | key: processAsset
| Input | Notes | Example |
|---|---|---|
| Asset ID | The unique identifier for the asset. | wtrHxeu3zEoEce2MokCSi |
| Connection | The Contentful connection to use. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Process Asset⤓
Publish Asset
Publishes an asset. | key: publishAnAsset
| Input | Notes | Example |
|---|---|---|
| Asset ID | The unique identifier for the asset. | wtrHxeu3zEoEce2MokCSi |
| Connection | The Contentful connection to use. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Publish Asset⤓
Publish Bulk Action
Publishes a bulk action. | key: publishBulkAction
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Items | The items to be processed in the bulk action as a JSON object containing entities and actions. | |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Publish Bulk Action⤓
Publish Entry
Publishes an entry. | key: publishEntry
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Entry ID | The unique identifier for the entry. | 5KsDBWseXY6QegucYAoacS |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Publish Entry⤓
Put Entry
Replaces all fields of an existing entry with the provided data. | key: putEntry
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Entry Data | The full entry data as a JSON object. All existing fields will be replaced with the provided data. | |
| Entry ID | The unique identifier for the entry. | 5KsDBWseXY6QegucYAoacS |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Put Entry⤓
Raw Request
Sends a raw HTTP request to the Contentful API. | key: rawRequest
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Data | The HTTP body payload to send to the URL. | {"exampleKey": "Example Data"} |
| File Data | File Data to be sent as a multipart form upload. | [{key: "example.txt", value: "My File Contents"}] |
| File Data File Names | File names to apply to the file data inputs. Keys must match the file data keys above. | |
| Form Data | The Form Data to be sent as a multipart form upload. | [{"key": "Example Key", "value": new Buffer("Hello World")}] |
| Header | A list of headers to send with the request. | User-Agent: curl/7.64.1 |
| Max Retry Count | The maximum number of retries to attempt. Specify 0 for no retries. | 0 |
| Method | The HTTP method to use. | |
| Query Parameter | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | |
| Response Type | The type of data you expect in the response. You can request json, text, or binary data. | json |
| Retry On All Errors | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors. | false |
| Retry Delay (ms) | The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled. | 0 |
| Timeout | The maximum time that a client will await a response to its request | 2000 |
| URL | Input the path only (/spaces), The base URL is already included (https://api.contentful.com). For example, to connect to https://api.contentful.com/spaces, only /spaces is entered in this field. | /spaces |
| Use Exponential Backoff | Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored. | false |
Unarchive Entry
Unarchives an existing entry. | key: unarchiveEntry
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Entry ID | The unique identifier for the entry. | 5KsDBWseXY6QegucYAoacS |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Unarchive Entry⤓
Unpublish Asset
Unpublishes an asset. | key: unpublishAnAsset
| Input | Notes | Example |
|---|---|---|
| Asset ID | The unique identifier for the asset. | wtrHxeu3zEoEce2MokCSi |
| Connection | The Contentful connection to use. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Unpublish Asset⤓
Unpublish Bulk Action
Unpublishes a bulk action. | key: unpublishBulkAction
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Items | The items to be unpublished in the bulk action as a JSON object containing entities to unpublish. | |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Unpublish Bulk Action⤓
Unpublish Entry
Unpublishes an entry. | key: unpublishEntry
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Entry ID | The unique identifier for the entry. | 5KsDBWseXY6QegucYAoacS |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Unpublish Entry⤓
Update Asset
Updates an existing asset. | key: updateAsset
| Input | Notes | Example |
|---|---|---|
| Asset ID | The unique identifier for the asset. | wtrHxeu3zEoEce2MokCSi |
| Connection | The Contentful connection to use. | |
| Asset Description | The updated description of the asset. Locale key must match the original locale of the asset to be updated. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
| Title | The updated title of the asset. Locale key must match the original locale of the asset to be updated. |
Example Payload for Update Asset⤓
Update Content Type
Updates an existing content type. | key: updateContentType
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Content Type ID | The unique identifier for the content type. | 2PqfXUJwE8qSYKuM0U6w8M |
| Description | A brief explanation of what this content type is used for. Leave blank to keep the current description. | A blog post |
| Display Field | The updated field used as the main display field for entries. | title |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Content Type Fields | The field definitions as a JSON array of field objects. Replaces all existing fields on the content type; when empty, the current fields are kept. | |
| Content Type Name | The new display name for the content type. Leave blank to keep the current name. | Blog Post |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Update Content Type⤓
Update Environment
Updates an existing environment. | key: updateEnvironment
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Environment ID | The unique identifier for the Contentful environment. | staging |
| Environment Name | The display name for the environment. | Staging |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Update Environment⤓
Update Organization
Updates the security contact for an organization. | key: updateOrganization
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Organization ID | The unique identifier for the organization. | 1Qz7ThNuABCytfP4oqkF12 |
| Security ID | The unique identifier for the security contact. | srdfsguf8325yusf24 |
Example Payload for Update Organization⤓
Update Space
Updates an existing space. | key: updateSpace
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
| Space Name | The display name for the space. | My Space |
Example Payload for Update Space⤓
Update Webhook
Updates an existing webhook. | key: updateWebhook
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| Name | A descriptive label to identify the webhook in the Contentful dashboard. | Example Webhook |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
| Webhook ID | The unique identifier for the webhook. | 5KsDBWseXY6QegucYAoacS |
Example Payload for Update Webhook⤓
Upload File
Uploads a file to temporary file storage. | key: uploadFile
| Input | Notes | Example |
|---|---|---|
| Connection | The Contentful connection to use. | |
| File Contents | The contents to write to a file. This can be a string of text, it can be binary data that was generated in a previous step. | My File Contents |
| Space ID | The unique identifier for the Contentful space. | yadj1kx9rmg0 |
Example Payload for Upload File⤓
Changelog
2026-10-07
Added inline action calling, output schemas, trigger initial sync and batching, and webhook request verification, and improved trigger and upload reliability:
- Added inline action calling support to 54 actions for improved example output during configuration
- Added output schemas to 47 actions for improved field mapping during configuration
- Added opt-in batching to the New and Updated Entries trigger, dispatching each changed entry individually or in configured batches; enabling it changes the shape a downstream step receives
- Added an optional Look-back Date input to the New and Updated Entries trigger for performing an initial sync of entries. The initial sync begins on the first recurrence and backfills every entry modified on or after the specified date, seeding each once and ignoring the visibility filters. Leave it empty to start from the first recurrence with no backfill
- Added an optional Webhook Signing Secret input to the Event Subscription and Webhook triggers that rejects requests failing Contentful's request verification
- Updated the New and Updated Entries trigger to deliver every changed entry when more change between recurrences than a single recurrence fetches; the remainder is delivered on the following recurrences
- Updated the Event Subscription trigger to reuse its existing Contentful webhook on redeploy, updating its events in place rather than creating another webhook that invoked the flow again; duplicates left by earlier deploys, and the webhook in a previously configured space, are removed
- Updated Upload File to send the file's raw bytes, so the upload stores the file's content
- Updated the Scopes input on the OAuth 2.0 connection to a dropdown of the scopes Contentful accepts
2026-06-03
Added the New and Updated Entries polling trigger that monitors entries for changes
2026-05-20
Applied automated security patches and code formatting updates
2026-04-30
Updated spectral version
2026-04-06
Added Archive Entry, Unarchive Entry, Put Entry, Patch Entry, and List Published Entries actions
2026-03-24
Added Template ID input to the Select Environment Template inline data source for selecting environment templates from a dropdown
2026-03-05
Added inline data sources for content types, entries, assets, and webhooks to enhance resource selection with dropdown pickers
Updated OAuth scope default to use a single scope per authorization request, resolving an authorization error on Contentful's consent page caused by the previous multi-scope default