# Engagement (Comments) (/docs/social/engagement)



The Social Engagement layer is a separate layer from Social
Distribution. It generates and publishes **first comments** on new
posts, and **replies to user comments** on your posts. It does not
handle DMs, mentions, or a unified inbox — those features don't exist.

Supported platforms: **Instagram** and **TikTok** only.

## Install [#install]

From the layers catalog → **Social Engagement** → **Install**. The
`initialize` command defaults the engagement `tone` from your project's
`brand_voice` setting.

## What it does [#what-it-does]

Two engagement types:

* **First comment** — posts a brand-authored first comment on a newly
  synced own-account post. Triggered by post-sync events.
* **Reply to comment** — generates a reply to a user's comment on one
  of your posts. Triggered by comment-sync events. Daily budget is
  enforced via `maxCommentsPerDay` (default 20, max 100).

For third-party accounts (SideShift / managed distribution network) the
layer can also comment on creators' posts and reply to comments there —
scans run every 6 hours.

## Modes [#modes]

Per engagement type, per target (`self` vs `thirdParty`):

* `off` — disabled.
* `automatic` — Layers generates and publishes immediately (with an
  optional delay: `autoReplyDelay` 0–300s for first comments,
  `replyDelay` 30–600s for replies).
* `draft` — Layers generates but parks the comment in a pending queue
  for you to approve. `publish-approved-comments` fires every 10
  minutes and publishes whatever has been approved.

## Tone [#tone]

`config.engagement.tone` picks one of six presets: `authentic`,
`witty`, `professional`, `warm`, `casual`, `educational`. Leave unset
to take the brand-voice default.

## Daily budget [#daily-budget]

`maxCommentsPerDay` caps the total (first comments + replies) generated
per day across all engagement types. Default 20, range 1–100.

## Templates [#templates]

Free-form guidance (one example per line) lives in:

* `firstComment.commentTemplate` — example first comments.
* `replyToComments.replyTemplate` — example replies.

These are fed to the LLM as few-shot examples.

## Per-post reply cap [#per-post-reply-cap]

`replyToComments.maxRepliesPerPost` (default 5, max 20) stops the layer
from flooding a single post with brand replies.

## Privacy [#privacy]

Layers only uses the OAuth scopes granted at connection — for
Instagram, `instagram_business_manage_comments`; for TikTok,
`comment.list` + `comment.list.manage`. No DM access is requested or
used.
