Overview

Social Marketing allows businesses to publish content to Facebook Pages and Instagram Business accounts directly from within Progrid. Instead of switching between multiple platforms, social media managers can compose, schedule, and track all their social content from one central interface.

What Problem Does It Solve?

Managing social media presence across Facebook and Instagram typically requires:

  • Logging into each platform separately

  • Re-uploading the same media multiple times

  • Manually tracking which posts went where

  • No centralized engagement analytics

Social Marketing consolidates this into a single workflow inside Progrid, with the added benefits of scheduling, multi-account posting, and automatic engagement tracking.

Target Users

Social Media Managers

Create and schedule posts, upload media, monitor engagement metrics, and reply to comments on published posts.

Marketing Team Members

View published posts, engagement data, and connected accounts in read-only mode.

Supported Platforms

Platform

Description

Facebook Pages

Business Pages you manage. Supports text posts, single images, multi-image posts (up to 10), and video posts.

Instagram Business

Instagram accounts linked to a Facebook Page. Supports feed posts (image), reels (video), stories (image or video), and carousels (2-10 media items).

Note

Personal Facebook profiles and personal Instagram accounts are not supported. Only Facebook Pages and Instagram Business accounts connected via Meta Business tools are available.

Key Concepts

Posts

A post is the central content unit. It contains:

  • Caption - The text content of the post (max 2,200 characters for Instagram, 63,206 for Facebook)

  • Media - Attached images or videos

  • Content Type - Feed Post, Reel, Story, or Carousel

  • Schedule - Optional date/time for future publication

A single post can be published to multiple accounts simultaneously.

Publishing Targets

A target represents one post going to one account. If you publish the same post to a Facebook Page and an Instagram account, that creates two targets. Each target tracks its own:

  • Publishing state (draft, queued, processing, done, failed)

  • URL on the platform

  • Engagement metrics (likes, comments, shares, reach, impressions)

  • Error details and retry status

Accounts

A social account is a connected Facebook Page or Instagram Business account. Each account stores:

  • Platform type

  • Connection status (active, needs reauthorization, disconnected)

Accounts are connected through an authorization flow and are company-specific.

Content Types

Type

Platforms

Requirements

Feed Post

Facebook, Instagram

0-10 images or 1 video. Caption required for Instagram.

Reel

Instagram

Exactly 1 video (3-90 seconds, max 100 MB).

Story

Instagram

Exactly 1 image or video. No caption displayed.

Carousel

Instagram

2-10 images or videos. Caption applies to the carousel.

Media Requirements

Instagram Images:

  • Maximum file size: 8 MB

  • Aspect ratio: between 4:5 (portrait) and 1.91:1 (landscape)

  • Supported formats: JPEG, PNG

Instagram Videos (Reels):

  • Maximum file size: 100 MB

  • Duration: 3-90 seconds

  • Supported formats: MP4, MOV

Facebook Videos:

  • Maximum file size: 4 GB

  • Supported formats: most video formats

Data Model Overview

social.config          (1 per company - Meta App credentials)
    |
social.account         (Facebook Pages + Instagram accounts)
    |
social.post            (Content: caption, media, content type, schedule)
    |
social.post.target     (One per post-account pair, tracks state + engagement)
    |
social.comment         (Synced comments from FB/IG, threaded)
    |
social.media           (Media attachments with platform validation)
    |
social.publish.queue   (Async publishing queue entries)

Integration Points

  • Mail Module - Posts inherit mail.thread and mail.activity.mixin for internal notes, activity scheduling, and chatter on post records.

  • Multi-Company - All records are company-scoped with record rules. Each company has its own Meta App configuration and connected accounts.

  • Cron System - Six automated jobs handle scheduled post processing, publish queue execution, token refresh, engagement sync, stale job recovery, and old record cleanup.

Post Lifecycle

Draft --> Scheduled --> Publishing --> Done
  |          |              |           |
  |          |              +--> Partially Published
  |          |              |
  |          |              +--> Failed
  |          |
  +--> Cancelled <--+
  |                 |
  +-- Reset to Draft
  1. Draft - Post is being composed. Edit caption, attach media, select target accounts.

  2. Scheduled - Post is validated and waiting for its scheduled time (or queued for immediate publish).

  3. Publishing - Targets are being processed by the publish queue.

  4. Done - All targets published successfully.

  5. Partially Published - Some targets succeeded, some failed.

  6. Failed - All targets failed.

  7. Cancelled - Post was manually cancelled.

Failed and cancelled posts can be reset to draft for editing and re-publishing.

See also