Content Manager

The Content Manager lets you create and manage content using your custom content types. Dynamic forms are generated from your schemas, making it easy for editors to create structured content.

Accessing the Content Manager

  1. Navigate to your site in the Fig1 dashboard
  2. Click CMS in the left sidebar
  3. Select the Content tab

Interface Overview

The Content Manager interface shows:

  • Type Selector - Filter by content type
  • Content List - Table of content items
  • Toolbar - Create, bulk actions, search
  • Content Editor - Form for editing items

Viewing Content

Filtering by Type

  1. Use the Content Type dropdown in the toolbar
  2. Select a type to show only items of that type
  3. Select "All Types" to see everything

List Columns

The content list shows columns based on your content type:

| Column | Description | |--------|-------------| | Title | Content title (linked to editor) | | Status | Draft, Published, or Archived | | Type | Content type name | | Updated | Last modification date | | Custom Fields | Fields marked "Show in List" |

Sorting

Click column headers to sort:

  • Click once for ascending
  • Click again for descending
  • Default sort is by updated date

Drag-and-Drop Ordering

Content items can be manually reordered using drag-and-drop:

  1. Filter to a single content type
  2. Hover over a row to see the drag handle (⋮⋮)
  3. Click and drag to reorder
  4. Drop to set the new position
  5. Order is saved automatically via sortOrder field

The sortOrder field is available via the API and can be used to display content in your app in the order set by editors.

Searching

Use the search bar to find content by:

  • Title
  • Content body
  • Custom field values (if searchable)

Creating Content

Step 1: Start New Content

  1. Click Create Content button
  2. If not filtered, select a content type
  3. The editor opens with a dynamic form

Step 2: Fill in Fields

The form shows all fields defined in your content type:

Built-in Fields

| Field | Description | |-------|-------------| | Title | Required headline for the content | | Slug | URL identifier (auto-generated from title) | | Content | Rich text editor for body content | | Excerpt | Short summary text | | Featured Image | Opens Media Library picker | | Published At | Publication date/time |

Custom Fields

Your custom fields appear with appropriate inputs:

  • Text → Text input
  • Textarea → Multi-line editor
  • Number → Number input with increment buttons
  • Boolean → Toggle switch
  • Date → Date picker
  • Select → Dropdown menu
  • Multiselect → Checkbox group or chips
  • Media → Media Library picker button
  • Reference → Content picker button
  • JSON → Code editor

Step 3: Set Status

Choose the content status:

| Status | Description | |--------|-------------| | Draft | Work in progress, not public | | Published | Live and accessible | | Archived | Hidden but preserved |

Step 4: Save

Click Save to create the content. It's immediately available via API and (if published) indexed for AI.

Editing Content

Opening the Editor

  • Click on any content item in the list
  • Or click the Edit button in the row actions

Making Changes

  1. Modify any field values
  2. Changes are tracked but not saved automatically
  3. Click Save to persist changes

Field Validation

The editor validates fields in real-time:

  • Required fields show errors if empty
  • Min/max values are enforced
  • Pattern validation shows format errors
  • Invalid forms cannot be saved

Media Picker

For Media and File fields:

Selecting Media

  1. Click the Select Media button
  2. Media Library opens in a modal
  3. Navigate folders or search
  4. Click a file to select it
  5. Click Select to confirm

Changing Media

  1. Click Change on the current selection
  2. Select a new file
  3. Previous selection is replaced

Removing Media

  1. Click Remove on the current selection
  2. Field is cleared

Uploading New Media

  1. In the Media picker modal, click Upload
  2. Upload files directly
  3. Select the newly uploaded file

Content Picker (References)

For Reference and References fields:

Selecting Content

  1. Click Select Content button
  2. Content picker opens with filtered results
  3. Only content of the target type is shown
  4. Search or browse to find items
  5. Click to select (single) or check multiple (references)
  6. Click Select to confirm

Reference Field

Links to one content item:

  • Shows title of selected content
  • Click to view/change selection
  • Click Remove to clear

References Field

Links to multiple content items:

  • Shows list of selected items
  • Drag to reorder
  • Click Add to select more
  • Click × to remove individual items

Status Management

Changing Status

  1. Open a content item
  2. Use the Status dropdown
  3. Select new status
  4. Click Save

Status Behavior

| Status | API Access | AI Index | Editor Access | |--------|------------|----------|---------------| | Draft | Optional filter | No | Yes | | Published | Default | Yes | Yes | | Archived | Must filter | No | Yes |

Publishing Workflow

Typical workflow:

  1. Create content as Draft
  2. Edit and review
  3. Change to Published
  4. Optionally Archive when outdated

Bulk Actions

Selecting Multiple Items

  • Check the checkbox on each row
  • Or use Select All in the header

Available Actions

With items selected:

| Action | Description | |--------|-------------| | Publish | Set all to Published | | Unpublish | Set all to Draft | | Archive | Set all to Archived | | Delete | Remove selected items |

Performing Bulk Actions

  1. Select items
  2. Click the action button in toolbar
  3. Confirm if prompted
  4. Items are updated

Deleting Content

Single Item

  1. Open the content item
  2. Click Delete in the menu
  3. Confirm deletion

Bulk Delete

  1. Select items to delete
  2. Click Delete in toolbar
  3. Confirm deletion

Warning: Deletion is permanent. Content is removed from:

  • Database
  • AI knowledge base
  • Any references (broken links)

Content in AI Knowledge Base

Automatic Indexing

When content is Published:

  1. Text content is automatically indexed
  2. Custom fields marked aiIndexed are included
  3. Content is immediately searchable by your AI agent

What Gets Indexed

  • Title
  • Content body
  • Excerpt
  • Custom fields with aiIndexed: true

AI Instruction Template

If your content type has an instruction template, it provides context to the AI about how to use this content.

Example for a Product type:

"This is a product. Focus on features, price, and availability when answering questions."

Excluding Content from AI

To exclude specific content:

  1. Keep it in Draft status
  2. Or mark sensitive fields as aiIndexed: false in the type

API Integration

Manage content via SDK:

// List content
const posts = await fig1.content.list({
  type: 'blog-post',
  status: 'published',
  limit: 10
});

// Get single item
const post = await fig1.content.get('post-id');

// Create content
const newPost = await fig1.content.create({
  type: 'blog-post',
  title: 'My New Post',
  content: '<p>Post content here...</p>',
  status: 'draft',
  customFields: {
    readingTime: 5,
    category: 'Technology',
    featured: true
  }
});

// Update content
await fig1.content.update('post-id', {
  status: 'published',
  customFields: {
    featured: false
  }
});

// Delete content
await fig1.content.delete('post-id');

See the Content API Reference for complete documentation.

Best Practices

  1. Use drafts for work-in-progress - Only publish when ready
  2. Fill required fields - Complete content is more useful
  3. Add descriptive titles - Helps search and AI
  4. Use references - Link related content together
  5. Review before publishing - Published content is immediately live
  6. Archive instead of delete - Preserve content history

Troubleshooting

Can't Save Content

  • Check for validation errors (red fields)
  • Ensure required fields are filled
  • Check your internet connection

Media Not Loading

  • Refresh the page
  • Check Media Library access
  • Try selecting a different file

Reference Picker Empty

  • Verify the target content type exists
  • Create content of that type first
  • Check content type slug matches

Content Not in AI

  • Ensure status is Published
  • Wait a moment for indexing
  • Check AI configuration on content type

Next Steps