Actions
What your automations can do when conditions are met
Actions are the operations your workflows perform when triggers fire and conditions match. Each action interacts with platform APIs to moderate comments, send replies, or manage messages.
Available Actions
Reply
Post a public reply to a comment or mention.
Configuration:
- Reply text — Message to post as reply
- Variables — Insert dynamic content (see below)
Example:
Reply text: "Thanks for your comment, {{author.name}}! Check out our FAQ for more info."Platform support: All platforms with comment API
Hide
Hide a comment from public view. The comment author can still see it.
Configuration:
- No additional configuration needed
Use cases:
- Hide spam without deleting evidence
- Soft-moderate while reviewing
- Temporary moderation before final decision
Platform support: Instagram, Facebook, YouTube (see matrix below)
Delete
Permanently remove a comment.
Configuration:
- No additional configuration needed
Use cases:
- Remove clear spam or abuse
- Remove personal information
- Clean up duplicate comments
Platform support: Most platforms (see matrix below)
Warning: Deleted comments cannot be recovered. Consider hiding first.
Send DM
Send a direct message to the comment/mention author.
Configuration:
- Message text — Content of the DM
- Variables — Insert dynamic content
Example:
Message text: "Hi {{author.name}}! Thanks for reaching out. Here's the info you requested..."Platform support: Instagram, Facebook, X, Bluesky
Platform Capability Matrix
Not all actions work on all platforms. Here's the complete support matrix:
| Platform | Reply | Hide | Delete | Send DM |
|---|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ | |
| ✅ | ✅ | ✅ | ✅ | |
| X/Twitter | ✅ | ⚠️ | ✅ | ✅ |
| YouTube | ✅ | ✅ | ✅ | ❌ |
| Threads | ✅ | ❌ | ✅ | ❌ |
| ✅ | ❌ | ✅ | ❌ | |
| TikTok | ✅ | ❌ | ✅ | ❌ |
| Bluesky | ✅ | ❌ | ✅ | ✅ |
| ❌ | ❌ | ❌ | ❌ |
Legend:
- ✅ Fully supported
- ⚠️ Limited support (see notes)
- ❌ Not supported by platform API
Platform Notes
X/Twitter:
- Can only hide replies to your own posts
- Cannot hide replies to others' posts
Threads:
- No hide action available
- Use delete instead (irreversible)
YouTube:
- No DM API available
- Comments moderated via YouTube Studio
LinkedIn:
- Organization pages only
- No DM API for pages
TikTok:
- Limited comment API
- No DM API available
Pinterest:
- No comment API available
- Cannot automate comment moderation
Using Variables
Insert dynamic content into your replies and DMs using double curly braces:
| Variable | Description | Available In |
|---|---|---|
author.name | Display name | All triggers |
author.username | Username/handle | All triggers |
comment.text | Original comment | Comment triggers |
message.text | Original DM | DM triggers |
post.url | Post URL | Comment, mention |
channel.name | Your channel name | All triggers |
platform | Platform name | All triggers |
timestamp | Event timestamp | All triggers |
Syntax: Wrap variable names in double curly braces, e.g., author.name becomes the author's display name.
Example with multiple variables:
Hi {{author.name}}! 👋
Thanks for commenting on our post. You asked about {{comment.text | truncate:50}}.
Visit {{post.url}} for more details, or DM us for personal assistance.
— The {{channel.name}} TeamVariable Modifiers
| Modifier | Description | Example |
|---|---|---|
truncate:N | Limit to N characters | comment.text | truncate:50 |
lowercase | Convert to lowercase | author.name | lowercase |
uppercase | Convert to uppercase | platform | uppercase |
Chaining Actions
You can connect multiple actions in sequence:
[Comment Received]
↓
[Text Contains: "spam"]
↓ Yes
[Hide Comment]
↓
[Reply: "Comment hidden for review"]Execution Order
Actions execute in the order they're connected:
- First action executes
- If successful, next action executes
- Continues until all actions complete or one fails
Handling Failures
If an action fails:
- Subsequent actions are skipped
- Error is logged in Execution History
- Workflow marked as failed
Common failure reasons:
- Rate limit exceeded
- Token expired
- Comment already deleted
- User blocked you
Rate Limiting
Platform APIs have rate limits. Fanbeam respects these limits automatically:
| Platform | Rate Limit | Window |
|---|---|---|
| 200 calls | 1 hour | |
| 200 calls | 1 hour | |
| X/Twitter | 500 calls | 15 min |
| YouTube | 10,000 units | 1 day |
| Threads | 250 calls | 1 hour |
| 100 calls | 1 day | |
| TikTok | 100 calls | 1 day |
| Bluesky | 5,000 calls | 5 min |
When rate limited:
- Action is retried after cooldown
- Workflow sleeps until rate limit resets
- You're notified if retries exhausted
Reply Best Practices
Keep It Short
Platform users expect quick, concise responses:
Good: "Thanks for asking! Check our bio for pricing info."
Bad: "Thank you so much for your comment! We really appreciate you taking the time to reach out to us. Regarding your question about pricing, we have a comprehensive pricing page that you can find by clicking the link in our bio..."
Be Consistent
Use templates for common responses to maintain brand voice.
Avoid Spam Triggers
Some phrases can trigger platform spam filters:
- Excessive links
- ALL CAPS text
- Too many hashtags
- Repetitive content
Personalize When Possible
Use variables to make automated replies feel personal:
"Hi {{author.name}}!" vs "Hello!"DM Best Practices
Get Consent First
Don't send unsolicited DMs. Use the "DM Received" trigger or send DMs only in response to comments asking for more info.
Respect Privacy
DMs should contain helpful information, not promotional content.
Include Context
Reference why you're messaging:
"Hi {{author.name}}! You commented on our post asking about pricing. Here are the details..."Troubleshooting
Action Not Executing
- Verify platform support (see matrix above)
- Check your channel permissions
- Ensure tokens are not expired
- Review rate limit status
Reply Not Appearing
- Check for platform spam filters
- Verify reply length is within limits
- Ensure no banned words in reply
- Check if comment was deleted
DM Failed to Send
- Verify user hasn't blocked you
- Check DM permissions on platform
- Ensure conversation isn't restricted
- Review platform DM limits
Variable Not Rendering
- Check variable syntax (double curly braces around variable name)
- Verify variable is available for trigger type
- Check for typos in variable name
- Ensure field exists in trigger context