> ## Documentation Index
> Fetch the complete documentation index at: https://orangeslice.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Sheets

> Push data to other sheets in your workbook

## Overview

Use `ctx.sheet()` to push data (like employees, jobs, contacts) from one sheet to another.

## Methods

### ctx.sheet()

Get a reference to any sheet by name.

```typescript theme={null}
const employeesSheet = ctx.sheet("Employees");
```

### addRow()

Add a single row to a sheet.

```typescript theme={null}
await sheet.addRow(data);
```

### addRows()

Add multiple rows at once.

```typescript theme={null}
await sheet.addRows(arrayOfData);
```

### getRows()

Query rows from this sheet with filtering and sorting.

```typescript theme={null}
const rows = await sheet.getRows(query, limit);
```

<Card title="Query Reference" icon="filter" href="/ctx/get-rows">
  See the full getRows() documentation for filtering operators, sorting options,
  and examples.
</Card>

***

## Example: Push Employees to Another Sheet

```typescript theme={null}
// Get employees for a company
const employees = await services.company.getEmployees({
  linkedinCompanyUrl: ctx.thisRow.get("LinkedIn URL"),
  options: { limit: 50 },
});

// Push each employee to the Employees sheet
const employeesSheet = ctx.sheet("Employees");

await employeesSheet.addRows(
  employees.map((emp) => ({
    company_id: ctx.rowId,
    name: emp.full_name,
    title: emp.job_title,
    linkedin: emp.websites_linkedin,
  }))
);

return employees.length;
```

## Example: Push Jobs to Another Sheet

```typescript theme={null}
// Scrape job listings
const jobs = await services.company.careers.scrapeJobs({
  url: ctx.thisRow.get("Careers URL"),
});

// Push to Jobs sheet
await ctx.sheet("Jobs").addRows(
  jobs.map((job) => ({
    company_id: ctx.rowId,
    title: job.title,
    location: job.location,
  }))
);

return jobs.length;
```
