Resources
Resources are the primary content items in OptiPub. Each resource belongs to a publication, is written by an author, and is categorized into one of four types. Resources can be displayed on your website, sent as email messages, or both — depending on the category.
Navigate to Content → Resources
Resource Categories
Every resource belongs to a category that determines how it can be used. The four built-in categories are:
| Category | Description | Rankable | Can Send as Message |
|---|---|---|---|
| Article | Newsletter content that is posted to the web and emailed to subscribers. Sent as an email-article message type | No | Yes |
| Lift Letter | Dedicated promotional or renewal sends. Sent as an email-promo or email-renewal message type | No | Yes |
| Bonus Report | Downloadable or viewable reports, often gated behind a subscription | Yes | No |
| Resource | General-purpose content for websites and reference material | Yes | No |
Rankable categories support drag-and-drop ordering, which controls the display order on your website. Send as Message categories show a Send Message button that creates a prefilled message from the resource.
Custom categories can also be created under Settings → Resource Categories.
Creating a Resource
Click the Create button on the resources list to open the creation dialog. You are prompted to choose how to populate the resource content:
| Option | Description |
|---|---|
| Google Docs | Import content from a publicly accessible Google Doc by pasting its URL |
| Browse Templates | Load content from an existing content template |
| ActiveCampaign | Import from an ActiveCampaign campaign message. Only available when ActiveCampaign is configured |
| Start from scratch | Open a blank resource form and build content manually in the visual editor |
After choosing an import source (or starting from scratch), the full resource form opens.
Resource Form
The form is organized into sections: General Settings, Website Settings, Email Settings, Build, and (conditionally) Rank Ordering.
At the top of the form, two controls are always visible:
| Field | Description |
|---|---|
| Active | Whether the resource is live. Inactive resources are excluded from the public API and website |
| Tags | Attach Tags to organize resources across the platform |
General Settings
| Field | Required | Description |
|---|---|---|
| Category | Yes | The resource category (Article, Lift Letter, Bonus Report, or Resource). Cannot be changed after creation |
| Publication | Yes | The publication this resource belongs to. Cannot be changed after creation |
| Author | Yes | The author of this resource. Filtered to authors within the selected publication |
| Description | No | A short internal description of the resource |
Website Settings
| Field | Required | Description |
|---|---|---|
| Title | Yes | The resource title. Auto-generates the URL slug when first set |
| Meta Description | Yes | The description used by search engines |
| Subtitle | No | An optional subtitle displayed alongside the title |
| Thumbnail Image | No | An image from Assets used as the resource thumbnail |
| External resource | No | Off by default. When on, title and thumbnail links on your website go to External URL instead of a resource page, and the body is not shown to end users |
| External URL | Yes* | Required when External resource is on. Must be a full URL (including https://) |
| Displays on Website | No | Whether the resource is visible on the public website |
| Featured | No | Whether the resource is marked as featured |
| Show Date | No | Toggle on to display a date with the resource. When enabled, a Display Date picker appears — it defaults to today |
Additional Settings
This section is hidden when External resource is on.
Expand the Additional Settings row to reveal:
| Field | Description |
|---|---|
| URL Slug | The URL-friendly identifier for this resource. Auto-generated from the title, but can be edited via the pencil icon |
| Canonical URL | An optional canonical URL for SEO when the resource is cross-posted |
| Attach a PDF from Assets. A resource must have either content or a PDF (or both), unless it is an External resource | |
| Related Resources | Link to other resources that are related to this one |
| Related Videos | Link to videos that are related to this one |
Email Settings
This section is hidden when External resource is on.
These fields are prefilled into the message when the resource is sent as an email.
| Field | Description |
|---|---|
| Subject Line | The default email subject line. Deceptive prefixes like RE: or FWD: are blocked per mailbox provider guidelines |
| Preview Line | The default email preview text (the snippet shown next to the subject in an inbox) |
Build Your Resource
This section is hidden when External resource is on.
When External resource is off, the resource body is built using the GrapesJS visual editor. The content is wrapped in your website or email template at display time.
A hosted resource must have either content (built in the editor) or an attached PDF. It can also have both. External resources require an External URL instead.
Rank Ordering
This section only appears when all of the following are true:
- The resource category supports ranking (Bonus Report or Resource)
- The resource is Active
- Displays on Website is enabled
When visible, a drag-and-drop list lets you reorder all resources in the same category and publication. The rank determines the display order on your website.
Ranks are shared across all active, website-visible resources in the same category and publication, so reordering one resource updates the rank for all of them.
Sending a Resource as a Message
Article and Lift Letter resources can be sent as email messages directly from the resource list or edit form. Click the Send Message button to create a new message prefilled with the resource's publication, content, subject line, and preview line.
- Articles create an
email-articlemessage and skip ahead to the content step - Lift Letters create an
email-promooremail-renewalmessage, depending on whether the message promotes another publication
This button is not available for Bonus Report or Resource categories, or when External resource is on.
WordPress Integration
Resources are synced to your WordPress site via the OptiPub WordPress plugin. When a resource is marked as Active and Displays on Website, the plugin automatically pulls it during its scheduled sync and creates a corresponding WordPress post.
Publish on Send
When sending an Article resource as an email message, you can enable the Publish On Send toggle in the message form. This automatically marks the resource as Active and Displays on Website at the moment the message is dispatched — so your email goes out and your website is updated in one shot, without having to manually publish the resource separately.
Publish On Send is available for
email-articlemessages only.
Editing a Resource
Click on any resource in the list to view it, then click Edit to make changes. All fields except Category and Publication can be updated. The form also supports auto-save, which periodically saves unsaved changes.
Resources can also be copied to create a duplicate as a starting point for a new resource.
Translations
When translations are enabled, a saved resource's edit form has a Translations section. Pick one or more Languages and click Translate to have the AI produce a translated copy of the title, subtitle, description, meta description, subject line, preview line, annotation, and content. Tags, related resources, and videos are copied over, and each translation gets its own URL slug.
Translated resources are used automatically by campaign links generated in that language, by messages sent in multiple languages, and by the public resources API and elements. See Translations for how to review, update, and manage them.
Active, Displays on Website, Featured, Show Date (and its date), External resource, and rank ordering are set on the original and apply to every translation. These controls are read-only on a translation's edit form, and publishing the original (including via Publish On Send) publishes its translations with it.
List View
The resource list displays all resources across publications in a searchable data table. Full-text search is available via the search bar. The following columns are available:
| Column | Filter type | Default |
|---|---|---|
| ID | Number | Shown |
| Legacy ID | Number | Hidden |
| Publication | Select | Shown |
| Category | Select | Shown |
| Author | Select | Shown |
| Title | Text search | Shown |
| Subtitle | Text search | Hidden |
| Subject Line | Text search | Hidden |
| Preview Line | Text search | Hidden |
| Description | Text search | Hidden |
| Content | Text search | Hidden |
| Meta Description | Text search | Hidden |
| Canonical URL | Text search | Hidden |
| External | Boolean | Hidden |
| External URL | Text search | Hidden |
| Rank | Number | Hidden |
| Thumbnail | — | Hidden |
| — | Hidden | |
| Tags | Select | Shown |
| Featured | Boolean | Hidden |
| Active | Boolean | Shown |
| Display on Website | Boolean | Shown |
| Display Date | Date | Hidden |
| Created | Date | Hidden |
| Updated | Date | Shown |
With translations enabled, the list shows original-language resources only. The Show translations toggle in the toolbar includes translated copies and adds Language and Translations columns.
Resource Categories (Settings)
Custom resource categories can be managed under Settings → Resource Categories.
| Field | Required | Description |
|---|---|---|
| Name | Yes | The category name |
| Description | No | A description of the category |
| URL Slug | No | A URL-friendly identifier for the category |
| Thumbnail Image | No | An image from Assets used as the category thumbnail |
| Parent Category | No | An optional parent category for hierarchy |
| Uses Ranks | Yes | Whether resources in this category support drag-and-drop ordering |
| Public | Yes | Whether this category is publicly visible |
Dynamic Resource Pages
Resources can be used with dynamic pages. By setting a page path to {$sys_resource.slug}, OptiPub generates an individual page for each resource. You can build nested paths like {$sys_resource.category.slug}/{$sys_resource.slug} for category-based URLs.
Inside the page content, use system macros such as {$sys_resource.title}, {$sys_resource.content}, and {$sys_resource.description} to render resource data dynamically.
Updated 6 days ago

