Celebrate Excellence in Education: Nominate Outstanding Educators by April 15!
Found this content helpful? Log in or sign up to leave a like!
Hi Friends,
I have been looking for a low-code platform to use with Canvas, primarily for administrative tasks. Anyone use Microsoft Power Apps and have any insights to share?
If you have used another low-code platform with Canvas and have some thoughts on the experience, that would be appreciated too.
I've used MS Flow (fairly recently renamed as Power Automate), which enabled me to use forms and approvals.
@DanBurgess I presented on Power Automate at InstructureCon 2021L
That presentation has a link to my GitHub where I provide some swagger code to get some of the most popular Canvas API endpoints into Power Automate.
The ability for frontline to complete web forms and approvals to go to MS Teams and final automation to happen afterward has been such a time saver.
@jwadec, thanks for sharing this!
I checked out the video (this is one of many that I missed during InstructureCon) and greatly appreciate the link to the GitHub repository.
Hey @DanBurgess : just checking in to see how it is going?
For others interested I think this is the GitHub repository: https://github.com/jwadec/Canvas/
Bruh... Looking into this, but you may have just saved me a TON of work! THANK YOU!!
Hi @jwadec,
The link to your presentation no longer works. Are you able to provide an alternative link (or possibly add it to your Git repository)?
Best wishes,
Luke
@losullivansalt It looks like Instructure pulled the 2021 conference sessions. Bummer. I will try to work on a few low-code/no-code blog posts for the community that will have similar content to what was presented at InstructureCon 2021. I'll post here once they are up.
@DanBurgess I was able to implement @jwadec's Power Automate and Microsoft Forms pretty easily. I took what he shared and then was able to add my own API calls to the Swagger code in Power Automate custom data connector.
I've got 4 forms working - Update user profile title (since we have ability to change names turned off), Bulk course enrollment form (allows for enrolling in a specific course and specific section or create a new section, pick specific role for the bulk enrollments, and whether they can interact only with their section), create playground course request form (user enters their ID and it creates a course for them. Useful for new hires who don't have courses as teachers yet for trainings, etc.) and I just finished a Placement Test Request Form for counselors (it enrolls the student in a placement test course, add them to the appropriate test(s), emails the counselor and student with the provided information. The form can also be used to extend student access to the course if they need more time).
I've really enjoyed exploring ways of reducing "clicky" tasks and providing ways to automate admin tasks that don't need to be "approved" beforehand. There is a way of adding "wait for approval" as seen in the training above, but I've not needed to do that yet.
Cheers,
Chad Scott
Hello,
Fairly new to Canvas API and testing the PowerAPPs custom connection.
I am not able to get the connector to work. When I test retrieving a user receive the below message. We are using a vanity domain and I am testing against our beta site. Tried API option as well as oAuth2 same error. Able to do a curl etc to retrieve information with a bearer token.
" "message": "The specified resource does not exist.""
Any ideas or direction helpful.
Thank you,
John
I'm not sure quite what's going on, but PowerAutomate now identifies my custom Canvas connector as a Premium feature and has turned off any flow that uses it.
Yeah I noticed that new premium tag on the custom connector show up a few weeks ago as well. It does look like this will require either a per-user or per-flow license moving forward. We have purchased a handful of per-user licenses here at our institution.
In my case I have a full license, issue is not related to licensing as I have other custom connectors that work.
Just cannot figure out the canvas connector settings. Have tried using this setttings as per github and vanity urls as well
Testing using oAuth and API same error. API key bearer token works with curl and command line.
thanks
John
Thanks for the response and providing the gitihub code for us to use.
I got it to work using the vanity URLs along with adding Redirect URI (Legacy): https://global.consent.azure-apim.net/redirect in my Canvas developer config.
Also figured out id versus sis_user_id calls
I working against the beta site could have been a delay in the developer key being replicated to it while I was making on prod not reflected in beta.
v/r
John
Great to hear. Enjoy the world of low-code/no-code!
Has anyone been able to get Scopes working with Power Automate? I have developed a few flows based on Power Apps that work in a wide-open beta environment. In looking to bring this to production, I would like to set-up scopes but I am not sure of the formatting on the Power Automate side. Thanks.
@DanBurgess @jwadec @matthew_buckett @chadscott
For several years we've been using Canvas Data to search for strings of text and then create a list of course urls that need an action (i.e., fix a broken link on a list of pages, add a page, edit page content, etc.) and then use that list as a csv input file along with an RPA (robot process automation) tool called iMacro. This has worked out tremendously for us as our support team has access to edit course content but does not have access to the Canvas API. However a few weeks ago the company that now owns iMacro (Progress) informed its user community that the tool is at end of life near the end of 2023.
And so I am looking for a new solution for the RPA aspect and the Power Automate / Canvas API connector seems like a contender. A few questions:
Thanks to all, ~ Jeff
@Jeff_F : Power Automate has all the typical programming operators. It can Do Until, Apply to Each, Condition, Switch, and Scope.
I have used the Do Until action for monitoring the process of a Course Copy. Using the Progress API, I have it watch for it to reach 100% before moving to another step. I add a small delay so that it only checks every 30 seconds within the Do Until action. Implementing this step ensures that completion emails do not go out until the course copy completes.
I think the Apply to Each action would be what you'd want to use to cycle through each item. If each URL is separated by a comma you can use a split expression and turn it into an array. The array will then be the value on the Apply to Each. There is then an item expression that can be used to grab whatever value you need for that iteration.
The screenshot below is probably a big no-no in terms of programming. It is a Do Until inside a Do Until. This is looping through sections separated by a comma and users separated by a comma. Using a length expression, you tell Power Automate how many items are in each and then you can set a counter. I have a section counter and a user counter. After each iteration it is increasing the count by 1. Once it equals the number, it will complete the step and move to the next part of the flow. I'm sure there are more elegant ways to do this but it has worked for us.
Power Automate Flow Example
@jwadec -
Very helpful. So far I've recreated a few of our macros using the basic RPA features within Power Automate (see below). For example, this here uses a csv input of assignment urls where we want to search for a string of text (Employment Trends) within the description html and replace it with new text (for fun... 'Bee bop buh bee bop'). This can be used for broken links, video embeds, other strings of text, titles, headings, the entire page of HTML, etc. I've highlighted the two items I had questions for: looping and a find/ replace capability. These are both working without flaw.
The one challenge I've observed is that it is sometimes difficult to select the correct object in the user interface. This is partly due to the button id's having variable alphanumerical id's. But I am finding that with persistence I can find the right combination of UI elements to select.
I will be planning next steps and that will include exploration of the provided connector, api, and creation of a flow request via form input.
Again, many thanks for sharing! This is next level stuff.
--------
Power Automate - find and replace
I've been developing a small suite of Administrator Tools for Canvas using Retool. It's a low-code, Javascript based tool that allows me to rapidly prototype tools and UI connected to the Canvas API. It also offers a Postgres database for storage, all for FREE. Of course, there's larger paid accounts, but at least for me, I've been able to build some cool stuff with no restrictions.
FWIW I've used TeamDynamix iPaaS product to work with the Canvas API, which is a delivered connector.
To participate in the Instructure Community, you need to sign up or log in:
Sign In