Native IntegrationsREST APISigned WebhooksIdempotencyOpenAPI

Automation platform — native first, API always on

Deliver deep, no-extra-cost integrations for everyday workflows. Go further with a developer-grade REST API, signed webhooks, idempotency, and an OpenAPI spec. Zapier/n8n/Make remain optional via our API.

Google SheetsNotionAirtableSlackDiscordIncoming & Outgoing WebhooksUTM BuilderGCal/Calendly (Optional)
Note: This page is a conceptual overview of Postly Automations and API. Examples and payloads below are mock samples for illustration only. For live and versioned endpoints, please visit docs.postly.ai or check the dashboard for your workspace API keys and event logs.
Native integrations • Secure webhooks • Idempotent REST • OpenAPI • No extra cost

What’s included

Native Integrations (v1)

  • Google Sheets — OAuth connect, column mapping, auto-sync rows → drafts/scheduled posts.
  • Notion — database connect, property mapping, sync statuses.
  • Airtable — base/table connect, field mapping, incremental sync.
  • Slack — approvals, publish/failed alerts, weekly summaries.
  • Discord — publish/failed alerts to selected channels.
  • Incoming Webhooks — push content into Postly from any system.
  • Outgoing Webhooks — receive events (post.created / scheduled / published / failed).
  • UTM Builder — consistent tracking for all outbound links.
  • Google Calendar/Calendly (optional) — campaign reminders/visibility.

No extra cost. Plug-and-play for non-technical teams.

Developer Layer (always on)

  • Public REST API — versioned endpoints, pagination, rate-limit headers.
  • Webhooks — signed, retries, and test events.
  • Idempotency — safe retries via Idempotency-Key.
  • OpenAPI Spec — import to Postman/SDK generators.
  • Sample Scripts/SDK Snippets — quick starts for common jobs.

No-Code (secondary)

If you prefer, wire up Zapier, n8n, or Make using our API and webhooks. These are supported as well.

  • Trigger publishes from Sheets/Airtable.
  • Route approvals and failure alerts.
  • Sync statuses across tools.

How Postly automations work

The flow below is a conceptual mockup. Actual field names and toggles may vary by workspace and will be reflected in your dashboard.

  1. 1

    Connect Sheets / Notion / Airtable (OAuth). Map fields to Postly (caption, media URL, schedule, status).

  2. 2

    Choose sync behavior: new rows only, or incremental sync on “Status = Ready”.

  3. 3

    Postly creates drafts/schedules. Send approval alerts to Slack/Discord via outgoing webhooks.

  4. 4

    Publish. Receive webhook events (created/scheduled/published/failed). Track with UTM Builder.

Setup mini-guides

These steps are conceptual mock guides for the upcoming native integrations. The final UI and field mapping will be confirmed in the dashboard and documented at docs.postly.ai.

Google Sheets

  1. Connect via OAuth and pick a sheet.
  2. Map columns: caption, mediaUrl, scheduleTime, status.
  3. Select sync rule: On new row or Status = Ready.
  4. Preview → create drafts or scheduled posts.

Notion

  1. Connect workspace and choose a database.
  2. Map properties: Title/Caption, Media URL(s), Schedule (date), Status (select).
  3. Enable incremental sync on Status changes.
  4. Optionally return publish status back to a Notion “Result” field.

Airtable

  1. Connect base/table and pick a view (e.g., “Ready to Publish”).
  2. Map fields; enable incremental sync using a checkbox or single-select column.
  3. Postly upserts drafts/schedules; failed rows remain in view for quick fixes.

Slack & Discord (alerts/approvals)

  1. Connect Slack/Discord and choose a channel.
  2. Enable publish and failed alerts; optionally enable weekly summaries.
  3. To require approvals, toggle “Approval needed” in Postly; approvers get channel prompts.

Webhook events

The events below are representative examples. The full and up-to-date webhook reference is maintained in the API Docs.

