# Contentful on boxd

> Contentful is a headless CMS allowing developers to create, manage, and distribute content across multiple channels and devices with an API-first approach.

- Page: https://boxd.sh/integrations/contentful/
- CLI: `run contentful` (124 commands, 104 marked common)
- SDK: `import { contentful } from "@boxd/run"`; every parameter and response type is at `@boxd/run/contentful`
- Triggers: none
- Connect: `run auth contentful` (Sign in with Contentful), or https://app.boxd.sh/integrations/detail/contentful
- All integrations: https://boxd.sh/integrations/ (Markdown: https://boxd.sh/integrations/index.md)

## From the shell

```sh
run auth contentful      # once: prints a link to connect your account
run contentful           # list its commands
run contentful list-spaces
```

Parameters are flags (`--flag value`); object and array parameters take a JSON string. Output is YAML, or JSON with `--json`. Calls use your own connection; `--scope <name>` uses a connection shared with your team.

## From a script

```ts
import { every, contentful } from "@boxd/run";

every("1 hour", async () => {
  const result = await contentful.listSpaces({});
  console.log(result);
});
```

Run it with `run contentful.run.ts`. Contentful has no triggers; `every()` polls on a schedule, keeps the script running as a job, and wakes the machine when it is due.

## Commands

Required flags are listed; `run contentful <command> --help` lists the optional ones. "common" marks what `run contentful` shows without `--all`.

