# New to Preview in the Apps SDK: Content Publisher Intent MediaSlotWithAutoSelect

**URL:** <https://community.canva.dev/t/new-to-preview-in-the-apps-sdk-content-publisher-intent-mediaslotwithautoselect/8919>\
**Category:** Announcements\
**Tags:** apps-in-canva, product-update\
**Created:** [September 23, 2026, 3:41am UTC](https://community.canva.dev/t/new-to-preview-in-the-apps-sdk-content-publisher-intent-mediaslotwithautoselect/8919 "2026-09-23T03:41:25Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![George\_Mountakis](https://avatars.discourse-cdn.com/v4/letter/g/b77776/32.png) [@George\_Mountakis](https://community.canva.dev/u/George_Mountakis)\
**Post date:** [September 23, 2026, 3:41am UTC](https://community.canva.dev/t/new-to-preview-in-the-apps-sdk-content-publisher-intent-mediaslotwithautoselect/8919/1 "2026-09-23T03:41:25Z")

</div>

We’re excited to introduce [`MediaSlotWithAutoSelect`](https://www.canva.dev/docs/apps/api/preview/intents-content-prepare-content-publisher/) to the [Content Publisher Intent](https://www.canva.dev/docs/apps/intents/content-publisher/) preview. Apps can now ask Canva to pre-select all valid inputs as files when the publish panel first opens.

## What’s new

- `MediaSlotWithAutoSelect` is a new shape available for media slots returned by `getPublishConfiguration`.

- Set `autoSelect: "all_valid_inputs_as_files"` to enable automatic selection.

- Provide a required `fileCount` constraint.

- Define a single media requirement directly in `accepts`, such as `{ format: "jpg" }`.

These options are documented in the [prepareContentPublisher API reference](https://www.canva.dev/docs/apps/api/preview/intents-content-prepare-content-publisher/).

## Why it matters

This can reduce manual selection for workflows such as publishing a bulk created design, helping users start with valid content already selected.

## How to use it

Return the slot from `getPublishConfiguration` and register your handlers with `prepareContentPublisher`. This example assumes your existing UI and publishing handlers are defined in `publish-handlers`:

```typescript
import {
  prepareContentPublisher,
  type GetPublishConfigurationResponse,
  type MediaSlotWithAutoSelect,
} from "@canva/intents/content";

import {
  renderSettingsUi,
  renderPreviewUi,
  publishContent,
} from "./publish-handlers";

const imagesSlot: MediaSlotWithAutoSelect = {
  id: "images",
  displayName: "Post images",
  fileCount: { min: 1 },
  accepts: {
    format: "jpg",
  },
  autoSelect: "all_valid_inputs_as_files",
};

async function getPublishConfiguration():
  Promise<GetPublishConfigurationResponse> {
  return {
    status: "completed",
    outputTypes: [
      {
        id: "image_collection",
        displayName: "Image collection",
        mediaSlots: [imagesSlot],
      },
    ],
  };
}

prepareContentPublisher({
  getPublishConfiguration,
  renderSettingsUi,
  renderPreviewUi,
  publishContent,
});

```

As with all preview APIs, these capabilities are unstable and may change without warning. They can’t be used in public apps until they become stable.
