Trigger SharePoint item update to triggered actions reliably

Trigger SharePoint item update to triggered actions reliably

Problem

When you modify a SharePoint item using “Update Item” in Triggered Actions or Scheduled Actions, downstream Triggered Actions (that listen for changes on the same item) do not fire reliably.
Reason: The standard update does not set all signals/metadata in a way that guarantees subsequent triggers are detected.

Solution (Workaround)

Use a “Send HTTP request” (SharePoint REST) step that updates the list item via PATCH.
This creates a “real” REST update including ETag/concurrency headers — and downstream triggers are activated reliably.

Structure of the Triggered or Scheduled Action

1) Create variables

At the beginning, create the following variables:

  • ListName (display name of the SharePoint list)

  • ItemMetadata (metadata structure)

  • ElementTitle (title field structure / not strictly required)

2) Determine ListItem Entity Type (for ItemMetadata)

Retrieve the ListItemEntityTypeFullName of your list so you can populate __metadata correctly.

Request (read):

https://{site_url}/_api/web/lists/GetByTitle('{List Name}')?$select=ListItemEntityTypeFullName

Replace {site_url} with the site URL.
Use the list’s display name (same as your variable {List Name}).
Dynamic expressions are valid — just ensure there are no extra spaces in the URL.

3) HTTP update of the item (PATCH)

In Teamsware, use Send HTTP request with the following parameters:

URL (dynamic):

${[[@Web.Url]]}/_api/web/lists/getbytitle('${[[@Variables.ListName]]}')/items(${[[ID]]})
  • [[ID]] = current item ID from the trigger context

  • [[@Web.Url]] = site URL

  • [[@Variables.ListName]] = your list variable

Method: POST

(Yes, POST — combined with X-HTTP-Method: PATCH in the headers.)

Headers:

Content-Type: application/json;odata=verbose
Accept: application/json;odata=verbose
X-HTTP-Method: PATCH
IF-MATCH: *
  • IF-MATCH: * ignores the ETag check (forces update)

  • Alternative: IF-MATCH: [[{ItemETag}]] if you want proper concurrency control

Body (data):

=JSON.stringify([[@Variables.ItemMetadata]])

Important: Use exact JSON serialization (JSON.stringify) so the body is sent as valid JSON.

Common Errors & Troubleshooting

“The property ‘__metadata’ does not exist on type…”
The type specified in __metadata is incorrect. Retrieve the ListItemEntityTypeFullName from the exact same list. Verify the display name (case sensitivity, special characters).

“A type named ‘SP.Data.*’ could not be resolved…”
Wrong site context (different Site URL) or the list does not exist at the specified URL.

“405 Method Not Allowed” or “Verb not supported”
Either X-HTTP-Method: PATCH is missing, or you set Method = PATCH without the required header.
In Teamsware / SharePoint REST, PATCH typically works via POST + X-HTTP-Method: PATCH.

No downstream triggers are firing
Check whether your trigger listens to ItemUpdated / “When an item is modified.”
Ensure the relevant fields were actually changed.
Verify you are targeting the correct list/site.

Concurrency error (ETag mismatch)
Use IF-MATCH: * (forces overwrite), or retrieve the current ETag beforehand and set it explicitly.

Data type conflicts
Ensure field values match the correct types:

  • Number → without quotes

  • Boolean → true / false

  • Lookup → FieldNameId

  • etc.

    • Related Articles

    • Action: Update item

      Update item action allows updating an item in a list or a library immediately with configurable values. For more information about Action Builder read Action Builder introduction article. To configure the action the additional properties should be ...
    • Starting a Microsoft Flow from Teamsware Actions

      Microsoft Flow provides many features and integration options not available when using basic Teamsware actions. But you can start a Microsoft Flow / Power Automate from Teamsware action quite easily by using the Start Power Automate / Azure Function ...
    • Action: Add list item

      Add list item action allows adding a new list item dynamically to a specified SharePoint list. When the Add list item action is executed, the new item is added immediately setting the configured field values. For more information about Action Builder ...
    • Action: Get item

      Get items action allows to get items from a SharePoint list or library and use them e.g. in a loop control. Example of Get items action configuration on the current site For more information about Action Builder read Action Builder introduction ...
    • Action: Stop sharing item

      Stop sharing item action will remove all permissions on the specified item or file except for site owners. Example of configuration on the current site For more information about Action Builder read Action Builder introduction article. To configure ...