Contentful integration | Zervanor
← All connectors

Contentful

Also an agent tool
marketing

Contentful Content Management API (CMA): manage spaces, environments, content types, entries, assets, locales, tags, webhooks, roles, API keys, uploads, snapshots, scheduled actions, and app installations. Bearer CMA-token auth with the space and environment in the request path. Entry/asset/content-type writes and publishes use the X-Contentful-Version optimistic-locking header; entry creates use the X-Contentful-Content-Type header. Change notifications use polling (List Entries by sys.updatedAt); native webhooks use a signed-header canonicalization that no registered handler matches, so webhook CRUD is exposed as actions only.

76 actions · 1 triggers

The Contentful integration lets you connect Contentful to your automations with 76 actions and 1 triggers — and every action is also a tool an AI agent can call. Examples: Get Current User, List Organizations, List Spaces, Get Space, List Space Members. No blank-canvas wiring — connect it and use it in your workflows.

Every action below is also a tool an AI agent can call — the same pack powers your workflows and your agents.

Triggers 1

Events in Contentful that can start a workflow.

polling

New or updated Contentful entries (polled)

Polls GET /entries on a schedule using a sys.updatedAt[gte] filter with order=sys.updatedAt.

Actions 76

What Zervanor can do in Contentful.

Entries14

GET

List Entries

List/search entries (GET /entries). Filter with query params (e.g. content_type, sys.updatedAt[gte]); page with skip/limit; order with order. Result list is at 'items'.

GET

Get Entry

Get a single entry (GET /entries/{entry_id}).

POST

Create Entry

Create an entry with an auto-generated id (POST /entries). Requires the X-Contentful-Content-Type header naming the content type id. Creates a draft.

PUT

Create Entry With Id

Create an entry with a user-specified id (PUT /entries/{entry_id}). Requires the X-Contentful-Content-Type header. Creates a draft.

PUT

Update Entry

Update an entry (PUT /entries/{entry_id}). Requires X-Contentful-Version (optimistic locking).

PATCH

Patch Entry

Partially update an entry with JSON Patch (PATCH /entries/{entry_id}). Requires X-Contentful-Version; Content-Type application/json-patch+json.

PUT

Publish Entry

Publish an entry (PUT /entries/{entry_id}/published). Requires X-Contentful-Version.

DELETE

Unpublish Entry

Unpublish an entry (DELETE /entries/{entry_id}/published).

PUT

Archive Entry

Archive an entry (PUT /entries/{entry_id}/archived). Entry must be unpublished.

DELETE

Unarchive Entry

Unarchive an entry (DELETE /entries/{entry_id}/archived).

DELETE

Delete Entry

Delete an entry (DELETE /entries/{entry_id}). Must be unpublished first.

GET

Get Entry References

Get the reference tree for an entry (GET /entries/{entry_id}/references). Up to 10 levels deep.

GET

List Entry Snapshots

List an entry's snapshots (GET /entries/{entry_id}/snapshots). Snapshots are point-in-time versions.

GET

Get Entry Snapshot

Get a single entry snapshot (GET /entries/{entry_id}/snapshots/{snapshot_id}).

Assets9

GET

List Assets

List assets in the environment (GET /assets). Offset pagination (skip/limit).

GET

Get Asset

Get a single asset (GET /assets/{asset_id}).

POST

Create Asset

Create an asset with an auto-generated id (POST /assets). The file must be processed after creation.

PUT

Update Asset

Update an asset (PUT /assets/{asset_id}). Requires X-Contentful-Version.

PUT

Process Asset

Process an asset's file for a locale (PUT /assets/{asset_id}/files/{locale}/process). Requires X-Contentful-Version.

PUT

Publish Asset

Publish an asset (PUT /assets/{asset_id}/published). Requires X-Contentful-Version.

DELETE

Unpublish Asset

Unpublish an asset (DELETE /assets/{asset_id}/published).

PUT

Archive Asset

Archive an asset (PUT /assets/{asset_id}/archived). Asset must be unpublished.

DELETE

Delete Asset

Delete an asset (DELETE /assets/{asset_id}). Must be unpublished first.

Content Types9

GET

List Content Types

List content types in the environment (GET /content_types). Offset pagination (skip/limit).

GET

Get Content Type

Get a single content type (GET /content_types/{content_type_id}).

PUT

Create or Update Content Type

Create or update a content type with a user-specified id (PUT /content_types/{content_type_id}). Provide X-Contentful-Version when updating an existing content type.

PUT

Publish Content Type

Publish a content type (PUT /content_types/{content_type_id}/published). Requires X-Contentful-Version.

DELETE

Unpublish Content Type

Unpublish a content type (DELETE /content_types/{content_type_id}/published).

DELETE

Delete Content Type

Delete a content type (DELETE /content_types/{content_type_id}). Must be unpublished first.

GET

Get Editor Interface

Get a content type's editor interface (GET /content_types/{content_type_id}/editor_interface).

PUT

Update Editor Interface

Update a content type's editor interface (PUT /content_types/{content_type_id}/editor_interface). Requires X-Contentful-Version.

GET

List Content Type Snapshots

List a content type's snapshots (GET /content_types/{content_type_id}/snapshots).

Environments5

GET

List Environments

List a space's environments (GET /spaces/{space_id}/environments). Space-scoped.

GET

Get Environment

Get a single environment (GET /spaces/{space_id}/environments/{environment_id}). Space-scoped path.

PUT

Create Environment

Create an environment with a user-specified id (PUT /spaces/{space_id}/environments/{environment_id}). Optionally clone from a source environment.

PUT

Update Environment

Update an environment's name (PUT /spaces/{space_id}/environments/{environment_id}). Requires X-Contentful-Version.

