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

  1. Navigate to Social Marketing ‣ Posts ‣ All Posts

  2. Click New

  3. 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)

  4. 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.

  5. Upload media using the media upload widget

    Drag and drop images or videos, or click to browse. Media is validated against platform requirements automatically.

  6. 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.

  7. 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

Uploading Media

The media upload area accepts images and videos by drag-and-drop or file browser.

For each uploaded file, the system:

  1. Creates a media record with a unique public URL token

  2. Detects the file type (image or video) from the MIME type

  3. Extracts dimensions (for images, if PIL is available)

  4. 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

  1. Ensure your post has a caption, media (if required), and at least one target

  2. Click Publish Now

  3. The system validates the content against all target platform requirements

  4. Targets are queued for publishing

  5. 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

  1. Set the Scheduled For date and time

  2. Click Schedule

  3. The post enters the Scheduled state

  4. 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:

  1. Open the post form

  2. Click the Published/Targets stat button to see individual target status

  3. For each failed target, check the error message

  4. 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

  5. Click Retry on individual failed targets, or

  6. 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