cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
hyim
Community Member

Is there a report that we can run that will give us a list of any pending invitations across all of the courses in our domain? If not, how could we go about getting that information short of manually accessing the people page for each and every course?

Jump to solution

This is particularly a concern for students that have been invited but have not yet created an account (and are therefore not yet listed as users).

1 Solution
straussi
Community Champion

In the Canvas Data Portal, you can download the 'enrollment_dim', which includes the workflow_state for enrollments, including 'invited'. You also have the user_id foreign key for the user enrollment. Join that to user_dim and since 'creation_pending' is a workflow_state, you may be able to get the integration you are looking for.

View solution in original post

11 Replies
kona
Community Coach
Community Coach

 @hyim ​, there are some reports you can run from the admin side of things to see the last user access (so the last time the student accessed Canvas) and Zero Activity (shows all the students enrolled in any courses in a given term that haven't accessed the course). To run these reports go to the admin area of Canvas, then click Settings, and choose the Reports tab.

Otherwise there might be a way on the back-end to do this in Canvas, but that is beyond my expertise. I'm going to share this with the Canvas Developers​ group in the Community to see if they can help.

hyim
Community Member

Hi  @kona ,

Thanks so much for your quick reply, but unless I am mistaken the Zero Activity report only shows students who have accepted their invitation so they would not show up there.

The last user access won't work either because for similar reasons, especially in the case where they are new student invites (and therefore do not even show up as users yet).

I would love to hear any other ideas though and thanks for passing it on to the developer's group.

kona
Community Coach
Community Coach

Thanks for the extra information. Since we add students to courses via SIS imports none of our students have accept invitations so I'm not that familiar with what you are trying to do. Hopefully someone else will have more information!!

mcowen
Instructure Alumni
Instructure Alumni

The Provisioning report has a 'status' column in the Enrollments file. The status of 'invited' means that the invitation has been sent, but not yet accepted.  You will probably want to get the Enrollments, Users, and Courses files in the provisioning report so you can get the name of the individual who has not accepted the invitation (from the Users file) as well as the name of the course (from the Courses file.)

I hope this helps!

hyim
Community Member

Thanks Mike, I thought the status on that report only showed "active" or "deleted".  I see now that there are also "invited" and "rejected".  That's very helpful, but my important edge case still remains.  The Provisioning report does not included potential students who have been invited to a course but have not yet created an account.  Those names and email addresses still show up in the people page of the course, so the system knows about them, but the I can't seem to get a report that aggregates them. Perhaps this is best illustrated with an example:

Let's say someone in our marketing department sends multiple course invitations to ten administrators at potential partner schools (we work with the model that enrolls students from a number of different schools).  They are not being added through SIS imports because they're not real students, they're just there to try it out.

A week later, our marketing person wants to go back see which invitations have been accepted and which have been ignored. Because the invitations where across multiple courses, its impractical to log into each course's People page. We just want to run report it could be titled something like "Pending course invitations for un-enrolled users."

Does such a report exist?

mcowen
Instructure Alumni
Instructure Alumni

As far as I now, that report does not exist at his time.  The issue is that Canvas does not create an account for the invited user until they accept the invitation.  Once the invitation is accepted (and, therefore, the account is created) you can find the user in the reports.

Here is one way to accomplish the goal:

1) keep track of the people to whom you are sending invitations.

2) periodically run a provisioning report for all users. (The most recently created users will be at the bottom.)

3) compare the list of sent invitations (step 1) to the provisioning report (step 2) to see who has accepted the invitation and has an account.

It's not a super-smooth solution, but it probably beats going course by course to see who has a pending invitation (unless you only have a course or 2 or 3 that you invite people to.)

Another option would be to bookmark the 'people' page for each course for which you are sending out invitations.

hyim
Community Member

Thanks Mike, I get that canvas has not created the "User" yet but they are storing the authorization to create the user (i.e. the invitation) somewhere, it would just be great to get to it.  Perhaps I'll consider a feature request. In the meantime we will stick to one of the workflows you suggest.  Thanks again.

straussi
Community Champion

In the Canvas Data Portal, you can download the 'enrollment_dim', which includes the workflow_state for enrollments, including 'invited'. You also have the user_id foreign key for the user enrollment. Join that to user_dim and since 'creation_pending' is a workflow_state, you may be able to get the integration you are looking for.

hyim
Community Member

Thanks Ira.  I'll try that and let you know how it goes.

mcowen
Instructure Alumni
Instructure Alumni

 @straussi ​ you nailed it!!!  The second column of both the user_dim and the enrollments_dim align and the report can be created.  Thanks for pointing this out.

hyim
Community Member

I was having a little trouble with our canvas data, but I just wanted to say that yes indeed this worked.  Thanks to everyone who contributed to finding the answer, especially  @straussi ​ for coming up with the correct answer.