Skip to content

Automation Configuration Guide

A comprehensive guide to configuring content and account automation in Repliz.

Overview

Repliz Automation allows you to automatically interact with your audience across social media platforms. Automation rules are powered by a flexible config JSON object divided into modular automation actions:

  • Delete: Automatically remove unwanted or spam comments.
  • Reply: Automatically reply to comments with text, keyword rules, or AI.
  • Like: Automatically like incoming comments.
  • Message: Automatically send a Direct Message (DM) to commenters.
  • Story: Automatically respond to story mentions and interactions.
  • Chat: Automatically respond to incoming chat conversations at the account level.

WARNING

YouTube automation can only be configured per content using POST /public/automation. YouTube does not support account-level automation (PUT /public/account/{accountId}/automation).

Platform Support Matrix

Automation ModuleFacebookInstagramThreadsTikTokLinkedInYouTubeScope
Delete✅*Content & Account
Reply✅*Content & Account
LikeContent & Account
MessageContent & Account
StoryContent & Account
ChatAccount Only

*YouTube automation is supported per content only.


1. Delete Module

The delete object controls automatic deletion of comments. It supports two modes: Keyword matching and AI sentiment/intent detection.

Supported Platforms: Facebook Instagram Threads TikTok LinkedIn YouTube (Per Content Only)

Schema

FieldTypeRequiredDescription
isActivebooleanYesToggles the delete automation module.
typestringYesModeration strategy: keyword or ai.
keywordsstring[]YesList of blacklisted words (used when type: "keyword").
promptstringYesInstructions for AI to evaluate comments (used when type: "ai").

Examples

json
{
  "delete": {
    "isActive": true,
    "type": "keyword",
    "keywords": ["spam", "scam", "promo", "crypto", "casino"],
    "prompt": ""
  }
}
json
{
  "delete": {
    "isActive": true,
    "type": "ai",
    "keywords": [],
    "prompt": "You are a content moderator. Automatically delete comments containing hate speech, offensive language, or unverified promotional links."
  }
}

2. Reply Module

The reply object configures automated public comment replies. Replies can be static text, keyword-based, or AI-generated.

Supported Platforms: Facebook Instagram Threads TikTok LinkedIn YouTube (Per Content Only)

Schema

FieldTypeRequiredDescription
isActivebooleanYesToggles public comment reply automation.
typestringYesReply mode: text, keyword, or ai.
textstringYesStatic reply message (when type: "text").
promptstringYesAI instructions for generating responses (when type: "ai").
isIncludeContentContextbooleanYesInclude post caption/context in AI prompt for relevant answers.
keywordobjectYesKeyword mapping rules (when type: "keyword").
exceptionobjectYesException rules to exclude specific keywords from replying.
conditionobjectYesFilters determining when reply should trigger.
delayobjectYesArtificial delay before replying to appear natural.

Sub-Objects

keyword Object

  • isExactMatch: Strict keyword match if true, partial match if false.
  • values: Array of { keyword: string, text: string } pairs.

exception Object

  • isActive: Toggles exception rules.
  • isExactMatch: Strict keyword match if true, partial match if false.
  • keywords: Array of keywords that prevent automated replies when detected in comments.

condition Object

  • isActive: Toggles trigger conditions.
  • isExactMatch: Keyword matching precision.
  • keywords: Trigger keywords that must be present in the comment.

delay Object

  • isActive: Toggles delay.
  • value: Duration value (e.g. 10).
  • type: Unit ("second" or "minute").

Examples

json
{
  "reply": {
    "isActive": true,
    "type": "text",
    "text": "Thank you for commenting! We appreciate your feedback. 🙏",
    "prompt": "",
    "isIncludeContentContext": false,
    "keyword": {
      "isExactMatch": false,
      "values": []
    },
    "exception": {
      "isActive": false,
      "isExactMatch": false,
      "keywords": []
    },
    "condition": {
      "isActive": false,
      "isExactMatch": false,
      "keywords": []
    },
    "delay": {
      "isActive": false,
      "value": 10,
      "type": "second"
    }
  }
}
json
{
  "reply": {
    "isActive": true,
    "type": "keyword",
    "text": "",
    "prompt": "",
    "isIncludeContentContext": false,
    "keyword": {
      "isExactMatch": false,
      "values": [
        {
          "keyword": "price",
          "text": "Our pricing starts at $10/month! Check out our website for full details."
        },
        {
          "keyword": "location",
          "text": "We are located at Central Street No. 45, Jakarta."
        }
      ]
    },
    "exception": {
      "isActive": false,
      "isExactMatch": false,
      "keywords": []
    },
    "condition": {
      "isActive": false,
      "isExactMatch": false,
      "keywords": []
    },
    "delay": {
      "isActive": false,
      "value": 10,
      "type": "second"
    }
  }
}
json
{
  "reply": {
    "isActive": true,
    "type": "ai",
    "text": "",
    "prompt": "You are a customer service assistant. Answer user questions politely based on our product guide.",
    "isIncludeContentContext": true,
    "keyword": {
      "isExactMatch": false,
      "values": []
    },
    "exception": {
      "isActive": false,
      "isExactMatch": false,
      "keywords": []
    },
    "condition": {
      "isActive": false,
      "isExactMatch": false,
      "keywords": []
    },
    "delay": {
      "isActive": true,
      "value": 5,
      "type": "second"
    }
  }
}

