accelo_set_profile_value
Set a profile field value on an object and verify it persisted.
Instructions
Set a profile field value on an object and verify it persisted.
The write goes through Accelo's dedicated profile-value endpoint,
POST /{object_type}/{object_id}/profiles/fields/{profile_field_id}
("Set a Profile Field Value"). The older
PUT /{object_type}/{object_id} + profile.{id} form is only the
create-company shortcut, not a general profile-value write, so it
silently no-ops for hyperlink fields — that was the bug behind this
tool reporting a false success.
The request body is shaped by the field's field_type, which is
resolved first via GET /{object_type}/profiles/fields:
integer->value_int(the stringvalueis coerced to int)date/date_time->value_date(unix timestamp or ISO8601 string, passed through as given)lookup->value_id(the object id invalue) plusvalue_type(the lookup object type, e.g.company)everything else, including
hyperlink,text,decimal,currency,select,multi_selectandstructure->value(a bare string; for a hyperlink that is the plain URL and Accelo storesvalue_typeas null)
After the write, the value is read back via
GET /{object_type}/{object_id}/profiles/values (with
_fields=_ALL so custom fields are returned) and compared against
what was submitted. If no matching row is found, or the persisted value
does not match, an error is returned (status verify_failed)
rather than a success — the tool can never report a silent no-op as
success. Date comparison is deliberately lenient (presence/non-empty)
because Accelo may normalise the stored date format.
Values are validated before any write, so a bad input returns a
structured error (error true) rather than failing mid-write:
invalid_value— anintegerfield was given a value that is not a valid integer.value_type_required— alookupfield was given novalue_type; it is mandatory for lookup writes.field_not_found— theprofile_field_iddoes not exist for the object type.
Args: object_type: The object type (e.g. "companies", "issues") object_id: The object's ID profile_field_id: The profile field's ID value: The value to set, as a string. For hyperlink/text fields this is the raw value; for integer/date fields it is coerced; for a lookup field it is the target object's id. value_type: Required for a lookup field — the lookup object type (e.g. "company"). A lookup write with no value_type returns a value_type_required error. Ignored for other field types.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | ||
| object_id | Yes | ||
| value_type | No | ||
| object_type | Yes | ||
| profile_field_id | Yes |