<!-- BusyBot node reference — https://busybot.net/tools/facebook-trigger/ -->

> Node: Facebook Trigger (`facebook_trigger`) · Webhook trigger · v1
> Category: Marketing · Credentials: Facebook Graph API (App) (`facebookGraphAppApi`)
> Updated: 2026-08-16

# Facebook Trigger

> Listen for Facebook platform webhook events

## Overview

Starts a workflow when Facebook sends webhook notifications for platform events. Supports subscribing to events on Pages, Users, Instagram, Ad Accounts, Applications, Groups, Permissions, WhatsApp Business Accounts, Links, Certificate Transparency, and Workplace Security objects. Handles Facebook URL verification challenge (GET with hub.challenge) and validates HMAC-SHA256 signatures via the x-hub-signature-256 header. The App Secret is required for signature verification — unsigned or unverifiable webhook posts are rejected. Incoming entries are filtered to the configured object type so a single App ID can host multiple workflows subscribed to different objects without cross-firing. Each webhook notification contains an entry array with object-specific change data.

**Category:** Marketing  
**Tool Name:** `facebook_trigger`  
**Version:** 1

**Appearance:** Icon: `si-facebook` | Color: `#1877F2`

## Node Type

**Trigger** — webhook (receives incoming HTTP callbacks)

## Input / Output

| Direction | Port(s) |
|-----------|--------|
| Input | None (trigger node) |
| Output | `Output` |

## Credentials

