Skip to main content

External Developer Quickstart

This is the shortest path from "I bought RowOps" to a working importer in your product.

1. Create an account

Go to the dashboard and sign in:

2. Create a project

Projects are the top-level container for schemas, keys, and domains.

  1. Create a new project in the dashboard.
  2. Note the projectId shown in the project settings.

3. Create a schema

Schemas define the columns and validation rules your customers must follow.

  1. Go to Schemas.
  2. Create a schema and copy the schemaId.

4. Create a publishable key

Browser integrations require a publishable key:

  1. Go to Keys.
  2. Generate a Publishable key (pk_...).

5. Add allowed domains

Publishable keys are domain-locked.

  1. Go to Domains.
  2. Add your production domain(s).

If the domain cannot be verified, the importer rejects the request (no token issued).

6. Install the React SDK

npm install @rowops/importer

7. Drop in the importer

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

export default function ImportPage() {
return (
<RowOpsImporter
projectId="proj_123"
schemaId="contacts"
publishableKey="pk_live_..."
onComplete={({ datasetRef, totalRows }) => {
console.log(datasetRef, totalRows);
}}
/>
);
}

Notes:

  • publishableKey is required for external integrations.
  • window.__ROWOPS_PUBLISHABLE_KEY__ is only for internal demos.

Use Arrow IPC streaming for large datasets:

<RowOpsImporter
projectId="proj_123"
schemaId="contacts"
publishableKey="pk_live_..."
onExportIpcChunk={async (bytes, index) => {
await uploadToBackend(bytes, index);
}}
onExportComplete={({ totalRows, totalChunks }) => {
console.log(totalRows, totalChunks);
}}
/>

9. Troubleshooting

Common issues:

  • Domain mismatch: add the hostname in Domains.
  • Missing publishable key: pass publishableKey explicitly.
  • Localhost: always allowed, does not count toward domain caps.

Next: read Projects and Keys and Execution Models.