DELETE

Delete Environment

Delete an environment (DELETE /spaces/{space_id}/environments/{environment_id}).

Locales5

GET

List Locales

List locales in the environment (GET /locales).

GET

Get Locale

Get a single locale (GET /locales/{locale_id}).

POST

Create Locale

Create a locale (POST /locales).

PUT

Update Locale

Update a locale (PUT /locales/{locale_id}). Requires X-Contentful-Version.

DELETE

Delete Locale

Delete a locale (DELETE /locales/{locale_id}).

Tags5

GET

List Tags

List tags in the environment (GET /tags).

GET

Get Tag

Get a single tag (GET /tags/{tag_id}).

PUT

Create Tag

Create a tag with a user-specified id (PUT /tags/{tag_id}).

PUT

Update Tag

Update a tag (PUT /tags/{tag_id}). Requires X-Contentful-Version.

DELETE

Delete Tag

Delete a tag (DELETE /tags/{tag_id}). Requires X-Contentful-Version.

Webhook Definitions5

GET

List Webhooks

List webhook definitions for the space (GET /spaces/{space_id}/webhook_definitions). Space-scoped.

GET

Get Webhook

Get a single webhook definition (GET /spaces/{space_id}/webhook_definitions/{webhook_id}). Space-scoped.

POST

Create Webhook

Create a webhook definition (POST /spaces/{space_id}/webhook_definitions). Space-scoped.

PUT

Update Webhook

Update a webhook definition (PUT /spaces/{space_id}/webhook_definitions/{webhook_id}). Requires X-Contentful-Version. Space-scoped.

DELETE

Delete Webhook

Delete a webhook definition (DELETE /spaces/{space_id}/webhook_definitions/{webhook_id}). Space-scoped.

Api Keys4

GET

List API Keys

List Content Delivery API keys in the space (GET /spaces/{space_id}/api_keys). Space-scoped.

GET

Get API Key

Get a single delivery API key (GET /spaces/{space_id}/api_keys/{api_key_id}). Space-scoped.

POST

Create API Key

Create a Content Delivery API key (POST /spaces/{space_id}/api_keys). Space-scoped.

DELETE

Delete API Key

Delete a delivery API key (DELETE /spaces/{space_id}/api_keys/{api_key_id}). Space-scoped.

App Installations4

GET

List App Installations

List app installations in the environment (GET /app_installations).

GET

Get App Installation

Get a single app installation (GET /app_installations/{app_definition_id}).

PUT

Install App

Install or update an app in the environment (PUT /app_installations/{app_definition_id}).

DELETE

Uninstall App

Uninstall an app from the environment (DELETE /app_installations/{app_definition_id}).

Scheduled Actions4

GET

List Scheduled Actions

List scheduled actions in the environment (GET /spaces/{space_id}/environments/{environment_id}/scheduled_actions). Filter by environment.sys.id and status.

POST

Create Scheduled Action

Schedule an action (e.g. publish) on an entity (POST /spaces/{space_id}/environments/{environment_id}/scheduled_actions).

GET

Get Scheduled Action

Get a single scheduled action (GET /spaces/{space_id}/environments/{environment_id}/scheduled_actions/{scheduled_action_id}).

DELETE

Cancel Scheduled Action

Cancel a scheduled action (DELETE /spaces/{space_id}/environments/{environment_id}/scheduled_actions/{scheduled_action_id}).

Uploads3

POST

Create Upload

Upload a binary file (POST /spaces/{space_id}/environments/{environment_id}/uploads) on the upload host. Returns an upload id referenced when creating an asset. Content-Type application/octet-stream.

GET

Get Upload

Get an upload's metadata (GET /spaces/{space_id}/environments/{environment_id}/uploads/{upload_id}) on the upload host.

DELETE

Delete Upload

Delete an upload (DELETE /spaces/{space_id}/environments/{environment_id}/uploads/{upload_id}) on the upload host.

Roles2

GET

List Roles

List roles in the space (GET /spaces/{space_id}/roles). Space-scoped.

GET

Get Role

Get a single role (GET /spaces/{space_id}/roles/{role_id}). Space-scoped.

Spaces2

GET

List Spaces

List all spaces the account has access to (GET /spaces). Root-scoped.

GET

Get Space

Get a single space (GET /spaces/{space_id}). Root-scoped path.

Webhooks2

GET

List Webhook Call Details

List recent call attempts for a webhook (GET /spaces/{space_id}/webhooks/{webhook_id}/calls). Space-scoped.

GET

Get Webhook Health

Get a webhook's recent health/call summary (GET /spaces/{space_id}/webhooks/{webhook_id}/health). Space-scoped.

Organizations1

GET

List Organizations

List organizations the user is a member of (GET /organizations). Root-scoped.

Space Members1

GET

List Space Members

List members of a space (GET /spaces/{space_id}/space_members). Space-scoped (not environment scoped).

Users1

GET

Get Current User

Get the authenticated user (GET /users/me). Identity + connectivity probe. Root-scoped (not space/environment scoped).

Automations using Contentful

Build your own automation with Contentful in the visual builder.

Frequently asked questions

What can I automate with Contentful?

76 actions are available — for example: Get Current User, List Organizations, List Spaces, Get Space, List Space Members, and more.

Which Contentful events can start a workflow?

1 triggers — for example: New or updated Contentful entries (polled).

Can Contentful be used as an AI agent tool?

Yes. Every Contentful action automatically becomes a tool an AI agent can call — the same pack powers both your workflows and your agents.

How is the Contentful integration modelled?

Contentful is modelled as a versioned connector pack, and the steps that need reasoning fall to first-party agents hosted in the same runtime as the workflows.