The Image Annotation widget is used to annotate images by drawing rectangles around areas of interest.
The screenshot below shows an example of a configured Image annotation widget in the process of creating an annotation:

Annotations are not stored inside the widget. To persist a rectangle, save it as an object in your Ontology. Persisted annotations behave like any other object: they can be searched, filtered, linked to other objects, secured with permissions, and reused across applications.
The widget performs two distinct roles:
Writing back to the Ontology is always performed by an Action; a Scenario is not required. Scenarios are only needed for "what-if" analysis, where edits are staged in an isolated fork of the Ontology rather than committed. Involve a Scenario only if you specifically want annotations to be provisional and reviewed before being written to the live Ontology. Because writeback relies on an Action, before you configure the widget you need two things in place:
The end-to-end flow, from a user drawing a rectangle to a persisted, linked annotation object, proceeds as follows:
The following steps walk through the most basic annotation workflow: letting a user draw a box on an image and save it as an object linked to the object the image belongs to. The example uses an Inspection Photo object (which holds the image) and an Image Annotation object (which holds each box), but you should substitute the object types and property names from your own Ontology.
This example is illustrative. Because your Ontology is customized to your data, the object and action types referenced below may not exist in your enrollment. Create equivalents that match your data model.
In Ontology Manager, create an object type to store annotations. At minimum it needs:
Annotation ID string."x1, y1, x2, y2", where (x1, y1) is the upper-left corner and (x2, y2) is the lower-right corner, using pixel coordinates. This is the value the widget reads and writes.#FF0000, used to draw the box.Image Annotation to Inspection Photo. This link is what associates each annotation with the correct image so that only the relevant boxes are displayed.Create an Action that creates a new Image Annotation object. Its parameters should include:
Inspection Photo), so the Action can set the link created in Step 1.You can also create Actions to delete an annotation (for a "Remove" control) and to modify an existing annotation if you want users to adjust a box after it has been saved. For a full walkthrough of defining Action types, see Use Actions in Workshop.
Add the Image Annotation widget to your module and configure the fields described in Configuration options:
Image Annotation objects, filtered to the current Inspection Photo. Filtering by the current subject object ensures the widget only draws boxes that belong to the displayed image.When a user finishes drawing a rectangle, the coordinates are held in the Current bounding box selection variable. To persist them, trigger your create Action from Step 2:
Inspection Photo). Setting the subject object is what links the new annotation to the correct image.After the Action submits, the new Image Annotation object is written to the Ontology and linked to its subject object. Because the widget's Annotation objects input is an object set, it reloads to include the new object and draws the saved box on the image.
Here is a screenshot of the initial state of a newly-added Image Annotation widget alongside its initial configuration panel:

.png, .jpg, .jpeg, .bmp, or .webp,
https://{my-foundry-url}/foundry-data-proxy/api/web/dataproxy/datasets/{dataset rid}/transactions/{transaction rid}/{filename}https://{my-foundry-url}/foundry-data-proxy/api/web/dataproxy/datasets/{dataset rid}/views/{branch name}/{filename}.