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
- Navigate to your site in the Fig1 dashboard
- Click CMS in the left sidebar
- 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
- Use the Content Type dropdown in the toolbar
- Select a type to show only items of that type
- 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:
- Filter to a single content type
- Hover over a row to see the drag handle (⋮⋮)
- Click and drag to reorder
- Drop to set the new position
- Order is saved automatically via
sortOrderfield
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
- Click Create Content button
- If not filtered, select a content type
- 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
- Modify any field values
- Changes are tracked but not saved automatically
- 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
- Click the Select Media button
- Media Library opens in a modal
- Navigate folders or search
- Click a file to select it
- Click Select to confirm
Changing Media
- Click Change on the current selection
- Select a new file
- Previous selection is replaced
Removing Media
- Click Remove on the current selection
- Field is cleared
Uploading New Media
- In the Media picker modal, click Upload
- Upload files directly
- Select the newly uploaded file
Content Picker (References)
For Reference and References fields:
Selecting Content
- Click Select Content button
- Content picker opens with filtered results
- Only content of the target type is shown
- Search or browse to find items
- Click to select (single) or check multiple (references)
- 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
- Open a content item
- Use the Status dropdown
- Select new status
- 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:
- Create content as Draft
- Edit and review
- Change to Published
- 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
- Select items
- Click the action button in toolbar
- Confirm if prompted
- Items are updated
Deleting Content
Single Item
- Open the content item
- Click Delete in the menu
- Confirm deletion
Bulk Delete
- Select items to delete
- Click Delete in toolbar
- 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:
- Text content is automatically indexed
- Custom fields marked
aiIndexedare included - 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:
- Keep it in Draft status
- Or mark sensitive fields as
aiIndexed: falsein 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
- Use drafts for work-in-progress - Only publish when ready
- Fill required fields - Complete content is more useful
- Add descriptive titles - Helps search and AI
- Use references - Link related content together
- Review before publishing - Published content is immediately live
- 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