upsert_suprsend_object
Modify properties or channel identifiers on a non-user SuprSend object (e.g., organization, project). Supports set, unset, append, increment, and channel registration/removal actions for email, SMS, push, Slack, and Teams.
Instructions
Modify properties or channel identifiers on a SuprSend object — a non-user entity like an organization, project, or vehicle. One call performs ONE action; for multiple changes, call this tool multiple times.
Actions:
set, set_once, unset, remove — modify a scalar property by key/value. remove permanently deletes the key.
append, increment — modify array / numeric values.
add_email / remove_email, add_sms / remove_sms, add_whatsapp / remove_whatsapp, add_androidpush / remove_androidpush, add_iospush / remove_iospush, add_slack / remove_slack, add_ms_teams / remove_ms_teams, add_webpush / remove_webpush — register or deregister a delivery channel.
Channel registration is special. For channel identifiers ALWAYS use the dedicated add_ / remove_ actions — generic set / unset will not register the channel correctly with the delivery router. Slack and MS Teams additionally require the corresponding slack_details / ms_teams_details payload alongside the action; channel id alone is not enough.
When to use: creating an object or modifying its stored state — properties, channels, identifiers.
When NOT to use:
For users — use upsert_suprsend_user instead.
For preferences — use update_suprsend_category_preference_object (per category) or update_suprsend_object_channel_preference (across categories).
For followers / members — use add_suprsend_object_subscriptions.
Side effects: remove and unset permanently delete data. add_ makes the object reachable on that channel for any future workflow run; remove_ stops delivery immediately.
object_type namespaces the object (e.g., "organization", "project") and is required.
Returns: the updated object on success; structured error with field reasons on failure.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | the action to perform. use action "upsert" to create a new object or update an existing object's properties. use action "remove" to remove a object's properties. use action "set" to set a object's property, don't use this when trying to add email, add sms, add whatsapp, add androidpush, add iospush, add slack, add ms_teams, add webpush use the respective actions. use action "unset" to unset a object's property, don't use this when trying to remove email, remove sms, remove whatsapp, remove androidpush, remove iospush, remove slack, remove ms_teams, remove webpush use the respective actions. use action "set_once" to set a object's property once, this will only set the property if it is not already set. use action "append" to append a value to a object's property. use action "increment" to increment a object's property. use action "add_email" to add an email to a object. use action "remove_email" to remove an email from a object. use action "add_sms" to add an SMS to a object. use action "remove_sms" to remove an SMS from a object. use action "add_whatsapp" to add a WhatsApp to a object. use action "remove_whatsapp" to remove a WhatsApp from a object. use action "add_androidpush" to add an Android push to a object. use action "remove_androidpush" to remove an Android push from a object. use action "add_iospush" to add an iOS push to a object. use action "remove_iospush" to remove an iOS push from a object. use action "add_slack" to add a Slack to a object. use action "remove_slack" to remove a Slack from a object. use action "add_ms_teams" to add a Microsoft Teams to a object. use action "remove_ms_teams" to remove a Microsoft Teams from a object. use action "add_webpush" to add a Webpush to a object. use action "remove_webpush" to remove a Webpush from a object. | |
| key | No | The key on which the action is to be performed. only required for set, append, increment, unset actions. | |
| ms_teams_details | No | This is only applicable for add_ms_teams and remove_ms_teams actions. | |
| object_id | Yes | The object_id of the object to get. | |
| object_payload | No | Payload of the request that you want to pass for the object. | |
| object_type | Yes | The type of object you want to get. | |
| slack_details | No | This is only applicable for add_slack and remove_slack actions. | |
| value | No | The value to needs to be added/removed/set/unset/appended/incremented. | |
| webpush_details | No | This is only applicable for add_webpush and remove_webpush actions. | |
| workspace | No | Suprsend workspace to get the object from. |