Skip to main content

Dashboard Setup

Set up your RowOps project in 5 minutes: create a project, define a schema, and generate API keys.

Time required: 5 minutes

Prerequisites:

  • An RowOps account (sign up at app.rowops.dev)

Step 1: Create a Project

Projects are containers for your schemas, keys, and usage data.

  1. Log in to the RowOps Dashboard
  2. Click "New Project" in the sidebar
  3. Enter a project name (e.g., "Customer Imports")
  4. Click Create

Your project ID (e.g., proj_abc123) appears in the project settings. You'll need this for integration.


Step 2: Define a Schema

Schemas define what columns you expect and how to validate them.

Option A: Create from Scratch

  1. Go to Schemas in your project
  2. Click "New Schema"
  3. Add fields:
FieldTypeRequiredNotes
emailstringYesAdd regex: ^.+@.+\..+$
first_namestringYes
last_namestringYes
departmentstringNoAdd enum: Engineering, Sales, Marketing, HR
salarynumberNo
  1. Click Save

Option B: Import from CSV Headers

  1. Go to Schemas"New Schema"
  2. Click "Import from CSV"
  3. Upload a sample file
  4. Review detected columns and types
  5. Adjust as needed, then Save

Your schema ID (e.g., sch_xyz789) appears in the schema details.


Step 3: Configure Allowed Domains

Domain locking ensures your publishable key only works on authorized domains.

  1. Go to Project SettingsDomains
  2. Add your production domain (e.g., app.yourcompany.com)
  3. Add staging domain if needed (e.g., staging.yourcompany.com)

Note: localhost is always allowed for development.


Step 4: Generate API Keys

RowOps uses two types of keys:

Key TypePrefixUsageVisibility
Publishablepk_Browser/ReactSafe to expose
Secretsk_Server/Node.jsNever expose

Generate a Publishable Key (for React)

  1. Go to Project SettingsKeys
  2. Click "Generate Publishable Key"
  3. Copy the key (starts with pk_)

Generate a Secret Key (for Node.js)

  1. Go to Project SettingsKeys
  2. Click "Generate Secret Key"
  3. Copy the key immediately (it won't be shown again)
  4. Store securely (environment variable, secrets manager)

Step 5: Copy Integration Code

With your project ID, schema ID, and publishable key, you're ready to integrate.

React Integration

import { RowOpsImporter } from "@rowops/importer";

export function ImportPage() {
return (
<RowOpsImporter
projectId="proj_abc123" // From Step 1
schemaId="sch_xyz789" // From Step 2
publishableKey="pk_live_..." // From Step 4
onComplete={(result) => {
console.log(`Imported ${result.totalRows} rows`);
}}
/>
);
}

Node.js Integration

import { initHeadless, runHeadlessJob } from "@rowops/headless";

await initHeadless({
projectId: "proj_abc123", // From Step 1
secretKey: process.env.ROWOPS_SK, // From Step 4
});

const result = await runHeadlessJob({
inputPath: "./data.csv",
outputPath: "./validated.csv",
schemaId: "sch_xyz789", // From Step 2
});

Quick Start Checklist

Use this checklist to ensure you're ready to integrate:

  • Created a project and noted the projectId
  • Defined a schema with required fields and noted the schemaId
  • Added your production domain to allowed domains
  • Generated a publishable key (pk_...) for browser use
  • Generated a secret key (sk_...) for server use (if needed)
  • Stored secret key securely (never in client code)

Common Setup Issues

"Domain not authorized"

Your domain isn't in the allowed list:

  1. Go to Project Settings → Domains
  2. Add the exact domain (including subdomain)
  3. Wait 30 seconds for propagation

"Invalid publishable key"

The key might be:

  • From a different project
  • Revoked or regenerated
  • Mistyped (check for trailing spaces)

Generate a new key and try again.

"Schema not found"

  • Verify the schema ID is correct (case-sensitive)
  • Ensure the schema belongs to the same project
  • Check the schema wasn't deleted

What's Next?