Skip to main content

Integrations

Orange Slice provides native integration clients for popular CRM and outreach platforms. These clients are fully typed and ready to use directly in your column code—once configured.
You must configure an integration before your agent can access it. Only the integrations you configure will appear in the type layer and be available in your column code.

Configuring Integrations

To configure an integration:
1

Open your spreadsheet

Navigate to your spreadsheet at orangeslice.com/spreadsheets/<spreadsheet_id>/edit
2

Open the Integrations panel

In the left-hand panel, click Integrations at the bottom.
3

Configure your integration

Select the integration you want to configure and enter your credentials (API key, access token, etc.).
Once configured, the integration will be available in your column code via the integrations object.

Supported Integrations

Using Integrations in Code

Once configured, use integrations directly in your column code:
// After configuring HubSpot in the Integrations panel
const contact = await integrations.hubspot.createContact({
  properties: { email: "[email protected]", firstname: "John" },
});

// After configuring Instantly in the Integrations panel
const campaigns = await integrations.instantly.listCampaigns();
If you try to use an integration that hasn’t been configured, you’ll get an error. Make sure to configure the integration in the left panel before using it in your code.

Error Handling

All integration methods throw errors on API failures. Use try/catch to handle them:
try {
  const contact = await integrations.hubspot.getContact("contact-id");
} catch (error) {
  console.error("API Error:", error.message);
  // Handle the error appropriately
}

Type Safety

All integrations are fully typed with TypeScript. You get autocomplete and type checking for:
  • Method parameters
  • Response objects
  • Filter operators and enums
// Full autocomplete support
const result = await integrations.hubspot.searchContacts({
  filterGroups: [
    {
      filters: [
        {
          propertyName: "email",
          operator: "EQ", // Typed enum values
          value: "[email protected]",
        },
      ],
    },
  ],
});