Skip to main content
Orange Slice Hero Light

What is Orange Slice?

Orange Slice is an AI-powered spreadsheet that transforms how sales teams research, enrich, and qualify leads. Think of it as a supercharged spreadsheet where every column can be programmable, AI-powered, and connected to hundreds of data sources—all without writing complex code. Unlike traditional spreadsheets, Orange Slice combines:
  • Familiar spreadsheet interface with the power of custom JavaScript/TypeScript code
  • AI chat assistant that writes code, creates columns, and runs bulk operations for you
  • Built-in data enrichment from LinkedIn, company databases, web scraping, and contact APIs
  • Parallel processing to enrich thousands of rows automatically with progress tracking
Whether you’re finding LinkedIn profiles, generating personalized outreach, or scraping company data, Orange Slice makes it as simple as asking your AI assistant or writing a few lines of code.

The ctx Object: Your Primary Interface

The ctx (context) object is your main way to interact with the spreadsheet. Most commonly, you’ll use it to reference other columns in the same row:
// Get prospect data from other columns in the current row
const name = ctx.thisRow.get("Name");
const company = ctx.thisRow.get("Company");
const title = ctx.thisRow.get("Title");

// Generate personalized outreach message
const outreach = await services.ai.generateText({
   prompt: `Write a personalized cold email to ${name}, ${title} at ${company}. 
   Keep it under 100 words and focus on how we help sales teams save time.`,
   model: "gpt-5-mini",
});

return outreach.text;
Beyond reading cells, ctx lets you write values, navigate between sheets, add rows, and control workflow execution. Learn more about ctx →

The services Object: Data Enrichment

The services object gives you access to external data sources and AI capabilities:
// Combine ctx (reading cells) with services (enrichment)
const name = ctx.thisRow.get("Name");
const company = ctx.thisRow.get("Company");

const linkedin = await services.person.linkedin.findUrl({
   name,
   company,
});

// Enrich the profile and store data
if (linkedin) {
   const profile = await services.person.linkedin.enrich({ url: linkedin });
   ctx.thisRow.set({
      "LinkedIn URL": linkedin,
      Title: profile.job_title,
      Location: profile.location_city,
   });
}

return linkedin;
Explore all available services →

The webhook Object: Receive External Data

The webhook object allows your spreadsheet to receive HTTP requests from external services, forms, and APIs:
// Receive form submissions or API webhooks
console.log(`Received ${webhook.method} request from ${webhook.ip}`);

// Automatically add webhook data to a sheet
webhook.addRootFieldsToSheet("Leads", true);

// Or process manually with custom logic
await ctx.sheet("Leads").addRow({
   email: webhook.body.email,
   name: webhook.body.name,
   source: webhook.query.source || "website",
   received_at: new Date(webhook.receivedAt).toISOString(),
});

return { success: true };
Learn about webhooks →

Key Capabilities

Programmable Columns

Every column can execute custom JavaScript/TypeScript code with full AI assistance. Access built-in services for person enrichment, company data, web scraping, AI generation, and more.
// Find a prospect's LinkedIn profile
const name = ctx.thisRow.get("Name");
const company = ctx.thisRow.get("Company");

const linkedin = await services.person.linkedin.findUrl({
   name,
   company,
});

ctx.thisRow.set({ "LinkedIn URL": linkedin });
return linkedin;

AI-Powered Chat Assistant

An intelligent assistant that understands your spreadsheet context and can:
  • Create and modify columns with natural language
  • Write code for enrichment workflows
  • Analyze data and answer questions
  • Run bulk operations across thousands of rows
Keyboard shortcuts: Cmd/Ctrl + J to toggle chat

Data Enrichment Library

Integrate with dozens of data providers:
  • LinkedIn - Find prospect profiles, enrich with job history, get decision makers
  • Contact Info - Verified work emails and phone numbers for outreach
  • Company Intelligence - Employee counts, funding, growth signals, tech stacks
  • Web Scraping - Extract company data from websites for qualification
  • AI & Research - Generate personalized outreach, research accounts, qualify leads

Bulk Processing

Run operations on thousands of rows efficiently with:
  • Parallel processing across multiple rows
  • Dependency resolution (columns run in the right order)
  • Progress tracking and cost monitoring
  • Pause, resume, and retry capabilities

Get Started