Input & Output
The shared config-key pattern across every operation, pagination, and output ports
Shared Input Pattern
Every operation on this node takes the same top-level config keys, plus its own operation-specific fields:
| Key | Required | Description |
|---|---|---|
resource | ✓ Yes | One of page, post, message, reactions, moderation, media. |
operation | ✓ Yes | The operation within that resource, e.g. post, getFeed. |
credentialID | Recommended | Vault reference resolving the Page access token. See Authentication. |
pageAccessToken | Fallback | Inline token, used only if the vault yields nothing. Development only. |
pageId | Per-operation | Required 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:
- Call with
limitset (default 25) and noafter. - Read
nextCursorfrom the response. It'snull/absent when there's no more data. - Pass that value back as
afteron 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.
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
| Situation | Error Code |
|---|---|
| No Page access token resolvable (vault empty, inline empty) | MISSING_ACCESS_TOKEN |
| Token present but malformed/too short, or Graph returns 401 | FACEBOOK_AUTH_ERROR |
| Field fails local validation (length, format, missing required) | FACEBOOK_VALIDATION_ERROR |
Graph API returns an error envelope in the response body | FACEBOOK_API_ERROR (or a mapped HTTP-status code — see below) |
| Graph API returns HTTP 403 | FACEBOOK_PERMISSION_ERROR |
| Graph API returns HTTP 404 | FACEBOOK_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 JSON | JSON_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 unexpected | FACEBOOK_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.