Skip to main content

Publishing a Product

Module: ChemIQ For: Admin, Manager

Publishing a product is the moment your Public SDS Portal goes from a configured-but-empty catalog to something a customer can actually use. It's a single toggle on the product detail page — but Tellus runs a handful of pre-flight checks before the toggle becomes available, and one of them stops you in your tracks when the SDS has been flagged for review.

This page walks through where the toggle lives, every pre-flight gate (hard and soft), what auto-slug generation does, and how slug collisions get handled inside your catalog.


Where to Publish

  1. Open ChemIQ from the main navigation
  2. Go to Product Catalog
  3. Click a product to open its detail page
  4. Scroll to the Public SDS Portal section
  5. Flip the Publish to Public SDS Portal toggle

If the toggle is disabled or the product detail page shows a yellow banner, one of the pre-flight gates is blocking you. The most common reasons are below.


Pre-Flight Gates

Before a product can be published, Tellus checks four things in order. The first three are simple readiness checks; the fourth is the SDS review-status check that has both a hard and a soft variant.

Gate 1: Portal Is Enabled

The portal must be enabled at the company level — meaning a slug has been claimed (see Claiming Your Slug).

SymptomWhat it meansFix
Banner: "Public SDS Portal not enabled"No slug claimed yetGo to ChemIQ > Public SDS Portal and claim a slug

This is a one-time setup. Once you've claimed your slug, every product in your catalog is eligible.

Gate 2: Product Has a Current SDS

The product must have at least one SDS document on file. Tellus serves the most recent active SDS automatically.

SymptomWhat it meansFix
Banner: "No SDS on file for this product"Product was added but no SDS uploaded yetUpload an SDS — Quick Import, SDS Library, or manual upload all work

Gate 3: Emergency Contact Exists

A valid 4-field emergency contact record must exist at either the company level or the site level (see Setting Up Your Emergency Contact).

SymptomWhat it meansFix
Banner: "Emergency contact missing"Neither company nor site has a complete 4-field contact recordConfigure the contact in ChemIQ > Public SDS Portal > Emergency Contact panel

Gate 4: SDS Review Status

This is the most consequential gate. Tellus checks the SDS's review_status and behaves three different ways depending on what it finds.

StatusBehaviorWhat you see
approved or reviewedPublishes cleanly — no frictionToggle flips and the URL goes live
pendingSoft block — override requiredA confirmation dialog asks you to check I have reviewed this SDS and accept the responsibility of publishing it. A free-text reason field is required. Submitting logs the override in the audit trail with your user ID, timestamp, and the reason.
flaggedHard block — cannot publishThe toggle is disabled. A banner explains why the SDS was flagged (e.g., "Parser low confidence on Section 2 hazards" or "Manual review flag: missing pictograms"). Publish is impossible until the flag is resolved.

Why the Hard Block on Flagged

A flagged SDS is one Tellus or your team has explicitly marked as wrong, incomplete, or untrustworthy. Publishing it would mean serving content you already know is suspect — directly to the workers and customers who depend on it during exposures and emergencies. There is no override path for flagged SDSs. The fix is to address the flag (re-parse, replace the document, manually correct the parsed data) and clear the flagged status. Then the toggle becomes available.

Why the Soft Block on Pending

pending means the SDS has been uploaded and parsed but no one has reviewed it yet. It might be fine — most are. But Tellus wants you to make that decision consciously, not by clicking the wrong toggle. The override is the conscious-decision moment, and the audit-trail log is what protects you (and us) if anything goes sideways downstream.

A useful soft-block reason looks like: "Reviewed Section 2 hazard classification — pictograms and signal word match the SDS PDF. Publishing while formal review queue catches up."

A bad soft-block reason looks like: "ok" or "approved". Tellus accepts it, but the audit trail is also what a downstream auditor or your own internal review queue is going to look at. Write the reason like you mean it.


Auto-Slug Generation

