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.
What’s included
Native Integrations (v1)
- Google Sheets — OAuth connect, column mapping, auto-sync rows → drafts/scheduled posts.
- Incoming Webhooks — push content into Postly from any system.
- Outgoing Webhooks — receive events (post.created / scheduled / published / failed).
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
Connect Sheets / Notion / Airtable (OAuth). Map fields to Postly (caption, media URL, schedule, status).
- 2
Choose sync behavior: new rows only, or incremental sync on “Status = Ready”.
- 3
Postly creates drafts/schedules.
- 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
- Connect via OAuth and pick a sheet.
- Map columns:
caption,mediaUrl,scheduleTime,status. - Select sync rule: On new row or Status = Ready.
- Preview → create drafts or scheduled posts.
Webhook events
The events below are representative examples. The full and up-to-date webhook reference is maintained in the API Docs.
| Event | When | Payload (key fields) | Notes |
|---|---|---|---|
| post.created | Draft created (from sync/API) | id, workspaceId, platforms[], status=draft | Use to trigger approval workflow. |
| post.scheduled | Post scheduled with time | id, scheduleTime, platforms[], status=scheduled | Reliable scheduling; retries on transient failures. |
| post.published | Successfully published | id, publishedAt, perPlatformResults[] | Update external sheets/DBs with permalinks. |
| post.failed | Publish attempt failed | id, error.code, error.message, attempt | Retry. |
| file.uploaded | Asset stored | fileId, mime, size, checksum | Use 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, 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.
Google Sheets → Postly
- New row with Status=Ready
- Postly creates schedule
- Outgoing webhook posts summary to #approvals
Great for content ops with light approvals.
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, 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.