events/trash-organizer moves an organizer to the trash. It refuses without confirm: true.
It reports how many events still reference it, because nothing else will.
Before you run it
Events linked to this organizer keep pointing at it, and the calendar does not clear them. Their organizer section goes blank on the front end. The response reports how many events are affected; read that count with events/list-events beforehand if you want to decide before anything moves.
At a glance
| Ability | events/trash-organizer |
| Toolset | The Events Calendar — toolset/events-calendar |
| Group | The Events Calendar › Organizers |
| Requires | The Events Calendar, active on the site |
| Capability | manage_options |
| Safety | Destructive — moves the post to the trash, and refuses to run without confirm: true. Recoverable from the WordPress trash. |
| Repeatable | Not idempotent — each call changes the row set, so re-running is not a no-op |
| Ships in | AcrossAI Abilities Manager 0.0.34 and later |
How it works
The dangling-link problem is the same as with venues, with one difference: an event can have several organizers, so trashing one can leave an event with a partial list rather than an empty section. That is harder to spot, not easier — the event page still shows an organizer, just not all of them.
The linked-event count in the response is what makes it visible. Nothing in the admin surfaces it.
Trash only. Organizers are a custom post type, and the default WordPress deletion path would remove one permanently rather than trashing it.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
id | integer | Yes | The organizer ID. |
confirm | boolean | Yes — must be true | The irreversibility gate. Without it the call is refused before anything is touched. |
What comes back
| Name | Type | What it is |
|---|---|---|
id | integer | The organizer ID. |
trashed | boolean | Whether the move succeeded. |
linked_events | integer | How many events still reference this organizer. |
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:
Remove the duplicate organizer 118.
It resolves to one call:
{
"ability": "events/trash-organizer",
"parameters": {
"id": 118,
"confirm": true
}
}Worth knowing
- Repoint events first with
events/update-event, sending the full organizer array you want each event to end up with. - An event with several organizers loses one and keeps the rest — easy to miss.
- Restoring from the trash repairs the links, since they were never cleared.
Related abilities
- List Events — count the affected events first
- Update Event — rewrite each event’s organizer list
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category