🧪 Skills
Publora Facebook
Post or schedule content to Facebook Pages using the Publora API. Use this skill when the user wants to publish or schedule Facebook posts via Publora.
v1.1.0
Description
name: publora-facebook description: > Post or schedule content to Facebook Pages using the Publora API. Use this skill when the user wants to publish or schedule Facebook posts via Publora.
Publora — Facebook
Facebook platform skill for the Publora API. For auth, core scheduling, media upload, and workspace/webhook docs, see the publora core skill.
Base URL: https://api.publora.com/api/v1
Header: x-publora-key: sk_YOUR_KEY
Platform ID format: facebook-{pageId}
If you manage multiple Pages, each Page gets its own platform ID.
Requirements
- A Facebook Page (not a personal profile) connected via OAuth
- Page admin permissions granted during OAuth
Platform Limits (API)
⚠️ API video limits are significantly stricter than native.
| Property | API Limit | Native App |
|---|---|---|
| Text | 63,206 characters | Same |
| Images | Up to 10 × 10 MB | JPEG, PNG, GIF, BMP, TIFF |
| Video | 45 min / 2 GB | 240 min / 4 GB |
| Reels duration | 90 seconds | 90 seconds |
| Reels rate limit | 30 Reels/day/Page | — |
| Reels posting | Pages only (not profiles) | — |
| Text only | ✅ Yes | — |
Common errors:
Error 1363026— video over 40 min → trim to under 45 minError 1363023— file over 2 GB → compressError 1363128— Reels duration outside 3–90s range
Posts under 80 characters get 66% more engagement on Facebook.
Post a Text Update
await fetch('https://api.publora.com/api/v1/create-post', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'x-publora-key': 'sk_YOUR_KEY' },
body: JSON.stringify({
content: 'Exciting news from our team! We just launched a new feature. Check it out at publora.com 🎉',
platforms: ['facebook-123456789']
})
});
Schedule a Post
body: JSON.stringify({
content: 'Your Facebook Page update',
platforms: ['facebook-123456789'],
scheduledTime: '2026-03-20T13:00:00.000Z'
})
Post with Image
// Step 1: Create post
const post = await fetch('https://api.publora.com/api/v1/create-post', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'x-publora-key': 'sk_YOUR_KEY' },
body: JSON.stringify({
content: 'Check out our latest product photo!',
platforms: ['facebook-123456789']
})
}).then(r => r.json());
// Step 2: Get upload URL
const upload = await fetch('https://api.publora.com/api/v1/get-upload-url', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'x-publora-key': 'sk_YOUR_KEY' },
body: JSON.stringify({
postGroupId: post.postGroupId,
fileName: 'photo.jpg',
contentType: 'image/jpeg',
type: 'image'
})
}).then(r => r.json());
// Step 3: Upload
await fetch(upload.uploadUrl, {
method: 'PUT',
headers: { 'Content-Type': 'image/jpeg' },
body: imageBytes
});
Post a Reel (3–90 seconds)
Use the same flow but upload a short video file. Reels are posted to Pages only.
Platform Quirks
- Pages only — personal profiles are not supported via the Facebook Graph API
- Multiple pages — each Page has a separate platform ID; connect them individually in Publora dashboard
- Video limits: 45 min / 2 GB via API (native allows 240 min / 4 GB)
- Reels: Must be 3–90 seconds; limited to 30 per day per Page
- Carousels: Up to 10 images or videos (cannot mix in the same carousel)
- Rate limit formula: 200 × users/hour
Reviews (0)
Sign in to write a review.
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!