oto_identity
Connected identities/accounts your credential can act as for a connector — the Slack workspaces you posted tokens for, the LinkedIn accounts under your shared Unipile key, your Google accounts. op=list → each operable account with is_default, plus granted:true+owner when a peer shared THEIRS with you (#55), shared:true+shared_scope (team|org) for an account your team or org shares. To act as one for a SINGLE call, pass _account=<id> on that tool (e.g. slack_post_message(_account='client-x', …)) — an EPHEMERAL pin: it's how you use a granted account, or post to the other workspace, without changing your default, and it needs NO reconnection or key setup. ⚠️ The parameter is _account, WITH the underscore: the bare name belongs to the tools that have a business account argument of their own. op=set (identity_id from op=list) sets your PERSISTENT default identity instead (rejects an id your credential can't reach). With a single account posted, nothing to do — it resolves alone; with several and no default, a call without _account is REFUSED rather than sent under the wrong identity. op=rename (identity_id + new_name) renames a named account; _account then takes the new name. scope=org / scope=group reads or acts on the accounts shared by your org / active team (e.g. one key per company of a group) — set and rename there need that level's admin.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"op": "<op>",
"connector": "<connector>"
},
"name": "oto_identity"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| op | Yes | ||
| _org | No | ||
| scope | No | member | |
| new_name | No | ||
| connector | Yes | ||
| identity_id | No |