New Column in CD2/DAP Query API: unified_tool_id in context_external_tools Table

sgergely
Instructure
Instructure
2
176

We’re excited to announce an update to the context_external_tools table in the Canvas namespace of the DAP Query API. On 31st of March in 2025, we will be adding a new column:

unified_tool_id: A unique identifier for the external tool, helping Canvas institutions better track and analyze LTI tools across their instance.

This enhancement is part of our long-term goal to improve existing tool data.

What You Need to Know

  1. New Column Addition
    1. Column Name: unified_tool_id
    2. Type: Optional(Annotated[str, MaxLength(255)])
    3. Purpose: The unified_tool_id field will help us provide better reports for installed tools in a Canvas instance by matching them with our LTI tool metadata single source of truth.
  2. Important Considerations
    1. Not all LTI tools will be given a unified_tool_id. Instructure is committed to creating a unified_tool_id for the most commonly used LTI tools.
      1. Please note that homegrown LTI tools will not be given a unified_tool_id in the foreseeable future.
    2. Usage of an LTI tool through the Redirect LTI tool will not be able to be aggregated and analyzed since the Redirect tool is a separate LTI tool itself. 
    3. Tool IDs Can Change
      1. The tool ID and its associated tool may change at any time, as we reserve the right to update identifiers dynamically. However, historical data will remain the same and not get updated retroactively.
      2. This means that while unified_tool_id adds valuable tracking capabilities, users should not assume permanent consistency of a specific tool ID.
    4. Why This Matters
      1. Helps institutions track LTI tools across their instance.
      2. Enables better reporting and analytics on external tools.
      3. Moves us closer to providing standardized LTI usage data within DAP.

If you’re a DAP CLI user, no action is required on your part—CLI automatically handles new columns and its values seamlessly.

The new data is going to be available through incremental queries, no need to do a full snapshot of the context_external_tools table.

The documentation is going to be updated once the release is out, so it always documents the current, live state of the system.

 

2 Comments