buddyboss/act-on-topic sets a topic’s state: closed, sticky, super sticky or spam.
Pass the state you want as a boolean rather than a verb — closed=true to close, closed=false to reopen.
At a glance
| Ability | buddyboss/act-on-topic |
| Toolset | BuddyBoss — toolset/buddyboss |
| Group | BuddyBoss › Forums |
| Requires | AcrossAI Pro, plus BuddyBoss Platform active on the site |
| Capability | manage_options |
| Safety | Writes data |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI Pro 0.9.16 and later |
Toggles, and a read-back that catches real failures
BuddyBoss’s own route is a toggle, so sending the same action twice undoes it. This reads the topic first and does nothing when it is already in the requested state, reporting changed=false — which makes retrying safe.
The read-back afterwards catches something different and more interesting. bbPress handlers can overwrite each other within a single call, so a write succeeding is not proof the state changed.
So the final state is compared with what you asked for, and anything that did not hold is named in not_applied. A response reporting success with a non-empty not_applied is telling you something real.
trash=true moves a topic to the trash, which is reversible from wp-admin.
Merging and splitting are deliberately not here. They rewrite every reply’s parent irreversibly and live in buddyboss/restructure-topic, gated accordingly.
Idempotent.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
topic_id | integer | Yes | The topic. |
closed | boolean | No | The closed state you want. |
sticky | boolean | No | The sticky state you want. |
super_sticky | boolean | No | The site-wide sticky state. |
spam | boolean | No | The spam state you want. |
trash | boolean | No | Move to the trash. Reversible from wp-admin. |
What comes back
| Name | Type | What it is |
|---|---|---|
topic_id | integer | The topic. |
changed | boolean | Whether anything moved. |
not_applied | array | States that did not hold after the write. |
success | boolean | Whether the call completed. |
message | string | A one-line summary of what happened, suitable for showing a human. |
error_code | string | Present only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation. |
Example
Ask your assistant:
Close that topic.
It resolves to one call:
{
"ability": "buddyboss/act-on-topic",
"parameters": {
"topic_id": 1204,
"closed": true
}
}Worth knowing
- States, not toggles. Safe to retry.
not_appliedcatches bbPress handlers overwriting each other.- Trashing is reversible from wp-admin.
- Merging and splitting are elsewhere, and irreversible.
Related abilities
- BuddyBoss Restructure Topic — merging and splitting
- BuddyBoss Manage Topic — change what it says
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category