LTI Pro attributes


In the LTI Pro > “LTI Credentials” tab, there’s a section called “Tracking Field” with the description: “Set tracking field values from LTI attributes.”

Even after I correctly configured the tracking field mappings, I wasn’t able to see the LTI attributes in my active hosts report or API response (see the screenshots section)


  1. Did I miss any steps? (See the “How To Reproduce” section below)
  2. Is the tracking field our only way of retrieving LTI attributes?
  3. How are those LTI attributes persisted in your datastore (is it tied directly to the recording or meeting, for how long)?
  4. Can the tracking fields be accessible through the API at all?

Which App?

How To Reproduce (If applicable)
Steps to reproduce the behavior:

  1. Install the LTI Pro App
  2. Follow the integration steps outlined in the documentation.
  3. Congifure the tracking fields to the LTI attributes I need (e.g. custom_canvas_course_id)
  4. Record a new meeting by starting one Zoom session from the Canvas integration page (a request was sent to
  5. Expect the tracking field to show up in the API response when retrieving the recording.


  • the tracking field columns showed nothing on the “active hosts” report page
  • no tracking fields are returned in the API

Screenshots (If applicable)
My tracking field mapping:

Additional context

  • What we really care about is a way to identify the correct LTI context (course ID) when our customer imports their course recordings, so we can easily map their imports to the correct course folder.

Hey @vhu, thanks for posting and using Zoom!

Let me know if this post asked a few days ago answers your question:


Thanks for the response, @tommy. I don’t think they are the same question, but maybe @jcalz was trying to achieve something similar.

I do not need to access the API if Zoom can support our use case of revealing certain LTI attributes. The closest solution I found was to use the tracking fields (please read my original post) but that didn’t seem to work correctly.

The TL;DR version of my original questions:

  1. I couldn’t get the LTI attributes to be recorded correctly through the Tracking Fields. What did I do wrong?
  2. What’s the best way to retrieve the LTI attributes passed from LMS to Zoom?

Hey @vhu,

Please checkout this guide:


I have. In fact, that’s how I found out about the tracking field approach.

Can you please answer my questions?

  1. I couldn’t get the LTI attributes to be recorded correctly through the Tracking Fields. What did I do wrong?
  2. What’s the best way to retrieve the LTI attributes passed from LMS to Zoom?

Hey @vhu,

We are doing our best to get your questions answered, here is an example of how to set an LTI attribute called server_domain. The same kind of thing could be done to set LTI attributes for tracking fields.

Let me know if this helps!


Thank you for your response, Tommy, but I am afraid that my question is still not answered.

server_domain is a static property that one can configure from the LMS (canvas) so it’s passed to Zoom LTI Pro and Zoom can determine which domain the meeting should be tied to.

However, for the custom_canvas_course_id that we are talking about here, it’s an attribute that’s already passed from Canvas to Zoom LTI. My question is, how can I retrieve that very same custom_canvas_course_id attribute when a Zoom recording is imported to our site. We use the Meetings API to retrieve relevant metadata, so it will be great if we can somehow access the LTI attributes there.

If you are not familiar with how the LTI attributes are handled after they are passed from LMS (canvas), can you help us connect with someone who may know the answer? Ideally someone technical from the LTI Pro team and the Meeting API team.

Hey @vhu,

We are having the engineers who built the app look into this. (ZOOM-144471)

Thanks for your patience,

Hey @vhu,

I believe it is included in the tracking fields list of the Get Meeting Response, which you can call after you receive the Recording Completed Endpoint.

This is an uncommon flow so apologies for the delays.

The “Course Id” = context_id(LTI attributes) + “account id” + “domain”


I didn’t realize that tracking_fields is already supported in the meetings API, so thank you very much for point that out.

On the other hand, can you help me figure out why the tracking fields didn’t show up correctly? I used the LTI attribute key (custom_canvas_course_id) based on the HTTP request sent to Was there anything I did wrong?

Update: the tracking field is only recorded when the meeting is first created. If a tracking field is configured after the meeting is created, it will not be picked up (even if the meeting is started after the tracking field is configured)

Thank you very much for the help on this matter, Tommy!

1 Like

Happy to help!