| Command | SDK method | Required flags | Optional | Description |
|---|---|---|---|---|
| `activate-content-type` ·common | `contentful.activateContentType()` | `--content-type-id` `--environment-id` `--space-id` `--version` | 0 | Activates (publishes) a content type in Contentful |
| `archive-asset` ·common | `contentful.archiveAsset()` | `--asset-id` `--environment-id` `--space-id` | 1 | Archive an asset in Contentful |
| `archive-entry` ·common | `contentful.archiveEntry()` | `--entry-id` `--environment-id` `--space-id` | 1 | Archive an entry in Contentful |
| `archive-release` ·common | `contentful.archiveRelease()` | `--environment-id` `--release-id` `--space-id` `--version` | 0 | Archive a release in Contentful |
| `create-app-definitions-keys` ·common | `contentful.createAppDefinitionsKeys()` | `--app-definition-id` `--organization-id` | 2 | Generate an app signing key for a Contentful app definition |
| `create-content-type` ·common | `contentful.createContentType()` | `--environment-id` `--fields` `--name` `--space-id` | 2 | Create a new content type in a Contentful environment |
| `create-entry-task` ·common | `contentful.createEntryTask()` | `--assignedTo` `--body` `--entry-id` `--environment-id` `--space-id` `--status` | 0 | Create a task on a Contentful entry |
| `create-environment` ·common | `contentful.createEnvironment()` | `--name` `--space-id` | 1 | Create a new environment within a Contentful space |
| `create-locale` ·common | `contentful.createLocale()` | `--code` `--environment-id` `--name` `--space-id` | 4 | Create a new locale in a Contentful space environment |
| `create-organizations-app-def-access-grants` ·common | `contentful.createOrganizationsAppDefAccessGrants()` | `--app-definition-id` `--grantee-id` `--grantee-type` `--organization-id` | 0 | Creates an access grant for an app definition to allow organizations to install the app |
| `create-organizations-app-definitions` ·common | `contentful.createOrganizationsAppDefinitions()` | `--name` `--organization-id` | 3 | Create a new app definition in a Contentful organization |
| `create-organizations-app-definitions-actions` ·common | `contentful.createOrganizationsAppDefinitionsActions()` | `--app-definition-id` `--category` `--name` `--organization-id` `--type` | 1 | Create an action for a Contentful app definition |
| `create-organizations-invitations` ·common | `contentful.createOrganizationsInvitations()` | `--email` `--organization-id` | 3 | Create an invitation to an organization in Contentful (alpha feature) |
| `create-organizations-security-contacts` ·common | `contentful.createOrganizationsSecurityContacts()` | `--email` `--organization-id` | 0 | Creates a security contact for a specific organization |
| `create-organizations-taxonomy-concept-schemes` ·common | `contentful.createOrganizationsTaxonomyConceptSchemes()` | `--organization-id` `--prefLabel` | 2 | Create a new taxonomy concept scheme in an organization |
| `create-organizations-taxonomy-concepts` ·common | `contentful.createOrganizationsTaxonomyConcepts()` | `--organizationId` `--prefLabel` | 4 | Create a new taxonomy concept in a Contentful organization |
| `create-release` ·common | `contentful.createRelease()` | `--entities` `--environment-id` `--space-id` `--title` | 0 | Create a new release in Contentful |
| `create-space` ·common | `contentful.createSpace()` | `--name` | 2 | Creates a new space in Contentful |
| `create-spaces-api-keys` ·common | `contentful.createSpacesApiKeys()` | `--environments` `--name` `--space-id` | 1 | Create a new Delivery API key for a Contentful space |
| `create-spaces-environments-assets` ·common | `contentful.createSpacesEnvironmentsAssets()` | `--environment-id` `--fields` `--space-id` | 1 | Create a new asset in a Contentful space environment |
| `create-spaces-environments-entries` ·common | `contentful.createSpacesEnvironmentsEntries()` | `--X-Contentful-Content-Type` `--environment-id` `--fields` `--space-id` | 1 | Create a new entry in a Contentful space environment |
| `create-spaces-environments-entries-comments` ·common | `contentful.createSpacesEnvironmentsEntriesComments()` | `--body` `--entry-id` `--environment-id` `--space-id` | 0 | Create a comment on an entry in Contentful |
| `create-spaces-environments-extensions` ·common | `contentful.createSpacesEnvironmentsExtensions()` | `--environment-id` `--extension` `--space-id` | 0 | Create a new UI extension within a Contentful space and environment |
| `create-spaces-scheduled-actions` ·common | `contentful.createSpacesScheduledActions()` | `--action` `--entity` `--environment` `--scheduledFor` `--space-id` | 0 | Create a scheduled action for publishing or unpublishing entries/assets in Contentful |
| `create-webhook` ·common | `contentful.createWebhook()` | `--name` `--space-id` `--topics` `--url` | 5 | Create a new webhook in a Contentful space to receive real-time notifications about content changes |
| `delete-asset` ·common | `contentful.deleteAsset()` | `--asset-id` `--environment-id` `--space-id` | 0 | Deletes an asset by ID from a Contentful environment |
| `delete-content-type` ·common | `contentful.deleteContentType()` | `--content-type-id` `--environment-id` `--space-id` | 0 | Deletes a content type by ID from a Contentful environment |
| `delete-entry` ·common | `contentful.deleteEntry()` | `--entry-id` `--environment-id` `--space-id` | 0 | Deletes an entry by ID from a Contentful environment |
| `delete-environment` ·common | `contentful.deleteEnvironment()` | `--environment-id` `--space-id` | 0 | Deletes an environment by ID from a Contentful space |
| `delete-extension` ·common | `contentful.deleteExtension()` | `--environment-id` `--extension-id` `--space-id` | 0 | Deletes an extension by ID from a Contentful environment |
| `delete-locale` ·common | `contentful.deleteLocale()` | `--environment-id` `--locale-id` `--space-id` | 0 | Deletes a locale by ID from a Contentful environment |
| `delete-organizations-app-def-event-subscription` ·common | `contentful.deleteOrganizationsAppDefEventSubscription()` | `--app-definition-id` `--organization-id` | 0 | Deletes an app event subscription from a Contentful organization |
| `delete-organizations-app-def-signing-secret` ·common | `contentful.deleteOrganizationsAppDefSigningSecret()` | `--app-definition-id` `--organization-id` | 0 | Remove the current app signing secret from an app definition |
| `delete-organizations-app-definitions-details` ·common | `contentful.deleteOrganizationsAppDefinitionsDetails()` | `--app-definition-id` `--organization-id` | 0 | Delete app definition details for an organization in Contentful |
| `delete-organizations-app-definitions-keys` ·common | `contentful.deleteOrganizationsAppDefinitionsKeys()` | `--app-definition-id` `--key-kid` `--organization-id` | 0 | Delete an app key from an app definition in a Contentful organization |
| `delete-organizations-security-contacts` ·common | `contentful.deleteOrganizationsSecurityContacts()` | `--contact-id` `--organization-id` | 0 | Deletes a security contact from a Contentful organization |
| `delete-release` ·common | `contentful.deleteRelease()` | `--environment-id` `--releases-id` `--space-id` | 0 | Deletes a release by ID from a Contentful environment |
| `delete-scheduled-action` ·common | `contentful.deleteScheduledAction()` | `--environment-sys-id` `--scheduled-action-id` `--space-id` | 0 | Cancels a scheduled action by ID in Contentful |
| `delete-space-membership` ·common | `contentful.deleteSpaceMembership()` | `--space-id` `--space-membership-id` | 0 | Deletes a space membership by ID from a Contentful space |
| `delete-spaces-api-keys` ·common | `contentful.deleteSpacesApiKeys()` | `--api-key-id` `--space-id` | 1 | Delete a single Delivery API key from a Contentful space |
| `delete-spaces-upload` ·common | `contentful.deleteSpacesUpload()` | `--space-id` `--upload-id` | 0 | Deletes an upload by ID from a Contentful space |
| `delete-tag` ·common | `contentful.deleteTag()` | `--environment-id` `--space-id` `--tag-id` | 1 | Deletes a tag by ID from a Contentful environment |
| `delete-webhook` ·common | `contentful.deleteWebhook()` | `--space-id` `--webhook-definition-id` | 0 | Deletes a webhook definition by ID from a Contentful space |
| `get-app-bundle` ·common | `contentful.getAppBundle()` | `--app-definition-id` `--bundle-id` `--organization-id` | 0 | Retrieves details of a specific app bundle by its ID |
| `get-app-definition` ·common | `contentful.getAppDefinition()` | `--app-definition-id` `--organization-id` | 0 | Retrieve details of a specific app definition by its ID |
| `get-asset` ·common | `contentful.getAsset()` | `--asset-id` `--environment-id` `--space-id` | 0 | Retrieve a single asset from a Contentful environment by its ID |
| `get-content-type-snapshot` ·common | `contentful.getContentTypeSnapshot()` | `--content-type-id` `--snapshot-id` `--space-id` | 0 | Retrieve a snapshot of a content type by snapshot ID |
| `get-content-type-snapshots` | `contentful.getContentTypeSnapshots()` | `--content-type-id` `--environment-id` `--space-id` | 2 | Get all snapshots of a content type in Contentful |
| `get-content-types` ·common | `contentful.getContentTypes()` | `--environment-id` `--space-id` | 3 | Retrieves all content types in a Contentful environment |
| `get-editor-interface` ·common | `contentful.getEditorInterface()` | `--content-type-id` `--environment-id` `--space-id` | 0 | Retrieve the editor interface configuration for a content type |
| `get-entry` ·common | `contentful.getEntry()` | `--entry-id` `--environment-id` `--space-id` | 2 | Retrieve a single entry from a Contentful space environment by its ID |
| `get-entry-comment` ·common | `contentful.getEntryComment()` | `--comment-id` `--entry-id` `--environment-id` `--space-id` | 0 | Retrieve a specific comment from an entry in Contentful |
| `get-entry-references` ·common | `contentful.getEntryReferences()` | `--entry-id` `--environment-id` `--include` `--space-id` | 0 | Retrieve references to a specific entry in Contentful |
| `get-entry-snapshots` | `contentful.getEntrySnapshots()` | `--entry-id` `--environment-id` `--space-id` | 2 | Get all snapshots of an entry in Contentful |
| `get-environment` ·common | `contentful.getEnvironment()` | `--environment-id` `--space-id` | 0 | Retrieve details of a specific environment by its ID within a space |
| `get-organization` ·common | `contentful.getOrganization()` | `--organization-id` | 0 | Retrieves details of a specific organization by its ID |
| `get-organization-access-grant` ·common | `contentful.getOrganizationAccessGrant()` | `--organization-id` | 0 | Retrieves the access grant status for a specific organization |
| `get-organizations` ·common | `contentful.getOrganizations()` | — | 2 | Get all organizations an account has access to in Contentful |
| `get-organizations-ai-providers` ·common | `contentful.getOrganizationsAiProviders()` | `--organization-id` | 0 | Retrieves all AI providers configured for an organization in Contentful |
| `get-organizations-app-actions-categories` ·common | `contentful.getOrganizationsAppActionsCategories()` | `--organization-id` | 0 | Retrieves app action categories for a Contentful organization |
| `get-organizations-app-def-event-subscription` ·common | `contentful.getOrganizationsAppDefEventSubscription()` | `--app-definition-id` `--organization-id` | 0 | Retrieve details of an app event subscription by organization and app definition ID |
| `get-organizations-app-definitions` | `contentful.getOrganizationsAppDefinitions()` | `--organization-id` | 0 | Retrieves all app definitions for a specific organization |
| `get-organizations-app-definitions-access-grants` | `contentful.getOrganizationsAppDefinitionsAccessGrants()` | `--app-definition-id` `--organization-id` | 2 | Get all app access grants for a specific app definition within an organization |
| `get-organizations-app-definitions-actions` | `contentful.getOrganizationsAppDefinitionsActions()` | `--app-definition-id` `--organization-id` | 0 | Get all actions of an app definition within an organization |
| `get-organizations-app-definitions-actions2` | `contentful.getOrganizationsAppDefinitionsActions2()` | `--app-action-id` `--app-definition-id` `--organization-id` | 0 | Read a specific app action from an app definition within an organization |
| `get-organizations-app-definitions-app-bundles` | `contentful.getOrganizationsAppDefinitionsAppBundles()` | `--app-definition-id` `--organization-id` | 0 | Get all app bundles for a specific app definition within an organization |
| `get-organizations-app-definitions-functions` | `contentful.getOrganizationsAppDefinitionsFunctions()` | `--app-definition-id` `--organization-id` | 0 | Get all functions of an app definition within an organization |
| `get-organizations-app-definitions-keys` | `contentful.getOrganizationsAppDefinitionsKeys()` | `--app-definition-id` `--organization-id` | 0 | Retrieve all app keys for a specific app definition in a Contentful organization |
| `get-organizations-app-definitions-signing-secret` ·common | `contentful.getOrganizationsAppDefinitionsSigningSecret()` | `--app-definition-id` `--organization-id` | 0 | Retrieve the current app signing secret for an app definition |
| `get-organizations-enablements` ·common | `contentful.getOrganizationsEnablements()` | `--organization-id` | 0 | Retrieves feature enablements for a specific organization in Contentful |
| `get-organizations-invitations` | `contentful.getOrganizationsInvitations()` | `--invitation-id` `--organization-id` | 0 | Retrieves a single invitation for an organization (alpha) |
| `get-organizations-organization-periodic-usages` | `contentful.getOrganizationsOrganizationPeriodicUsages()` | `--organization-id` | 4 | Get organization periodic usage statistics |
| `get-organizations-roles` ·common | `contentful.getOrganizationsRoles()` | `--organization-id` | 0 | Retrieves all space roles in an organization |
| `get-organizations-security-contacts` ·common | `contentful.getOrganizationsSecurityContacts()` | `--organization-id` | 0 | Retrieves security contacts for a specific organization that an admin or owner has access to |
| `get-organizations-space-enablements` | `contentful.getOrganizationsSpaceEnablements()` | `--organization-id` | 0 | Retrieves all space enablements for a specific organization |
| `get-organizations-space-periodic-usages` | `contentful.getOrganizationsSpacePeriodicUsages()` | `--organization-id` | 4 | Retrieve space periodic usage data for an organization |
| `get-organizations-taxonomy-concept-schemes` ·common | `contentful.getOrganizationsTaxonomyConceptSchemes()` | `--organization-id` | 2 | Retrieve all taxonomy concept schemes from an organization |
| `get-organizations-taxonomy-concept-schemes-total` | `contentful.getOrganizationsTaxonomyConceptSchemesTotal()` | `--organization-id` | 0 | Retrieves the total count of taxonomy concept schemes for a specific organization |
| `get-organizations-taxonomy-concept-schemes2` | `contentful.getOrganizationsTaxonomyConceptSchemes2()` | `--concept-scheme-id` `--organization-id` | 0 | Retrieve a specific taxonomy concept scheme from an organization |
| `get-organizations-taxonomy-concepts` ·common | `contentful.getOrganizationsTaxonomyConcepts()` | `--organization-id` | 2 | Retrieves all taxonomy concepts for an organization in Contentful |
| `get-organizations-taxonomy-concepts-ancestors` | `contentful.getOrganizationsTaxonomyConceptsAncestors()` | `--concept-id` `--organization-id` | 0 | Retrieves the list of ancestor concepts for a specific taxonomy concept |
| `get-organizations-taxonomy-concepts-total` | `contentful.getOrganizationsTaxonomyConceptsTotal()` | `--organization-id` | 0 | Retrieves the total count of taxonomy concepts for a specific organization |
| `get-release` ·common | `contentful.getRelease()` | `--environment-id` `--releases-id` `--space-id` | 0 | Get a single release by ID from Contentful |
| `get-space` ·common | `contentful.getSpace()` | `--space-id` | 0 | Retrieves metadata of a specific space by its ID |
| `get-space-memberships` ·common | `contentful.getSpaceMemberships()` | `--space-id` | 2 | Get all space memberships in a Contentful space |
| `get-spaces-api-keys` ·common | `contentful.getSpacesApiKeys()` | `--space-id` | 2 | Retrieve all Delivery API keys for a specific Contentful space |
| `get-spaces-environments` ·common | `contentful.getSpacesEnvironments()` | `--space-id` | 0 | Retrieves all environments of a space in Contentful |
| `get-spaces-environments-app-installations` ·common | `contentful.getSpacesEnvironmentsAppInstallations()` | `--environment-id` `--space-id` | 0 | Lists all app installations in a specific Contentful environment |
| `get-spaces-environments-assets` ·common | `contentful.getSpacesEnvironmentsAssets()` | `--environment-id` `--space-id` | 3 | Retrieves all assets from a specific environment in a Contentful space |
| `get-spaces-environments-locales` ·common | `contentful.getSpacesEnvironmentsLocales()` | `--environment-id` `--space-id` | 0 | Retrieve all locales of a space environment in Contentful |
| `get-spaces-envs-app-installations-functions` | `contentful.getSpacesEnvsAppInstallationsFunctions()` | `--app-installation-id` `--environment-id` `--space-id` | 0 | Get all functions for an app installation in a Contentful environment |
| `get-users-me` ·common | `contentful.getUsersMe()` | — | 0 | Retrieve information about the currently authenticated user |
| `get-webhook` | `contentful.getWebhook()` | `--space-id` `--webhook-definition-id` | 0 | Retrieve a single webhook definition from a Contentful space |
| `get-webhook-calls` ·common | `contentful.getWebhookCalls()` | `--space-id` `--webhook-id` | 0 | Retrieve an overview of recent webhook calls for a specific webhook in Contentful |
| `get-webhook-health` | `contentful.getWebhookHealth()` | `--space-id` `--webhook-id` | 0 | Retrieves health status and call statistics for a specific webhook in Contentful |
| `list-entries` ·common | `contentful.listEntries()` | `--environment-id` `--space-id` | 8 | Retrieve all entries from a Contentful space environment |
| `list-environments` ·common | `contentful.listEnvironments()` | `--space-id` | 2 | Lists all environments of a space in Contentful, including the master environment and any custom environments |
| `list-spaces` ·common | `contentful.listSpaces()` | — | 3 | Lists all spaces that the authenticated user has access to in Contentful |
| `list-spaces-roles` ·common | `contentful.listSpacesRoles()` | `--space-id` | 0 | Retrieve all roles from a Contentful space |
| `list-webhooks` ·common | `contentful.listWebhooks()` | `--space-id` | 0 | Retrieves all webhooks configured for a Contentful space |
| `process-asset` ·common | `contentful.processAsset()` | `--asset-id` `--environment-id` `--locale-code` `--space-id` | 1 | Process an asset file in Contentful for a specific locale |
| `publish-asset` ·common | `contentful.publishAsset()` | `--asset-id` `--environment-id` `--space-id` | 1 | Publish an asset in Contentful, making it available via the Content Delivery API |
| `publish-entry` ·common | `contentful.publishEntry()` | `--entry-id` `--environment-id` `--space-id` | 1 | Publish an entry in Contentful, making it available via the Content Delivery API |
| `query-asset-collection` ·common | `contentful.queryAssetCollection()` | `--space-id` | 8 | Retrieve multiple assets with pagination and filtering via GraphQL API |
| `query-graphql-content-type-collection` ·common | `contentful.queryGraphqlContentTypeCollection()` | `--query` `--space-id` | 3 | Query a collection of entries for a specific content type using GraphQL |
| `unarchive-entry` ·common | `contentful.unarchiveEntry()` | `--entry-id` `--environment-id` `--space-id` | 1 | Unarchive an entry in Contentful, restoring it to active status |
| `unpublish-content-type` ·common | `contentful.unpublishContentType()` | `--content-type-id` `--environment-id` `--space-id` `--version` | 0 | Unpublishes a content type in Contentful, removing it from the Content Delivery API |
| `update-app-definition` ·common | `contentful.updateAppDefinition()` | `--app-definition-id` `--organization-id` | 4 | Update an app definition by ID in a Contentful organization |
| `update-content-type` ·common | `contentful.updateContentType()` | `--content-type-id` `--environment-id` `--fields` `--name` `--space-id` `--version` | 2 | Updates an existing content type in a Contentful environment |
| `update-editor-interface` ·common | `contentful.updateEditorInterface()` | `--content-type-id` `--controls` `--environment-id` `--space-id` `--version` | 0 | Update the editor interface configuration for a content type |
| `update-entry` ·common | `contentful.updateEntry()` | `--content-type` `--entry-id` `--environment-id` `--fields` `--space-id` `--version` | 1 | Create or update an entry in a Contentful space environment |
| `update-locale` ·common | `contentful.updateLocale()` | `--code` `--environment-id` `--locale-id` `--name` `--space-id` `--version` | 4 | Updates an existing locale in a Contentful environment |
| `update-organizations-app-def-event-subscription` ·common | `contentful.updateOrganizationsAppDefEventSubscription()` | `--app-definition-id` `--organization-id` `--targetUrl` `--topics` | 0 | Update or create an app event subscription in a Contentful organization |
| `update-organizations-app-def-signing-secret` ·common | `contentful.updateOrganizationsAppDefSigningSecret()` | `--app-definition-id` `--organization-id` `--value` | 0 | Create or overwrite the app signing secret for an app definition |
| `update-organizations-app-definitions-actions` ·common | `contentful.updateOrganizationsAppDefinitionsActions()` | `--app-action-id` `--app-definition-id` `--category` `--name` `--organization-id` `--type` `--url` | 0 | Update an action for a Contentful app definition |
| `update-organizations-app-definitions-details` ·common | `contentful.updateOrganizationsAppDefinitionsDetails()` | `--app-definition-id` `--organization-id` | 0 | Create or update app definition details for an organization in Contentful |
| `update-organizations-enablements` ·common | `contentful.updateOrganizationsEnablements()` | `--builtInAiActions` `--customAiActions` `--organization-id` `--vectorization` `--version` | 0 | Updates feature enablements for a specific organization in Contentful |
| `update-organizations-security-contacts` ·common | `contentful.updateOrganizationsSecurityContacts()` | `--email` `--organization-id` `--security-id` | 0 | Updates an organization security contact that an admin or owner has access to |
| `update-organizations-taxonomy-concept-schemes` ·common | `contentful.updateOrganizationsTaxonomyConceptSchemes()` | `--concept-scheme-id` `--organization-id` `--prefLabel` | 3 | Create or update a taxonomy concept scheme with a user-defined ID in an organization |
| `update-organizations-taxonomy-concepts` ·common | `contentful.updateOrganizationsTaxonomyConcepts()` | `--concept-id` `--organization-id` `--prefLabel` | 5 | Create or update a taxonomy concept with a user-defined ID in a Contentful organization |
| `update-space` ·common | `contentful.updateSpace()` | `--name` `--space-id` `--version` | 0 | Updates the name of a specific space |
| `update-spaces-environments-tags` ·common | `contentful.updateSpacesEnvironmentsTags()` | `--environment-id` `--name` `--space-id` `--sys` `--tag-id` | 1 | Creates or updates a tag in a Contentful environment |
| `update-webhook` ·common | `contentful.updateWebhook()` | `--name` `--space-id` `--topics` `--url` `--webhook-definition-id` | 6 | Updates an existing webhook definition in a Contentful space |
| `validate-bulk-action` ·common | `contentful.validateBulkAction()` | `--entities` `--environment-id` `--space-id` | 1 | Validate a bulk action before executing it |

## Docs

- [run CLI](https://docs.boxd.sh/cli/run): Call connected integrations from the shell, connect new ones, and run automations.
- [Quickstart](https://docs.boxd.sh/guides/integrations/quickstart): Connect an integration, call it from the shell, and turn a script into an automation.
- [Connections](https://docs.boxd.sh/guides/integrations/connections): Connect an account once, for yourself or for your whole organization.
- [Scripts](https://docs.boxd.sh/guides/automations/scripts): Typed integrations, triggers, schedules and state in a .run.ts file.
- [Jobs](https://docs.boxd.sh/guides/automations/jobs): How a script becomes a background job: states, retries, sleep and wake.
- [Beyond the catalog](https://docs.boxd.sh/guides/automations/beyond-the-catalog): Reach your own APIs, databases and cloud accounts from a script.
