Skip to content

Pilot onboarding

Getting started

Day-one guide for new pilot customers. By the end of this walkthrough, Celia will be scoring your students overnight and writing results back into your Slate records.

Time to live: Plan for about 90 minutes with your Slate captain the first time through. Subsequent pilot Orgs take under 30 minutes once the pattern is familiar.

What you are setting up

CeliaConnect reads your Slate data nightly, produces four outputs per student (Engagement score, Readiness score, Yield score, Risk tier), plus a recommended next action for a counselor, and writes all of it back into your Slate records as ss_celia_* custom fields.

Nothing personal ever leaves your Slate instance. Celia works on anonymous IDs and behavioral signals only. See Talk to Celia and Security & Privacy if you need to walk an IT reviewer through the architecture before proceeding.

The setup has five sequential steps:

  1. Connect Slate (credentials + IP allowlist)
  2. Import the Slate starter kit (suitcase artifacts)
  3. Build your data dictionary
  4. Create your first Flow
  5. Verify the first run

Step 1: Connect Slate

CeliaConnect uses a dedicated Slate service-access user to read your query results and write scores back. You create the user in Slate; we never receive any credentials directly from you until you paste them into Settings.

In Slate

  1. Go to Database → Users and create a new service-access user. Name it celiaconnect (the name is used for audit traceability, not functional).
  2. Grant the user Web Service Permissions (needed to access query service URLs) and Source Format write access (needed to post scores back).
  3. Go to Database → IP Restrictions and add the CeliaConnect IP range. The exact IPs are shown on the Slate connection page inside CeliaConnect (step 4 below).