EventWhenPayload (key fields)Notes
post.createdDraft created (from sync/API)id, workspaceId, platforms[], status=draftUse to trigger approval workflow.
post.scheduledPost scheduled with timeid, scheduleTime, platforms[], status=scheduledReliable scheduling; retries on transient failures.
post.publishedSuccessfully publishedid, publishedAt, perPlatformResults[]Update external sheets/DBs with permalinks.
post.failedPublish attempt failedid, error.code, error.message, attemptRoute to Slack/Discord for quick remediation.
file.uploadedAsset storedfileId, mime, size, checksumUse for asset processing or audits.

All webhooks are signed. Retries use exponential backoff. Test events available in sandbox.

REST API quickstart

These cURL snippets are mock samples to demonstrate the concepts. Refer to docs.postly.ai for accurate endpoints, schemas, and SDK examples.

Create a scheduled post (idempotent):

curl -X POST https://api.postly.ai/posts \
  -H 'X-API-KEY: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 123e4567-e89b-12d3-a456-426614174000' \
  -d '{
    "workspaceId":"ws_123",
    "text":"AI caption",
    "platforms":["x","instagram"],
    "media":[{"url":"https://example.com/image.jpg"}],
    "scheduleTime":"2025-12-01T10:00:00Z",
    "utm":{"source":"postly","campaign":"winter_drop"}
  }'

Subscribe to webhooks (REST-hook):

curl -X POST https://api.postly.ai/webhooks \
  -H 'X-API-KEY: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "url":"https://example.com/hooks/postly",
    "events":["post.created","post.scheduled","post.published","post.failed"],
    "secret":"your-signing-secret"
  }'

Auth

Account-wide API keys. Rotate in dashboard. Per-workspace scoping coming soon.

Idempotency

Send a unique Idempotency-Key for safe retries; duplicates return the original result.

Pagination & Limits

Standard cursor pagination; responses include X-RateLimit-* headers.

Security & reliability

Signed webhooks

HMAC signatures with shared secret; reject mismatches.

Retry policy

Automatic exponential backoff on transient errors.

Audit trails

Every action is logged with actor, time, and payload digest.

Permissions

Role-based access; governed publishing for brands.

Environments

Sandbox

Use sandbox API keys to test without publishing live. Send test webhooks, validate signatures, iterate safely.

Production

Rotate keys regularly, enable Slack/Discord alerts, monitor rate limits, and set fallback schedules on long queues.

Common automation recipes

Recipes are illustrative only; confirm exact toggles and payloads in your dashboard and the API Docs.

Sheets → Postly → Slack

  1. New row with Status=Ready
  2. Postly creates schedule
  3. Outgoing webhook posts summary to #approvals

Great for content ops with light approvals.

Notion board → Postly

  1. Card moved to “Ready”
  2. Postly drafts the post
  3. Approver toggles “Approved” to schedule

Keeps teams in Notion; Postly handles the heavy lifting.

Airtable view → Postly + Discord

  1. View filters “Publish = true”
  2. Postly schedules at preferred times
  3. Discord alerts on failures

Good for agencies with channel-specific views.

Frequently Asked Questions

Is Postly an automation tool or a scheduler?

Automation tool. Scheduling is one capability. We lead with native integrations and a full developer layer so teams can automate end-to-end.

Do I need Zapier/n8n/Make to use Postly?

No. They are optional. Most flows can be done natively or via our REST API and signed webhooks. Use Zapier/n8n/Make only if you prefer.

What are the first-class native integrations?

Google Sheets, Notion, Airtable, Slack, Discord, Incoming/Outgoing Webhooks, UTM Builder, and optionally Google Calendar/Calendly.

How do I start as an engineer?

Grab an API key, import our OpenAPI spec to Postman, enable test webhooks, and ship using idempotent requests.

This page provides an early conceptual overview of Postly Automations. Final API specifications, payload formats, and SDKs will be maintained at docs.postly.ai and in your workspace dashboard.