The first time you publish a product, Tellus auto-generates a URL slug for it based on the product name plus CAS number (where present). The generated slug:

  • Uses lowercase, kebab-case (a-z, 0-9, hyphen only)
  • Combines the product name with the CAS number when CAS is on file
  • Strips characters that aren't allowed in URLs
Product nameCASGenerated slug
Acetone67-64-1acetone-67-64-1
EHP High Performance Waterborne Basecoat(none)ehp-high-performance-waterborne-basecoat
Krylon ColorMaster Primer (Gray)(none)krylon-colormaster-primer-gray
Methyl Ethyl Ketone78-93-3methyl-ethyl-ketone-78-93-3

You can override the auto-generated slug from the product detail page before publishing. Same character rules apply as the company slug (see Claiming Your Slug for the character rules). The only reserved words at the product level are URL route segments — search, api, download — because those would collide with paths inside your portal. The full federal-regulator reserved list does not apply at the product level.

Slug Collision Within Your Portal

Product slugs are unique per company, not globally. Two different Tellus customers can each have a product called acetone-67-64-1 — those are different URLs because the company slug is different (acme-chemicals/acetone-67-64-1 versus cleanpro/acetone-67-64-1).

Within your own portal, slug collisions can happen if you publish a second product with the same auto-generated slug. The most common case is two product variants — a 5-gallon and a 55-gallon SKU for the same chemical. Tellus handles this in three ways:

  1. Auto-suffix on first publish — if Tellus detects a slug collision, it appends a numeric suffix automatically: acetone-67-64-1, then acetone-67-64-1-2, then acetone-67-64-1-3.
  2. Manual edit before publishing — if you want a more meaningful disambiguator, override the slug before you click publish. acetone-67-64-1-5gal and acetone-67-64-1-55gal is clearer than acetone-67-64-1 versus acetone-67-64-1-2.
  3. Slug history is preserved — once a product slug has been public for 7 days, that slug is locked. You cannot reuse it for another product in your catalog even after unpublishing the original. See Renaming Your Slug for the 7-day activation rule and why it applies to product slugs too.

What Happens When You Publish

The moment the toggle flips:

  1. The product URL goes live at sds.tellusehs.com/{your-slug}/{product-slug} — see Per-Product SDS Page for what visitors see
  2. The product appears in your branded catalog at sds.tellusehs.com/{your-slug} — see Company Catalog Page
  3. The 7-day activation clock starts for both the company slug (if it hasn't already activated) and this product's slug
  4. A published event is logged in your audit trail with your user ID, timestamp, and (if you used the soft-block override) the override reason
  5. The product becomes eligible to appear on a site poster — see Site Access Posters

There's no manual sync, no cache flush, no waiting period. The URL works in seconds.


Unpublishing

Flipping the toggle back to off removes the product from your public catalog immediately. The product URL returns a branded "no longer available" page (not a 404 — that would imply the URL was wrong). Visitors who land on it via a stale link see your branding and a message pointing them back to your catalog.

Unpublishing does not:

  • Delete the SDS from your library — the SDS stays in ChemIQ for internal use
  • Remove the product from your site posters — site posters are catalog-driven and pull from inventory, not from public-publish state
  • Delete the audit trail or access log — past access events are preserved for compliance review
  • Free up the product slug — if the slug has activated (7 days public), it remains locked even after unpublishing

If you accidentally publish a product and unpublish within the 7-day window, the slug is released back to your portal's namespace. After 7 days, it's locked.


Bulk Publishing

Publishing one product at a time is the default Phase 1 flow. Bulk publishing — flipping many products to public from a checklist — is on the Phase 2 roadmap. For now, the per-product flow is the only path; if you're seeding a catalog with a few dozen products, plan an afternoon and work through them.


Permissions

RoleCan publishCan override pending SDSCan resolve flagged SDS
Admin
Manager
Program Coordinator
Employee

Resolving a flagged SDS requires Admin-level access because it changes underlying SDS metadata that drives compliance reporting.