3. Like Module

The like object automatically likes incoming comments to increase user engagement.

Supported Platforms: Facebook TikTok LinkedIn

Schema

FieldTypeRequiredDescription
isActivebooleanYesToggles auto-liking of comments.
json
{
  "like": {
    "isActive": true
  }
}

4. Message (DM) Module

The message object sends a private Direct Message (DM) to users who comment on your post. This is ideal for sending lead magnets, purchase links, or private discount codes.

Supported Platforms: Facebook Instagram

Schema

FieldTypeRequiredDescription
isActivebooleanYesToggles private DM automation.
typestringYesMessage mode: ai, text, opening, or keyword.
textstringYesStatic message text.
promptstringYesAI instructions for generating messages.
openingobjectYesRich opening message with postback, additional, or web URL buttons.
keywordobjectYesKeyword mapping rules (same as Reply keyword).
conditionobjectYesTrigger conditions (same as Reply condition).
delayobjectYesDelay settings (same as Reply delay).

Opening Message Structure

  • opening.postback: Postback button opening (isActive, text, image, button).
  • opening.additional: Additional postback settings (isActive, isPreventBeforeFollow, text, image, button).
  • opening.webUrl: External web URL button opening (text, image, buttons).

Button Structure

  • type: Button action type ("postback" or "web_url").
  • title: Button label text (e.g. "Click Me").
  • payload: Internal payload identifier.
  • url: Destination URL.

Example

json
{
  "message": {
    "isActive": true,
    "type": "ai",
    "text": "Hello",
    "prompt": "You are a helpful sales assistant.",
    "opening": {
      "postback": {
        "isActive": false,
        "text": "Want to know more?",
        "image": "https://storage.repliz.com/automations/sample.png",
        "button": {
          "type": "postback",
          "title": "Click Me",
          "payload": "payloadcustompostback",
          "url": "https://repliz.com"
        }
      },
      "additional": {
        "isActive": false,
        "isPreventBeforeFollow": false,
        "text": "Want to know more?",
        "image": "https://storage.repliz.com/automations/sample.png",
        "button": {
          "type": "postback",
          "title": "Click Me",
          "payload": "payloadcustompostback",
          "url": "https://repliz.com"
        }
      },
      "webUrl": {
        "text": "Want to know more?",
        "image": "https://storage.repliz.com/automations/sample.png",
        "buttons": [
          {
            "type": "postback",
            "title": "Click Me",
            "payload": "payloadcustompostback",
            "url": "https://repliz.com"
          }
        ]
      }
    },
    "keyword": {
      "isExactMatch": false,
      "values": [
        {
          "keyword": "Hello",
          "text": "Hi! Check your DM."
        }
      ]
    },
    "condition": {
      "isActive": false,
      "isExactMatch": false,
      "keywords": ["hello"]
    },
    "delay": {
      "isActive": false,
      "value": 10,
      "type": "second"
    }
  }
}

5. Story Module

The story object automates responses to Instagram Story mentions and story replies. Its schema is identical to the Message Module.

Supported Platforms: Instagram

json
{
  "story": {
    "isActive": true,
    "type": "ai",
    "text": "Hello",
    "prompt": "You are a friendly assistant. Reply to story mentions.",
    "opening": {
      "postback": {
        "isActive": false,
        "text": "Want to know more?",
        "image": "https://storage.repliz.com/automations/sample.png",
        "button": {
          "type": "postback",
          "title": "Click Me",
          "payload": "payloadcustompostback",
          "url": "https://repliz.com"
        }
      },
      "additional": {
        "isActive": false,
        "isPreventBeforeFollow": false,
        "text": "Want to know more?",
        "image": "https://storage.repliz.com/automations/sample.png",
        "button": {
          "type": "postback",
          "title": "Click Me",
          "payload": "payloadcustompostback",
          "url": "https://repliz.com"
        }
      },
      "webUrl": {
        "text": "Want to know more?",
        "image": "https://storage.repliz.com/automations/sample.png",
        "buttons": [
          {
            "type": "postback",
            "title": "Click Me",
            "payload": "payloadcustompostback",
            "url": "https://repliz.com"
          }
        ]
      }
    },
    "keyword": {
      "isExactMatch": false,
      "values": [
        {
          "keyword": "Hello",
          "text": "Hi! Thanks for the mention."
        }
      ]
    },
    "condition": {
      "isActive": false,
      "isExactMatch": false,
      "keywords": ["hello"]
    },
    "delay": {
      "isActive": false,
      "value": 10,
      "type": "second"
    }
  }
}

6. Chat Module

The chat object automates responses to direct chat messages at the account level (PUT /public/account/{accountId}/automation). It supports ai, text, and keyword response modes.

