buddyboss/manage-profile-field creates and updates xProfile fields and the groups that contain them.
One rule dominates: a field’s type cannot be changed after it is created.
At a glance
| Ability | buddyboss/manage-profile-field |
| Toolset | BuddyBoss — toolset/buddyboss |
| Group | BuddyBoss › Profiles |
| Requires | AcrossAI Pro, plus BuddyBoss Platform active on the site |
| Capability | manage_options |
| Safety | Writes data |
| Repeatable | Not idempotent — each call changes the row set, so re-running is not a no-op |
| Ships in | AcrossAI Pro 0.9.16 and later |
Why a type change is refused
BuddyBoss quietly ignores a differing type on update. The write succeeds, the admin shows the old type, and the caller believes a text field became a dropdown.
Meanwhile the stored answers are still in the old format, so even if the type had changed the data would not match it.
So this refuses a type change rather than letting you believe it worked. Creating a new field of the right type and migrating is the honest path.
Use target=field with a group_id to add a field, or target=group to add a group.
The option-based types — selectbox, radio, checkbox, multiselectbox — need their options array. A select field with no options is a field nobody can answer.
Deleting is handled by two separate abilities, because deleting a field and deleting a group have very different consequences.
Not idempotent when creating.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
target | string | Yes | field or group. |
field_id | integer | For updating a field | Which field. |
group_id | integer | For creating a field, or updating a group | Which group the field belongs to. |
name | string | For create | The field or group name. |
type | string | For creating a field | The field type. Cannot be changed afterwards. |
is_required | boolean | No | Whether an answer is required. |
options | array | For option-based types | The permitted values. |
description | string | No | Help text. |
What comes back
| Name | Type | What it is |
|---|---|---|
field | object | The field or group 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:
Add a dropdown for department to the profile.
It resolves to one call:
{
"ability": "buddyboss/manage-profile-field",
"parameters": {
"target": "field",
"group_id": 1,
"name": "Department",
"type": "selectbox",
"options": ["Support", "Engineering", "Sales"]
}
}Worth knowing
- A type change is refused rather than silently ignored.
- Option-based types are useless without their options.
- Creating a field in the wrong group means recreating it, since groups are a blast radius.
- Not idempotent when creating.
Related abilities
- BuddyBoss List Profile Fields — read the current schema
- BuddyBoss Delete Profile Field — remove one
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category