Enroll new student intake form responses in Blackboard

Every intake form response becomes a Blackboard account, a course enrollment, a welcome email, and a logged row in your intake spreadsheet.

Deterministic Code
BlackboardGoogle FormsGmailGoogle SheetsOperationsHR & PeopleOnboarding AutomationData SyncEmail Automation
PromptCreate

Whenever a new response lands on our student intake Google Form, create the student in Blackboard and enroll them automatically. Trigger the workflow on a new Google Forms response and read the submission with List Responses to pull out the student's full name, email address, student ID, and the course code they are joining.

Next, check whether that person already has a Blackboard account. Call Get Users and look them up by the email address from the form. Blackboard IDs accept secondary ID prefixes, so pass emailAddress:<the address from the form> instead of trying to guess the internal _123_1 primary key. If a matching user comes back, reuse it. If nobody matches, call Create User with the student's given and family name, their email address, the student ID as the external ID, and a username derived from the local part of the email. Creating a user who already exists returns a 409 conflict on the duplicate external ID, which is exactly what the lookup is there to prevent, so never call Create User without checking first.

Enroll the student with Create Course Membership. Address the course as courseId:<the course code from the form> so the human readable code people type on the form works directly, and address the user with the id returned from the lookup or the create step. Set the course role to Student and make the membership available. If Blackboard reports that the membership already exists, treat that as success rather than failing the run, but skip the welcome email in that case so a returning student is not emailed twice. Then call Get Course on the same courseId so the email can use the course's real display name rather than the raw code.

Send the student a welcome message through Gmail with Send a Message. Address it to the email from the form, use a subject along the lines of "You are enrolled in <course name>", and write a short friendly body that greets them by first name, confirms the course they have been added to, tells them where to sign in to Blackboard, and lists two or three first steps: set a password if the account was just created, open the course, and read the syllabus and any announcements. Plain text, no attachments.

Finally, append one row to our student intake log in Google Sheets with Append Values. Record the submission timestamp, student name, email address, student ID, course code, course name, the Blackboard user id, and whether the account was newly created or already existed. Write a row for every response, including the ones that fail.

Two rules to bake in. If the course code on the form does not resolve to a real Blackboard course, skip the enrollment and the welcome email, and still write the log row with the failure reason so someone can follow up. And process each form response exactly once, so no student is ever enrolled or emailed twice. Note that the Blackboard connection needs write access on top of read, because this workflow creates users and memberships.

What does this prompt do?

  • Watches your student intake form and picks up each new response as it arrives, pulling the student's name, email address, student ID, and the course code they are joining.
  • Checks Blackboard for an existing account first, creates one only if the student is new, then enrolls them in the course they picked with the Student role.
  • Emails the student a friendly welcome with their course name and the first few things to do.
  • Adds a row to your intake log spreadsheet for every submission, noting whether the account was newly created or already there.

What do I need to use this?

  • A Google account with your student intake form and your intake log spreadsheet
  • A Blackboard Learn login for your institution, with permission to add people and enroll them in courses
  • A Gmail account to send the welcome message from
  • An intake form that collects the student's name, email address, student ID, and the course code they are joining

How can I customize it?

  • Rewrite the welcome email in your own voice, or send it from a shared admissions address instead of a personal one.
  • Swap the Student role for another course role if some responses are for teaching assistants or guests.
  • Add columns to the intake log, or point it at a fresh spreadsheet tab each term.

FAQs

What happens if the student already has a Blackboard account?
The workflow looks them up by email address first and reuses the existing account instead of creating a duplicate. The log row records that the account already existed.
Does this work with any course?
Yes, as long as the course code a student types on the form matches the course code in Blackboard. If it does not match anything, the workflow skips the enrollment and writes the reason into the log so someone can follow up.
How soon after submitting the form does a student get set up?
The workflow watches for new responses continuously, so students are normally created, enrolled, and emailed within a few minutes of hitting submit.
Will a student get emailed twice if they submit the form again?
No. Each response is handled once, and if the person is already enrolled in that course the workflow just records it in the log rather than sending another welcome message.
Do I need to be technical to set this up?
No. You connect your Google account, your Blackboard login, and Gmail, then point the workflow at your intake form and your log spreadsheet. After that it runs on its own.

Related templates

Trace phishing emails to the sending IP and report abuse

Every 15 minutes, forwarded phishing reports get traced back to the server that really sent them, with a verdict in Slack and the worst senders reported.

AbuseIPDB
Gmail
Slack
Agentic Task
Weekly Amazon S3 bucket security audit posted to Slack

Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.

Amazon S3
Slack Bot
Google Sheets
Agentic Task
Turn procurement portal tenders into CRM deals each morning

Every weekday at 7am, sign in to the tender portals you track, filter new notices against your bid criteria, and open a deal for the ones worth chasing.

Anchor Browser
Google Sheets
HubSpot
+1
Agentic Task
Draft polite follow-ups for emails that never got a reply

Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.

Aurinko
Google Sheets
Slack Bot
Agentic Task
Weekly flight risk brief for trips your team already booked

Every Thursday, rank your team's upcoming flights by how likely they are to run late, and email the fixes while changes are still cheap.

AeroDataBox
Airtable
Gmail
Agentic Task
Warn customers before their saved card expires and billing fails

Each month, spot the saved cards about to expire, email the customers still on recurring billing, and rank the revenue at risk in Slack.

Authorize.Net
Gmail
Slack Bot
Agentic Task

Stop hand-keying student enrollments.

Let every intake form response create the account, enroll the student, and send the welcome email without anyone touching it.