{
  "properties": {
    "enrichGroupInfo": {
      "default": false,
      "description": "Add the group's name, description, member count, creation date, privacy, rules and admins to posts. Works for public groups; private groups return their public profile only.",
      "editor": "checkbox",
      "prefill": false,
      "title": "Include group profile",
      "type": "boolean"
    },
    "fetchAllComments": {
      "default": false,
      "description": "Fetch the full comment thread for each post, not just the inline top comments. This is slower and can add many rows of comment data.",
      "editor": "checkbox",
      "prefill": false,
      "title": "Fetch full comment threads",
      "type": "boolean"
    },
    "includeCommentReplies": {
      "default": true,
      "description": "Attach replies to each fetched comment. Only used when full comment threads are enabled.",
      "editor": "checkbox",
      "prefill": true,
      "title": "Include comment replies",
      "type": "boolean"
    },
    "includeTopComments": {
      "default": true,
      "description": "Include each post's inline top comments, with comment text, author, reactions and reply count.",
      "editor": "checkbox",
      "prefill": true,
      "title": "Include top comments",
      "type": "boolean"
    },
    "maxCommentsPerPost": {
      "default": 20,
      "description": "Comment budget per post, including replies. Only used when full comment threads are enabled.",
      "editor": "number",
      "maximum": 200,
      "minimum": 1,
      "prefill": 5,
      "title": "Max comments per post",
      "type": "integer"
    },
    "maxItems": {
      "default": 50,
      "description": "Maximum number of posts to return per group. Post links always return one post.",
      "editor": "number",
      "maximum": 500,
      "minimum": 1,
      "prefill": 3,
      "title": "Max posts per group",
      "type": "integer"
    },
    "monitoringMode": {
      "default": false,
      "description": "Return only posts not seen in a previous run for the same group or post link, so scheduled runs return just what is new.",
      "editor": "checkbox",
      "prefill": false,
      "title": "Monitor mode (only new posts)",
      "type": "boolean"
    },
    "onlyPostsNewerThan": {
      "description": "Keep posts created after this date. Use YYYY-MM-DD or a relative value such as '7 days' or '24 hours'. Applied while collecting posts.",
      "editor": "textfield",
      "title": "Only posts newer than",
      "type": "string"
    },
    "onlyPostsOlderThan": {
      "description": "Keep posts created before this date. Use YYYY-MM-DD or a relative value such as '30 days'.",
      "editor": "textfield",
      "title": "Only posts older than",
      "type": "string"
    },
    "searchKeyword": {
      "description": "Keep only posts whose text contains this keyword (case-insensitive). Applied while collecting posts.",
      "editor": "textfield",
      "title": "Keyword filter",
      "type": "string"
    },
    "sortBy": {
      "default": "top",
      "description": "How to order each group's feed.",
      "editor": "select",
      "enum": [
        "top",
        "chronological",
        "recent_activity",
        "listings"
      ],
      "enumTitles": [
        "Top posts",
        "Chronological (newest first)",
        "Recent activity",
        "Buy/sell listings"
      ],
      "title": "Sort by",
      "type": "string"
    },
    "startUrls": {
      "description": "Facebook group URLs, bare group slugs or numeric IDs, or links to individual group posts.",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "prefill": [
        "https://www.facebook.com/groups/pythondevelopers/"
      ],
      "title": "Group or post URLs",
      "type": "array"
    }
  },
  "required": [
    "startUrls"
  ],
  "schemaVersion": 1,
  "title": "Facebook Group Feed & Engagement Extractor Input",
  "type": "object"
}
