Red Flag ManiaIntegrations
⌘ K
Public documentation
Integrations/external-activity
External activity · Thought IndustriesControlled rollout

Thought Industries

A controlled launch-and-score integration for learning platforms that do not provide the required modern LTI services.

A separate integration path

Thought Industries does not currently provide the LTI 1.3 and grade-passback capabilities required by the RFM LTI path. RFM therefore uses Thought Industries External Activity for this provider.

A learner launches from an approved assignment page. RFM validates the short-lived signed launch, resolves the exact learner and published course version, and returns the final numeric score through the Thought Industries API.

Flow
Thought Industries assignment → signed RFM launch → published course version
Learner completes course → RFM records score → Thought Industries External Activity API

Current status

The private staging course has passed launch, completion, score, retry, and rollback acceptance. The integration is not available as a self-service connection.

Production remains on the existing integration until an RFM administrator explicitly approves a controlled cutover.

Independent Vendor launch signing and Ancillary REST authentication remain required. RFM will not enable production while those roles share one credential slot.

i

Controlled rollout means the provider-specific staging evidence is complete while production remains separately gated.

Approved setup checklist

An RFM administrator coordinates this setup with the school or association administrator. No provider credential is entered into this documentation site.

  1. 1

    Choose a private test course and test learner that are not visible to production learners.

  2. 2

    Create a dedicated Vendor API Key for the RFM staging launch domain. Do not rotate, replace, or reuse the live Zebra key.

  3. 3

    Create a separate, dedicated Ancillary API Key for RFM score delivery instead of sharing the tenant Primary key.

  4. 4

    Verify the Vendor key with a fresh signed launch and verify the Ancillary key plus exact Thought Industries API base URL through the REST readiness check.

  5. 5

    Point only the private assignment CTA at the reviewed RFM staging launch URL.

  6. 6

    Complete a learner launch and confirm the numeric score is recorded exactly once.

  7. 7

    Exercise safe failure and replay before requesting production approval.

Two independent credential roles

Thought Industries Vendor API Keys sign inbound External Activity launches for a configured domain. Primary and Ancillary API Keys authenticate outbound REST calls. RFM keeps those trust boundaries separate and recommends a dedicated Ancillary key for score delivery.

A successful launch verifies the Vendor signing key. A successful REST readiness check verifies the API origin and Ancillary credential. Administrators should rotate and verify each role independently.

  • Changing the score-delivery key should not change how learner launches are signed.
  • Changing a domain-bound Vendor key requires a fresh launch check but should not rotate the REST key.
  • An outbound credential rejection pauses score delivery for operator review; it does not automatically invalidate the launch key.

Security boundaries

Both provider credentials are stored through separate RFM backend-managed secret boundaries and are never returned to the browser or documentation site.

  • Launch tokens are short lived, signed, audience restricted, and rejected after replay.
  • The player receives a single-use RFM handoff, not the provider token.
  • Provider failures are recorded as bounded support outcomes without response bodies or credentials.
  • Score delivery is retried through the same durable operational workflow used by other grade integrations.
  • Disabling the connection stops new launches and score attempts without changing the provider course.

Support and rollback

RFM support can inspect safe launch and score-delivery status without asking for a raw token. If REST authentication is rejected, support pauses delivery, replaces only the dedicated Ancillary key, verifies REST readiness, and then replays the preserved attempt through the audited operator workflow. If acceptance fails, the private course CTA returns to its recorded previous value and the RFM connection remains disabled.

i

Never email an API key, bearer token, signed launch, or complete provider error response.