Portal Community

Shared Input Pattern

Every operation on this node takes the same top-level config keys, plus its own operation-specific fields:

KeyRequiredDescription
resource✓ YesOne of page, post, message, reactions, moderation, media.
operation✓ YesThe operation within that resource, e.g. post, getFeed.
credentialIDRecommendedVault reference resolving the Page access token. See Authentication.
pageAccessTokenFallbackInline token, used only if the vault yields nothing. Development only.
pageIdPer-operationRequired by most page/media/message.getConversations operations; not needed by operations that address a post/comment directly by ID.

Everything else is specific to the chosen resource + operation pair — see that resource's page for the exact field list.

Cursor Pagination

Every list-style operation (page.getFeed, post.getComments, message.getConversations) uses the same cursor pattern:

  1. Call with limit set (default 25) and no after.
  2. Read nextCursor from the response. It's null/absent when there's no more data.
  3. Pass that value back as after on the next call to continue from where you left off.

count in the response is the number of items in that page, extracted from the Graph API's data array length — not a total across all pages.

Shared Output Shape

A successful call writes its fields onto the node's success output port, wrapped as a single-item array under items alongside status, resource, and operation metadata. The field names documented on each operation's page are the payload inside that item.

Raw JSON on list operations: page.getFeed, post.getComments, message.getConversations, and page.getInsights return the underlying Graph API response body verbatim as a string field (posts, comments, conversations, data respectively). Parse it with a downstream JSON step if you need individual fields rather than the whole payload.

How Errors Surface

SituationError Code
No Page access token resolvable (vault empty, inline empty)MISSING_ACCESS_TOKEN
Token present but malformed/too short, or Graph returns 401FACEBOOK_AUTH_ERROR
Field fails local validation (length, format, missing required)FACEBOOK_VALIDATION_ERROR
Graph API returns an error envelope in the response bodyFACEBOOK_API_ERROR (or a mapped HTTP-status code — see below)
Graph API returns HTTP 403FACEBOOK_PERMISSION_ERROR
Graph API returns HTTP 404FACEBOOK_NOT_FOUND
Graph API returns HTTP 429 (after retries exhausted)FACEBOOK_RATE_LIMIT
Graph API returns HTTP 5xx (after retries exhausted)FACEBOOK_SERVICE_ERROR
Response body isn't valid JSONJSON_PARSE_ERROR
Network-level failure (DNS, connection reset, etc.)FACEBOOK_REQUEST_ERROR
Request exceeded the client timeout (30s / 120s for media)FACEBOOK_TIMEOUT
Anything else unexpectedFACEBOOK_UNKNOWN

Every error is returned on the node's error output port with the code plus a human-readable message; no exception escapes the executor.

Not idempotent: unlike a read-only node, most operations here perform a real write (post, comment, message, react, moderate, upload). Re-running a failed step after a timeout can create a duplicate post/comment/message if the original request actually reached Graph before the timeout fired — see Troubleshooting.