# 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.

- Workflow type: code
- Services: Blackboard, Google Forms, Gmail, Google Sheets
- Categories: Operations, HR & People
- Published: 2026-08-04

## What it does

- 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 you'll need

- 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

## Prompt

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.

## How to customize

- 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.

## FAQ

### 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.

Use this prompt in General Input: https://www.generalinput.com/prompts/enroll-new-student-intake-form-responses-in-blackboard