Heights Platform
Heights Platform helps creators build and sell online courses, digital products, and communities while managing students, orders, and access.
Verdict
Common use cases
- Onboard new students and grant course access
- Troubleshoot enrollment issues during support chats
- Pull completion rates for cohort check-ins
- Assign instructor roles to teaching assistants
- Audit order history before issuing refunds
Integration
- Vendor
- Heights Platform
- Category
- other
- Auth
- API_KEY
- Tools
- 16
- Composio slug
heights_platform
Tools
- Enroll Student
Create a student or update an existing student and mark them enrolled without granting course or bundle access. Use Grant Student Access when the student should also receive a learning product.
- Get Learning Product
Get detailed metadata for one course, bundle, or digital product by ID.
- Get Order
Get one Heights order by its public unique order ID.
- Get Student Course Progress
Get a student's overall and course-specific completion percentages for one course.
- Get Student Details
Get a student by email, including account attributes, activity counts, paid orders, and enrolled courses.
- Grant Student Access
Grant one course or bundle to a student by creating a zero-dollar paid order. Heights also creates or updates the student and marks them enrolled. This is non-idempotent because retrying can create another access order; do not automatically
- Grant Student Role
Grant one Heights role to a student, changing the student's authorization. Use a role ID returned by List Course Roles.
- List Course Roles
List the Heights roles that can be granted to students.
- List Learning Products
List published courses, bundles, or digital products in the connected Heights account.
- List Orders
List Heights orders with optional status, student email, and creation-time filters, returning one page and an opaque continuation cursor.
- List Students
List all Heights students one page at a time, or list the unpaginated students whose total completion is at least 100 percent.
- List Student Submissions
List assignment answers or project posts submitted by students.
- Reset Student Progress
Permanently erase a student's saved completion and progress records. For a course, this resets the selected course only. For a bundle, this resets every course in that bundle. This destructive change cannot be undone; confirm the student, r
- Revoke Student Accessdestructive
Permanently remove one course or bundle from a student's existing orders. Course revocation removes that course from every applicable order. Bundle revocation cascades: it removes the bundle and the bundle's courses and digital products fro
- Revoke Student Roledestructive
Revoke one Heights role from a student, changing the student's authorization. Use a role ID returned by List Course Roles.
- Unenroll Student
End a student's paid membership by setting their Heights paying-student state to false. This changes the student's membership state; it does not delete the student account or promise to remove separately granted course or bundle access.
Setup
Setup guide
- 11. In Switchy, open Settings and navigate to the Integrations tab. 2. Click 'Add Integration' and select Heights Platform from the list. 3. Log into your Heights admin panel, go to Settings > API, and generate a new API key. 4. Copy the key and paste it into the Switchy prompt, then click 'Connect'. 5. Switchy will confirm the connection and show you which tools are available. 6. Open any Project, type '@Heights get student details for email student@example.com' and send the message. 7. Heights will return the student's enrollment status, paid orders, and course progress. 8. If the response looks correct, the integration is working and you can start using other tools like Grant Student Access or Get Student Course Progress.
What teammates see: by default, memories from Heights Platform are scoped to the Project (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
Compatibility data appears once enough Projects have used this MCP together with a given model.
How Switchy teams use it
Starter prompts
Check Student Progress
@Heights get student details for email jane@example.com, then get student course progress for the course ID returned in her enrolled courses.
Grant Course Access
@Heights grant student access to course ID 12345 for email newstudent@example.com.
List Available Roles
@Heights list course roles, then show me which role ID corresponds to 'Teaching Assistant'.
Retrieve Order Details
@Heights get order ORD-98765 and summarize what the customer purchased and when.
Audit Learning Product
@Heights get learning product ID 67890 and tell me its title, price, and how many students are enrolled.
Example outputs
Illustrative - representative of the model's voice and quality, not literal recordings.
@heights show me Sarah Chen's progress in the Advanced Marketing course and tell me which modules she hasn't started yet
Sarah Chen (sarah.chen@example.com) is 62% complete with Advanced Marketing (course ID: crs_abc123). She has finished modules 1–4 (Introduction, Audience Research, Content Strategy, and Email Fundamentals) but has not started module 5 (Paid Advertising) or module 6 (Analytics & Optimization). Her last activity was 3 days ago when she completed the Email Fundamentals quiz.
This example uses Get Student Details and Get Student Course Progress to surface completion data. Heights returns overall and per-course percentages but does not expose granular module-level progress through the API—the module breakdown here is illustrative. You'll need the student's email and course ID to run this query.
@heights enroll Marcus Williams in the Coaching Certification bundle and give him the 'Teaching Assistant' role so he can help moderate discussions
Marcus Williams has been enrolled in the Coaching Certification bundle (bundle ID: bnd_xyz789) via a zero-dollar order (order ID: ord_456def). I've also granted him the 'Teaching Assistant' role (role ID: rol_ta001), which allows him to view all student submissions and post in private discussion threads. Marcus will receive an email with login instructions and bundle access within the next few minutes.
This combines Grant Student Access and Grant Student Role. Grant Student Access is non-idempotent—running it twice creates duplicate orders. The role grant changes authorization immediately, so confirm the role ID with List Course Roles first. Both actions require an API key with write permissions.
@heights pull the last 10 paid orders and summarize which courses are selling best this month, then draft a short revenue update for the team
I retrieved 10 recent paid orders from Heights. The top sellers this month are: (1) Freelance Foundations—4 purchases, $796 total; (2) Advanced Marketing—3 purchases, $597 total; (3) Coaching Certification bundle—2 purchases, $998 total. One order was refunded. Draft update: 'Revenue is up 18% month-over-month, driven by strong Freelance Foundations sales. Marketing course uptake remains steady. Coaching bundle conversions are lower than expected—consider a mid-month promo.'
This uses Get Order repeatedly (or a hypothetical list endpoint if available) and pairs Heights data with the AI's synthesis. The MCP does not expose a native 'list all orders' tool in the provided schema, so you may need to track order IDs externally or paginate manually. Revenue figures are illustrative and depend on your pricing.
Use-case deep-dives
When Heights wins for batch-enrolling paid cohorts
A 2-person education business runs monthly cohorts of 30-50 students through a flagship course. They collect payment via Stripe, then need to provision course access and send welcome emails in one go. Heights Platform's Grant Student Access tool creates the zero-dollar order that unlocks the course without double-charging, and the Enroll Student tool updates profile fields for cohort tagging. The 16-tool scope is overkill if you only need enrollment—most teams use 3-4 tools total—but the API key auth means you can script the entire onboarding flow in a single Switchy workflow without OAuth redirects. If your cohorts are under 100 students and you're already on Heights, this MCP is the fastest path from payment to first lesson.
When Heights solves 'why can't this student log in' questions
A solo course creator fields 10-15 support emails a week asking about login issues, missing course access, or progress resets. The Get Student Details tool pulls the student's enrollment status, paid orders, and completion percentages in one call, so the creator can diagnose the problem without toggling between Heights admin tabs and their inbox. The Get Student Course Progress tool confirms whether a student actually finished Module 3 or just thinks they did. This scenario works best when support volume is low enough that one person handles it—if you're routing tickets across a team, Heights doesn't expose assignment or tagging, so you'll still need a separate helpdesk tool. For under 500 active students, this MCP turns a 5-minute investigation into a 30-second lookup.
When Heights closes the loop on referral revenue
A 3-person team runs an affiliate program where partners earn 20% of course sales they refer. Every month, they need to match Heights orders to affiliate codes, calculate commissions, and flag refunds. The Get Order tool returns the order's line items, payment status, and student email, which the team cross-references against their affiliate tracking sheet. The List Course Roles tool helps them grant 'Affiliate' badges to top performers, triggering access to a private partner course. Heights doesn't natively track affiliate attribution, so this workflow assumes you're logging referral codes elsewhere—Switchy just bridges the gap between your tracking system and Heights' order data. If you're processing under 200 orders a month, this MCP is faster than exporting CSVs and running vlookups.
Frequently asked
What does the Heights Platform MCP let Switchy do?
It lets your AI agents enroll students, grant course or bundle access, check progress, retrieve order history, and assign roles inside your Heights school. You can automate onboarding workflows, answer support questions about a student's completion percentage, or trigger access grants when a payment clears in another system.
Do I need admin access to connect Heights Platform?
Yes. You'll need an API key from your Heights account settings, which requires admin or owner permissions. Heights doesn't offer granular API scopes, so the key grants full read-write access to students, courses, orders, and roles. Keep it secure and rotate it if anyone with access leaves the team.
Can the MCP automatically email students or post in the Heights community?
No. The MCP handles enrollment, access grants, progress lookups, and role changes—it doesn't send emails or create community posts. If you need to notify students after granting access, pair this MCP with a separate email tool like SendGrid or trigger Heights's built-in enrollment emails through your course settings.
Why use this instead of Heights's Zapier integration or webhooks?
Zapier and webhooks push data out of Heights when events happen. This MCP pulls data in and writes back on demand, so your AI can answer "What's Sarah's progress in Module 3?" or grant access mid-conversation without pre-built Zap templates. Use webhooks for event-driven flows; use the MCP for conversational or ad-hoc admin tasks.
Who on the team should connect the Heights MCP in Switchy?
Whoever manages your Heights school and holds the API key—usually your course admin or head of operations. Once connected, any Switchy team member can invoke the tools in a chat, but the underlying API key's permissions apply to every action, so limit Switchy access to people you trust with full Heights admin rights.