Update Agent
freshservice.update_agent
ActionBusiness appsconnection required
Calls the Freshservice API with the connection's credentials.
Change the attributes, roles or group membership of a Freshservice agent.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- API key
- Providers
- Freshservice
- Secret shape
- the API key, or {"api_key": "…"}
- Config it needs
- domain, workspace_id
- Resolved by
- config.connection_id, else node.connection_id
Configuration
14 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
agent_id The Freshservice agent to act on, by their numeric user id. | string | Yes | — | — | 1434 |
first_name First name of the agent. | string | No | — | — | Jane |
last_name Last name of the agent. | string | No | — | — | — |
email Email address of the agent. | string | No | — | email format | — |
job_title Job title of the agent. | string | No | — | — | — |
occasional Make the agent occasional, or full-time when set to false. | boolean | No | — | — | — |
roles The complete role list to keep, as a JSON array of role objects. | array | No | — | array of object | — |
department_ids The complete department list to keep, as a JSON array of ids. | array | No | — | array of integer | — |
reporting_manager_id Numeric user id of the agent's reporting manager. | string | No | — | — | — |
location_id Numeric id of the location the agent is based at. | string | No | — | — | — |
member_of The complete list of agent groups the agent belongs to, as a JSON array. | array | No | — | array of integer | — |
observer_of The complete list of agent groups the agent observes, as a JSON array. | array | No | — | array of integer | — |
custom_fields Custom field values as a JSON object keyed by the field's Freshservice name. | object | No | — | — | — |
attributes Any other documented attribute for this record, as a JSON object merged into the request. | object | No | — | — | — |
- At least one of first_name, last_name, email, job_title, occasional, roles, department_ids, reporting_manager_id, location_id, member_of, observer_of, custom_fields, attributes must be set.
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"agent_id": "1434",
"first_name": "Jane"
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
id Numeric user id of the agent. | number | — |
first_name First name of the agent. | string | — |
last_name Last name of the agent. | string | — |
email Email address of the agent. | string | — |
active True while the agent is active, false once deactivated. | boolean | — |
occasional True for an occasional agent, false for a full-time one. | boolean | — |
job_title Job title of the agent. | string | — |
roles Roles granted to the agent, each with its assignment scope. | array | — |
department_ids Departments the agent is associated with. | array | — |
member_of Agent groups the agent is a member of. | array | — |
observer_of Agent groups the agent observes. | array | — |
location_id Location the agent is based at. | number | — |
last_login_at When the agent last signed in. | string | — |
created_at When the agent was created. | string | — |
updated_at When the agent was last updated. | string | — |
{
"active": false,
"created_at": "",
"department_ids": [],
"email": "",
"first_name": "",
"id": 0,
"job_title": "",
"last_login_at": "",
"last_name": "",
"location_id": 0,
"member_of": [],
"observer_of": [],
"occasional": false,
"roles": [],
"updated_at": ""
}Notes
- Roles and group membership are replaced wholesale, not merged: send the whole list that should remain.
See Update Agent run in a workflow.
In a technical demo we add the Freshservice connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.