In CeliaConnect

  1. Open Settings → Slate connection. ( Docs: Slate connection)
  2. Paste your Slate base URL (e.g., https://your-school.technolutions.net).
  3. Paste the celiaconnect username and password you just created in Slate.
  4. Note the CeliaConnect IPs listed on the page and add them to Slate's IP rules if you haven't already.
  5. Click Test connection. All three legs (auth, query access, writeback access) must show green before proceeding. If you see a 401, the password is wrong. If you see a 403, the IP allowlist hasn't propagated yet — wait two minutes and retry.

Step 2: Import the Slate starter kit

CeliaConnect ships a set of pre-built Slate artifacts as suitcase GUIDs. Importing them stands up all the custom fields (ss_celia_*), reference queries, and source format targets Celia needs — without hand-building them.

(Docs: Slate starter kit — includes the full ss_celia_* field roster and the Source Format field tables.)

In CeliaConnect

  1. Open Settings → Slate starter kit.
  2. Copy the GUID next to Complete Suitcase.

In Slate

  1. Go to Database → Search → Suitcase Import.
  2. Paste the GUID and preview the objects Slate is about to create.
  3. Confirm the import. Slate creates a fresh copy of each artifact.
  4. Grant the celiaconnect service user read access on the two imported queries and write access on the Source Format.

Verify in CeliaConnect

  1. Open Settings → Slate setup kit.
  2. All five rows (fields, In Progress query, Positive Outcomes query, Source Format, service-access user) should turn green within a few minutes as CeliaConnect auto-verifies them. (Docs: Slate setup kit)
  3. If a row stays amber after five minutes, contact support — usually an artifact name mismatch.

Step 3: Build your data dictionary

The data dictionary is what transforms Slate's opaque field codes into meaning Celia can reason about. Without it, Celia can still score students, but it reasons over raw column names rather than semantics — and your custom SS_* fields have no effect at all.

(Docs: Data dictionary)

Fastest path: bulk CSV import

  1. Export your Slate field schema (the column names your queries return) as a CSV.
  2. Add three columns to it: Label (human-friendly name), Type (text / number / date / boolean / enum), Description (what the value means to Celia in one sentence).
  3. Open Settings → Data dictionary → Import and upload the CSV. (Docs: Import a dictionary)

Required fields

Nine fields must be in the dictionary before you can activate a Flow. Make sure your Slate queries return all nine, and that each has a dictionary entry:

  • student_type
  • program_interest
  • entry_term
  • campus_visit_count
  • last_activity_date
  • application_status
  • home_state
  • docs_missing
  • residency_country

After importing, go to Settings → Data dictionary and confirm you see entries for all nine. Add any that are missing via Add entry.

Step 4: Create your first Flow

A Flow is one complete pipeline: Slate reads data → Celia analyzes it → scores write back to your Slate records. You need one Flow per scoring lens (most pilots start with one: risk scoring for the current cycle).

(Docs: Create a Flow)

What you will need from Slate

  • In Progress query URL — the query that returns currently active applicants. In Slate: Queries → your query → Service tab → copy the URL. Make sure service access is enabled.
  • Positive Outcomes query URL — last cycle's depositors/enrollees. Same URL-copy process from the Positive Outcomes query.
  • Source Format writeback URL — from the Source Format imported in Step 2. In Slate: Database → Source Formats → your format → copy the endpoint URL.

In CeliaConnect

  1. Open Flows → New Flow.
  2. Pick use case: Risk scoring (recommended for your first Flow).
  3. Paste the In Progress query URL. The wizard tests it live — fix any errors before continuing.
  4. Paste the Positive Outcomes query URL.
  5. Paste the Source Format writeback URL.
  6. Choose cadence: Daily is correct for most pilots.
  7. Turn Dry run on for the first 24 hours. Celia will analyze but not write back yet — lets you inspect output before it lands in Slate.
  8. Click Save.
  9. On the Flow detail page, click Run now to kick off the first run immediately rather than waiting for the overnight schedule.

Step 5: Verify the first run

The first run typically completes within a few minutes for small cohorts, up to 20 minutes for cohorts above 1,000 students.

In CeliaConnect

  1. Open Schedules and watch for the run to change from running to completed.
  2. Click the completed run to open the run detail page. Check:
    • Students analyzed count matches your expected cohort size.
    • Writeback rows landed equals students analyzed (no partial failures).
    • Baseline source shows "Both surfaces" or "In query only" (not "Empty").
  3. Open Students and confirm students appear with scores. Click one to see their Engagement, Readiness, Yield, Risk tier, and recommended next action.

In Slate (with dry run off)

  1. Open a student record in Slate who was included in the Flow's In Progress query.
  2. Verify the ss_celia_* fields are populated. At minimum you should see ss_celia_risk, ss_celia_engagement, ss_celia_readiness, ss_celia_yield, and ss_celia_next_action_1.
  3. If the fields are empty, the dry run flag is still on. Open the Flow → edit → disable dry run → re-run.
You are live. From here, the Flow runs on its cadence automatically. Check the Dashboard each morning for Celia's overnight summary, use the Students page to filter by Risk tier, and use Talk to Celia for ad-hoc cohort questions.

Daily usage after go-live

Morning triage (5 minutes)

  1. Open the Dashboard. Read the AI narrative card.
  2. Click the critical-risk tile. Work the top 5–10 students.
  3. Each student row deep-links into Slate so you can act there directly.

Ask Celia a question

  1. Open Talk to Celia.
  2. Ask in plain English: "Top 10 students with critical engagement in the last 7 days."
  3. Click a result to open the student in Slate.

Check run health

  1. Open Schedules.
  2. All last-night runs should show "completed". Any "failed" run has a forensics link.

FERPA and data handling

CeliaConnect is designed so that personally identifying student information never leaves your Slate instance. Celia works on anonymous IDs and behavioral signals only — this is a structural property of the system, not a policy promise. The architecture is described in detail at celiaconnect.com/security/.

Legal documents for IT and legal reviewers:

  • Privacy Policy — what we collect, how we use it, and your rights.
  • Data Processing Agreement (DPA) — GDPR Article 28, FERPA-aligned. Signed as part of your pilot agreement.
  • Sub-processors — Cloudflare, Anthropic, Stripe, Mailgun. Changes announced 30 days in advance.
  • Terms of Service — 17-section SaaS agreement covering your rights, our obligations, billing terms, and data lifecycle.

Common first-day problems

Test connection shows 401

Wrong password or the service-access user is disabled in Slate. Confirm the user is active and re-paste the password.

Test connection shows 403

CeliaConnect IPs aren't in your Slate IP allowlist yet, or they haven't propagated. Wait two minutes and retry. The IPs are listed on the Slate connection page.

Flow won't activate ("saved but deactivated" banner)

One or more of the nine required fields are missing from the data dictionary. The banner lists them. Add the fields to your Slate query, click Refresh fields on the Flow detail page, then click Activate.

First run shows "Empty" baseline source

Neither query returned students flagged as positive outcomes. If this is your first cycle and no students have deposited yet, this is expected — Celia falls back to fleet defaults and priors will improve as converters accumulate. If you have prior-cycle depositors, verify your Positive Outcomes query's WHERE clause filters to stage IN ('deposited','enrolled').

ss_celia_* fields are empty in Slate after a completed run

Dry run is still on. Open the Flow, disable dry run, and click Run now.

Something else

Open a ticket from Settings → Support or email [email protected]. Include the run ID from the flow-run detail page — it makes diagnosis much faster.