This tool requires **Facebook Graph API (App)** credentials.
See the [Credentials Guide](https://busybot.net/credentials/facebook-graph-app-api/) for setup instructions.

### Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| App ID | `string` | Yes | — | Your Facebook App ID. Used to register the webhook subscription with Facebook. |
| Object | `options` | Yes | `user` | The object type to subscribe to for webhook events. |
| | | | | Options: `adAccount` (updates about an Ad Account), `application` (updates about the app), `certificateTransparency` (updates about Certificate Transparency), `group` (activity in groups and events in groups for Workplace), `instagram` (comments on your media), `link` (links for rich previews by an external provider), `page` (Page updates), `permissions` (granting or revoking permissions), `user` (user profile updates), `whatsappBusinessAccount` (updates about a WhatsApp business account), `workplaceSecurity` (updates about Workplace Security) |
| Fields | `multiOptions` | No | `[]` | The set of fields on the selected object to subscribe to. Choose "*" to subscribe to all available fields for the object type. Available fields depend on the selected object. |
| | | | | Options: `*` (All Fields), `in_process_ad_objects`, `with_issues_ad_objects`, `ad_account`, `ads_rules_engine`, `async_requests`, `async_sessions`, `group_install`, `oe_reseller_onboarding_request_created`, `plugin_comment`, `plugin_comment_reply`, `certificate`, `phishing`, `comments`, `messaging_handover`, `mentions`, `messages`, `messaging_seen`, `standby`, `story_insights`, `affiliation`, `attire`, `awards`, `bio`, `birthday`, `category`, `company_overview`, `culinary_team`, `current_location`, `description`, `email`, `feed`, `founded`, `general_info`, `general_manager`, `hometown`, `hours`, `leadgen`, `live_videos`, `location`, `members`, `mention`, `merchant_review`, `mission`, `name`, `page_about_story`, `page_change_proposal`, `page_upcoming_change`, `parking`, `payment_options`, `personal_info`, `personal_interests`, `phone`, `picture`, `price_range`, `product_review`, `products`, `public_transit`, `ratings`, `videos`, `website`, `bookmarked`, `connected`, `user_birthday`, `user_hometown`, `user_location`, `user_likes`, `user_managed_groups`, `user_events`, `user_photos`, `user_videos`, `user_friends`, `user_posts`, `user_gender`, `user_link`, `user_age_range`, `read_insights`, `read_page_mailboxes`, `pages_show_list`, `pages_manage_cta`, `business_management`, `pages_messaging`, `pages_messaging_phone_number`, `pages_messaging_subscriptions`, `read_audience_network_insights`, `pages_manage_instant_articles`, `publish_video`, `openid`, `catalog_management`, `gaming_user_locale`, `groups_show_list`, `instagram_basic`, `instagram_manage_comments`, `instagram_manage_insights`, `instagram_content_publish`, `publish_to_groups`, `groups_access_member_info`, `leads_retrieval`, `whatsapp_business_management`, `instagram_manage_messages`, `attribution_read`, `page_events`, `ads_management`, `ads_read`, `pages_read_engagement`, `pages_manage_metadata`, `pages_read_user_content`, `pages_manage_ads`, `pages_manage_posts`, `pages_manage_engagement`, `public_search`, `social_ads`, `about`, `books`, `first_name`, `friends`, `gender`, `last_name`, `likes`, `music`, `photos`, `pic_big_https`, `pic_https`, `pic_small_https`, `pic_square_https`, `platform`, `quotes`, `status`, `television`, `message_template_status_update`, `phone_number_name_update`, `phone_number_quality_update`, `account_review_update`, `account_update` |
| Options | `collection` | No | `{}` | Additional settings for the webhook subscription. |
| — Include Values | `boolean` | No | `true` | Whether change notifications should include the new values. |

## Output Data

Facebook posts a batch containing an `entry` array; the trigger produces **one output item per entry**. A delivery whose `object` does not match the configured Object is acknowledged without starting the workflow, and a delivery with no entries produces no items.

Each item carries:

- `_trigger` — always `facebook_webhook`
- `_timestamp` — ISO 8601 timestamp of when the request arrived
- `_webhookEvent` — the object type Facebook reported, e.g. `page`
- `id` — the ID of the object the entry is about
- `time` — the Facebook event time, in epoch seconds
- `changes` — an array of change records, each with `field` (the subscribed field that changed) and `value` (its detail, present when Include Values is on)
- `messaging` and `standby` — present only when Facebook includes them on the entry

Reference the payload downstream by expression, e.g. `{{ $json.changes[0].field }}` or `{{ $json.changes[0].value.post_id }}`.

## Usage Examples

- trigger workflow when a Facebook Page gets a new post
- listen for Instagram comment notifications
- start workflow on Facebook lead generation events
- receive Facebook Page feed updates in real time
- monitor Facebook Ad Account changes

## Example Configuration

Monitor all changes to a Facebook page with value inclusion:

```json
{
  "type": "facebook_trigger",
  "parameters": {
    "appId": "123456789012345",
    "object": "page",
    "fields": ["*"],
    "options": {
      "includeValues": true
    }
  }
}
```

Monitor Instagram comments without including changed values:

```json
{
  "type": "facebook_trigger",
  "parameters": {
    "appId": "987654321098765",
    "object": "instagram",
    "fields": ["comments", "mentions"],
    "options": {
      "includeValues": false
    }
  }
}
```

Monitor specific user profile fields:

```json
{
  "type": "facebook_trigger",
  "parameters": {
    "appId": "456789123456789",
    "object": "user",
    "fields": ["name", "email", "birthday", "location"]
  }
}
```

Subscribe to WhatsApp Business Account fields:

```json
{
  "type": "facebook_trigger",
  "parameters": {
    "appId": "321654987321654",
    "object": "whatsappBusinessAccount",
    "fields": ["message_template_status_update", "phone_number_quality_update"],
    "options": {
      "includeValues": true
    }
  }
}
```

Monitor ad account changes with minimal configuration:

```json
{
  "type": "facebook_trigger",
  "parameters": {
    "appId": "111222333444555",
    "object": "adAccount",
    "fields": ["*"]
  }
}
```

Monitor all page activity including posts, comments, and messages:

```json
{
  "type": "facebook_trigger",
  "parameters": {
    "appId": "your-facebook-app-id",
    "object": "page",
    "fields": ["feed", "comments", "messages", "mentions", "live_videos"],
    "options": {
      "includeValues": true
    }
  }
}
```

For high-volume scenarios where you only need to know something changed:

```json
{
  "type": "facebook_trigger",
  "parameters": {
    "appId": "your-facebook-app-id",
    "object": "user",
    "fields": ["feed", "photos", "videos"],
    "options": {
      "includeValues": false
    }
  }
}
```

Monitor Instagram business activity:

```json
{
  "type": "facebook_trigger",
  "parameters": {
    "appId": "your-facebook-app-id",
    "object": "instagram",
    "fields": ["comments", "mentions", "story_insights"],
    "options": {
      "includeValues": true
    }
  }
}
```

Track ad account performance and issues:

```json
{
  "type": "facebook_trigger",
  "parameters": {
    "appId": "your-facebook-app-id",
    "object": "adAccount",
    "fields": ["in_process_ad_objects", "with_issues_ad_objects", "async_requests"],
    "options": {
      "includeValues": true
    }
  }
}
```

### Trigger Behavior

- **Activation:** When the workflow is activated, a webhook endpoint is registered with the service.
- **Deactivation:** The webhook is automatically unregistered when the workflow is deactivated.
- **Payload:** The incoming webhook payload is parsed and output as workflow items.
- **Verification:** Supports signature verification where applicable.

## Tips

Entry point that fires when Facebook sends a webhook notification for subscribed events. Configure your Facebook App ID and select the object type and fields to subscribe to. Outputs the entry array from the webhook payload, each containing the object ID, timestamp, and an array of changes with field names and values.

- To watch WhatsApp business account events use the WhatsApp trigger node.

### Important Notes

- The `appId` must be a valid Facebook App ID that has webhook permissions
- The `fields` parameter determines which specific events you'll receive - use "*" for all available fields or specify only the fields you need
- The `options.includeValues` setting affects payload size - set to `false` for high-volume scenarios where you only need change notifications
- Field availability varies by object type - refer to Facebook's webhook documentation for object-specific field lists