09.23.2026
Today’s release includes the following updates:
sdk
- Plugins can now get a patient’s portal login link and deliver it themselves, over a practice’s own SMS or email provider, rather than having Canvas send it. The new
patient_portal_http.get_login_url()utility returns the link without sending anything.- One link covers both cases. When the patient opens it, the portal shows account activation or a password reset depending on whether they have already registered, so read
is_portal_registeredon the CanvasUser data module to decide the wording of your own message. - You can choose where in the portal the link lands, and how long it stays valid, up to 24 hours.
- Treat the link as a credential: whoever opens it can set that patient’s portal password. Send it only over a channel you have verified for that patient.
- Because your plugin does the delivering, Canvas has no record that the link went out. The patient’s Portal section looks exactly as it did before, so staff still see a Send invite button there and may send a second link. Use Send Invite when you want Canvas to send the invite and record it.
- What the patient does with the link is still visible in that same section: their username replaces “pending” once they set up their account, and a last login time appears once they sign in.
- One link covers both cases. When the patient opens it, the portal shows account activation or a password reset depending on whether they have already registered, so read