Creating Posts¶
Create social media posts and publish them to your connected Facebook Pages and Instagram accounts. Posts support multiple content types and can target several accounts simultaneously.
Required Permissions¶
You need the Social Marketing / Manager role to create and publish posts. Users with the User role can view posts but cannot create or edit them.
Creating a New Post¶
Navigate to
Click New
Choose a content type using the radio buttons at the top of the form:
Feed Post - Standard post for Facebook and Instagram feeds
Reel/Video - Video content (Instagram Reels)
Story - Temporary content (Instagram Stories)
Carousel - Multiple images/videos (Instagram)
Write your caption in the large text area
Tip
Instagram captions are limited to 2,200 characters and 30 hashtags. Facebook allows up to 63,206 characters. The system validates these limits when you schedule or publish.
Upload media using the media upload widget
Drag and drop images or videos, or click to browse. Media is validated against platform requirements automatically.
Select target accounts in the Post To section
Toggle on the accounts you want to publish to. You can select multiple Facebook Pages and Instagram accounts.
Important
You must select at least one target account before publishing.
Optionally set a schedule in the Scheduled For field
Leave empty to publish immediately when you click Publish Now.
Content Type Requirements¶
Feed Post¶
Facebook: 0-10 images, or 1 video, or text only. Caption optional.
Instagram: 1 image required. Caption recommended.
Reel¶
Instagram only: Exactly 1 video file required
Duration: 3-90 seconds
Max file size: 100 MB
The caption is displayed below the reel
Story¶
Instagram only: Exactly 1 image or video
No caption is displayed on the story itself
Stories disappear after 24 hours on the platform
Carousel¶
Instagram only: 2-10 media items (images or videos)
One shared caption for the entire carousel
Media items are displayed in order – drag to reorder
Uploading Media¶
The media upload area accepts images and videos by drag-and-drop or file browser.
For each uploaded file, the system:
Creates a media record with a unique public URL token
Detects the file type (image or video) from the MIME type
Extracts dimensions (for images, if PIL is available)
Validates against platform requirements
Supported image formats: JPEG, PNG, GIF, WebP
Supported video formats: MP4, MOV, AVI
Warning
Media files must be accessible from the internet when publishing. The module generates temporary public URLs (valid for 24 hours) that Meta’s servers use to download the media during publication.
Publishing a Post¶
Publish Immediately¶
Ensure your post has a caption, media (if required), and at least one target
Click Publish Now
The system validates the content against all target platform requirements
Targets are queued for publishing
The post status changes to Publishing
The publish queue processes targets every minute via a cron job. For images, this typically completes within seconds. Videos may take longer due to Instagram’s async processing.
Schedule for Later¶
Set the Scheduled For date and time
Click Schedule
The post enters the Scheduled state
At the scheduled time, a cron job automatically enqueues the post for publishing
Note
Scheduled times are in the server’s timezone. Ensure your Progrid server timezone is configured correctly.
Post States¶
State |
Description |
Actions Available |
|---|---|---|
Draft |
Post is being edited |
Publish Now, Schedule, Cancel |
Scheduled |
Waiting for scheduled time |
Cancel |
Publishing |
Targets are being processed |
(wait for completion) |
Published |
All targets succeeded |
Refresh Engagement |
Partially Published |
Some targets succeeded, some failed |
Refresh Engagement, Retry failed |
Failed |
All targets failed |
Reset to Draft |
Cancelled |
Manually cancelled |
Reset to Draft |
Viewing Publishing Results¶
After publishing, the form view shows:
Published/Targets stat button - Click to see all targets with their status
Likes stat button - Total likes across all platforms
Comments stat button - Click to view synced comments
Reach stat button - Total reach across all platforms
The Engagement tab (visible after publishing) shows per-platform breakdown:
Likes, comments, shares per target
Reach and impressions per target
Saves (Instagram only)
Last sync time
Each target row includes:
Retry button for failed targets
View button to open the post on the platform in a new tab
Handling Failed Posts¶
If a post fails:
Open the post form
Click the Published/Targets stat button to see individual target status
For each failed target, check the error message
Common fixes:
Token expired - Reconnect the account
Rate limit - Wait and retry
Media too large - Replace with a smaller file
Invalid aspect ratio - Crop the image to meet requirements
Click Retry on individual failed targets, or
Click Reset to Draft to edit and re-publish the entire post
Tip
The system automatically retries transient errors (network timeouts, rate limits, server errors) up to 5 times with exponential backoff. Only permanent errors (invalid token, permission denied, invalid media) are marked as final failures.
Best Practices¶
Preview before publishing - Review your caption and media carefully. Once published, posts cannot be edited from Progrid.
Test with one account first - When starting out, publish to a single account to verify the workflow before targeting multiple accounts.
Mind Instagram limits - Keep captions under 2,200 characters, use no more than 30 hashtags, and respect the 25 posts/day limit.
Use scheduling - Schedule posts during peak engagement hours for your audience.
Check engagement - Return to published posts to monitor performance using the engagement stats and comments.
See also
Scheduling Posts - Detailed scheduling workflow
Engagement Tracking - Monitoring engagement and replying to comments
Connecting Accounts - Connecting accounts for publishing