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.
- Log in to the RowOps Dashboard
- Click "New Project" in the sidebar
- Enter a project name (e.g., "Customer Imports")
- 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
- Go to Schemas in your project
- Click "New Schema"
- Add fields:
| Field | Type | Required | Notes |
|---|---|---|---|
email | string | Yes | Add regex: ^.+@.+\..+$ |
first_name | string | Yes | |
last_name | string | Yes | |
department | string | No | Add enum: Engineering, Sales, Marketing, HR |
salary | number | No |
- Click Save
Option B: Import from CSV Headers
- Go to Schemas → "New Schema"
- Click "Import from CSV"
- Upload a sample file
- Review detected columns and types
- 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.
- Go to Project Settings → Domains
- Add your production domain (e.g.,
app.yourcompany.com) - 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 Type | Prefix | Usage | Visibility |
|---|---|---|---|
| Publishable | pk_ | Browser/React | Safe to expose |
| Secret | sk_ | Server/Node.js | Never expose |
Generate a Publishable Key (for React)
- Go to Project Settings → Keys
- Click "Generate Publishable Key"
- Copy the key (starts with
pk_)
Generate a Secret Key (for Node.js)
- Go to Project Settings → Keys
- Click "Generate Secret Key"
- Copy the key immediately (it won't be shown again)
- 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:
- Go to Project Settings → Domains
- Add the exact domain (including subdomain)
- 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?
- React Quickstart - Full React integration guide
- Node.js Quickstart - Server-side processing
- Schema Configuration - Advanced validation rules
- Troubleshooting - Common issues and solutions