Like Airtable, without limits

Shareable views
Full-text search
Realtime multiplayer UI
History retention
Full audit logs
Row-level security
Unlimited rows
Enforced table schemas
Extend workflows with serverless workers
Developers can extend workflows with custom logic by writing serverless workers. Our SDK lets workers read data from / write data to your Dataland workspace.
dataland deploy
issueStripeCredit.ts
sendSMS.ts
syncAirtable.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Issue credits in Stripe from Dataland
import { RowMutation } from '@dataland/dataland-sdk';
import { DatabaseSnapshot, getOperations } from "../lib";
import Stripe from 'stripe';
// Read data from table with Dataland SDK
const db = getOperations(databaseSnapshot);
const rows = db.getRows('Customers Table');
for (const row of rows) {
const invoiceId = row['Invoice ID'];
const invoiceLineItem = row['Invoice Line Item'];
// Issue Credits
const creditNote = await Stripe.creditNotes.create({
invoice: invoiceId,
lines: [
{
type: 'invoice_line_item',
invoice_line_item: invoiceLineItem,
quantity: 1,
},
],
});
import { RowMutation } from '@dataland/dataland-sdk';
import { DatabaseSnapshot, getOperations } from "../lib";
import Stripe from 'stripe';
// Read data from table with Dataland SDK
const db = getOperations(databaseSnapshot);
const rows = db.getRows('Customers Table');
for (const row of rows) {
const invoiceId = row['Invoice ID'];
const invoiceLineItem = row['Invoice Line Item'];
// Issue Credits
const creditNote = await Stripe.creditNotes.create({
invoice: invoiceId,
lines: [
{
type: 'invoice_line_item',
invoice_line_item: invoiceLineItem,
quantity: 1,
},
],
});
Easy orchestration
By default, workers run in reaction to any event that happens in Dataland. Developers can narrow the trigger, or trigger workers on a predefined schedule via simple YAML.
Fully managed execution
Never worry about infrastructure concerns. The execution engine is built on top of V8 isolates, which offers state-of-the-art security and performance.
Use Web APIs + NPM libraries
Manage your workspace entirely from git
1
Declare your workspace
module.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
moduleId: demo-web
buildCommand: npm run build
workers:
- workerId: issue-credits
scriptPath: dist/issueCredits.bundle.js
tables:
- tableId: plan-editor
tableName: "Plan Editor"
autoMigrate: true
columnDescriptors:
- columnId: stripe-id
columnName: "Stripe ID"
dataType: string
buildCommand: npm run build
workers:
- workerId: issue-credits
scriptPath: dist/issueCredits.bundle.js
tables:
- tableId: plan-editor
tableName: "Plan Editor"
autoMigrate: true
columnDescriptors:
- columnId: stripe-id
columnName: "Stripe ID"
dataType: string
2
Deploy with a single command
Choose your target environment. Deploy with our CLI tool in a single command:
dataland deploy
3
See your changes live