Craft CMS
Integrate your Workflow with Craft CMS
The Craft CMS Integration step allows you to connect your AirOps workflows with your Craft CMS instance. This native integration provides comprehensive entry and asset management capabilities directly from your workflows.
Overview
Craft CMS is a flexible, user-friendly content management system built for creating custom digital experiences. By connecting Craft CMS to AirOps, you can automate content creation, publishing, and asset management across your Craft projects.
Authentication
Before using the Craft CMS integration in your workflows, you must first connect your Craft CMS account in the AirOps Settings:
Navigate to Settings > Integrations
Find the Craft CMS section and click "Configure"
Enter your GraphQL Token — a token with write permissions generated in your Craft CMS control panel under GraphQL > Tokens
Enter your Site URL — the base URL of your Craft CMS instance (e.g.
https://example.com)Optionally enter a Default Author ID — the numeric ID of the Craft CMS user to assign as the author of entries by default. Individual actions can override this value
Your GraphQL token must have permissions to read and write entries and assets in the sections you intend to use.
Available Actions
Entry Management
Create Entry -- add a new entry to a Craft CMS section
Update Entry -- modify an existing entry's fields, status, or metadata
Get Entry -- retrieve a single entry by ID or slug
List Entries -- fetch multiple entries from a section with optional filters
Delete Entry -- permanently remove an entry
Asset Management
Get Asset -- retrieve a single asset by ID
List Assets -- fetch assets from a volume with optional filters
Attach Asset to Entry -- associate existing assets with an entry's asset field
Delete Asset -- permanently remove an asset from a volume
Action Parameters
Create Entry
Section (required) -- the section handle the entry belongs to (e.g.
blog,news)Entry Type -- the entry type handle (e.g.
default,article). Defaults todefaultTitle -- the entry title
Slug -- the URL slug for the entry
Status -- entry status:
liveordisabledPost Date -- the date the entry should be published (ISO 8601 format)
Expiry Date -- the date the entry should expire (ISO 8601 format)
Custom Fields -- a JSON object of custom field values, keyed by field handle
Author ID -- the numeric ID of the entry author. Overrides the Default Author ID set in credentials
Update Entry
Entry ID (required) -- the numeric ID of the entry to update
Section -- the section handle the entry belongs to
Entry Type -- the entry type handle
Title -- the entry title
Slug -- the URL slug for the entry
Status -- entry status:
liveordisabledPost Date -- the date the entry should be published
Expiry Date -- the date the entry should expire
Custom Fields -- a JSON object of custom field values, keyed by field handle
Author ID -- the numeric ID of the entry author. Overrides the Default Author ID set in credentials
Get Entry
Lookup By (required) -- how to identify the entry:
idorslugLookup Value (required) -- the ID or slug value to search for
Entry Type -- the entry type handle, used to build custom field fragments
Fields -- comma-separated list of custom field handles to include in the response (e.g.
heroImage,body)
List Entries
Section -- the section handle to filter by
Entry Type -- the entry type handle, used to build custom field fragments
Fields -- comma-separated list of custom field handles to include in the response
Search -- a search query string to filter entries
Limit -- the maximum number of entries to return
Offset -- the number of entries to skip (for pagination)
Delete Entry
Entry ID (required) -- the numeric ID of the entry to delete
Get Asset
Asset ID (required) -- the numeric ID of the asset to retrieve
List Assets
Volume -- the volume handle to filter assets by (e.g.
images,documents)Search -- a search query string to filter assets
Limit -- the maximum number of assets to return
Attach Asset to Entry
Entry ID (required) -- the numeric ID of the entry to attach assets to
Section (required) -- the section handle the entry belongs to
Entry Type -- the entry type handle
Field Handle (required) -- the handle of the Assets field on the entry (e.g.
heroImage,images)Asset IDs (required) -- comma-separated list of asset IDs to attach (e.g.
123,456). Replaces any existing assets in the fieldAuthor ID -- the numeric ID of the entry author. Overrides the Default Author ID set in credentials
Delete Asset
Asset ID (required) -- the numeric ID of the asset to delete
Common Use Cases
Automatically creating and publishing blog entries from AI-generated content
Updating entry statuses in bulk based on workflow conditions
Attaching generated or uploaded images to entries as hero assets
Fetching entries by slug to enrich or rewrite existing content
Building content pipelines that create entries in draft and publish after review
Cleaning up expired or obsolete entries and assets programmatically
Note: Craft CMS integration requires a GraphQL token with appropriate permissions. Ensure your token grants access to the sections and volumes you intend to use.
Last updated
Was this helpful?