Supported Platforms: Facebook Instagram TikTok (Account-Level Automation Only)

Schema

FieldTypeRequiredDescription
isActivebooleanYesToggles account-level chat automation.
typestringYesChat response mode: ai, text, or keyword.
textstringYesStatic response text (used when type: "text").
promptstringYesAI system prompt (used when type: "ai").
keywordobjectYesKeyword mapping rules (same as Reply keyword).
delayobjectYesResponse delay configuration (same as Reply delay).

Example

json
{
  "chat": {
    "isActive": true,
    "type": "ai",
    "text": "Hello! How can we help you today?",
    "prompt": "You are a customer support agent. Answer user questions politely.",
    "keyword": {
      "isExactMatch": false,
      "values": [
        {
          "keyword": "help",
          "text": "Sure, let us know what you need help with!"
        }
      ]
    },
    "delay": {
      "isActive": false,
      "value": 10,
      "type": "second"
    }
  }
}

Complete Configuration Example

Here is a full, ready-to-use config object containing all 6 modules matching the official Repliz DTO schema:

json
{
  "delete": {
    "isActive": true,
    "type": "ai",
    "keywords": ["baca", "oke"],
    "prompt": "You are a content moderator."
  },
  "reply": {
    "isActive": true,
    "type": "ai",
    "text": "Hello",
    "prompt": "You are a social media assistant.",
    "isIncludeContentContext": false,
    "keyword": {
      "isExactMatch": false,
      "values": [
        {
          "keyword": "Hello",
          "text": "Text to reply message"
        }
      ]
    },
    "condition": {
      "isActive": false,
      "isExactMatch": false,
      "keywords": ["hello"]
    },
    "delay": {
      "isActive": false,
      "value": 10,
      "type": "second"
    }
  },
  "like": {
    "isActive": true
  },
  "message": {
    "isActive": true,
    "type": "ai",
    "text": "Hello",
    "prompt": "You are a sales assistant.",
    "opening": {
      "postback": {
        "isActive": false,
        "text": "Want to know?",
        "image": "https://storage.repliz.com/automations/sample.png",
        "button": {
          "type": "postback",
          "title": "Click Me",
          "payload": "payloadcustompostback",
          "url": "https://repliz.com"
        }
      },
      "additional": {
        "isActive": false,
        "isPreventBeforeFollow": false,
        "text": "Want to know?",
        "image": "https://storage.repliz.com/automations/sample.png",
        "button": {
          "type": "postback",
          "title": "Click Me",
          "payload": "payloadcustompostback",
          "url": "https://repliz.com"
        }
      },
      "webUrl": {
        "text": "Want to know?",
        "image": "https://storage.repliz.com/automations/sample.png",
        "buttons": [
          {
            "type": "postback",
            "title": "Click Me",
            "payload": "payloadcustompostback",
            "url": "https://repliz.com"
          }
        ]
      }
    },
    "keyword": {
      "isExactMatch": false,
      "values": [
        {
          "keyword": "Hello",
          "text": "Text to reply message"
        }
      ]
    },
    "condition": {
      "isActive": false,
      "isExactMatch": false,
      "keywords": ["hello"]
    },
    "delay": {
      "isActive": false,
      "value": 10,
      "type": "second"
    }
  },
  "chat": {
    "isActive": true,
    "type": "ai",
    "text": "Hello",
    "prompt": "You are a customer support agent.",
    "keyword": {
      "isExactMatch": false,
      "values": [
        {
          "keyword": "Hello",
          "text": "Text to reply message"
        }
      ]
    },
    "delay": {
      "isActive": false,
      "value": 10,
      "type": "second"
    }
  },
  "story": {
    "isActive": true,
    "type": "ai",
    "text": "Hello",
    "prompt": "You are a friendly assistant.",
    "opening": {
      "postback": {
        "isActive": false,
        "text": "Want to know?",
        "image": "https://storage.repliz.com/automations/sample.png",
        "button": {
          "type": "postback",
          "title": "Click Me",
          "payload": "payloadcustompostback",
          "url": "https://repliz.com"
        }
      },
      "additional": {
        "isActive": false,
        "isPreventBeforeFollow": false,
        "text": "Want to know?",
        "image": "https://storage.repliz.com/automations/sample.png",
        "button": {
          "type": "postback",
          "title": "Click Me",
          "payload": "payloadcustompostback",
          "url": "https://repliz.com"
        }
      },
      "webUrl": {
        "text": "Want to know?",
        "image": "https://storage.repliz.com/automations/sample.png",
        "buttons": [
          {
            "type": "postback",
            "title": "Click Me",
            "payload": "payloadcustompostback",
            "url": "https://repliz.com"
          }
        ]
      }
    },
    "keyword": {
      "isExactMatch": false,
      "values": [
        {
          "keyword": "Hello",
          "text": "Text to reply message"
        }
      ]
    },
    "condition": {
      "isActive": false,
      "isExactMatch": false,
      "keywords": ["hello"]
    },
    "delay": {
      "isActive": false,
      "value": 10,
      "type": "second"
    }
  }
}