# Connect our tools to your apps

> Send data from our tools to Make, Zapier, n8n, Google Sheets, Slack and LangChain. Use webhooks and the API to build your own flows.

URL: https://cliqtomedia.com/actors/integrations/

Our tools run on Apify, so they work with all **Apify integrations**. You can send results to a spreadsheet, a chat, a database or an AI app. Most integrations need no code. You connect blocks in a visual editor.

This page shows how integrations work and how to set up the popular ones. It also has example flows you can copy.

Google Sheets, Google Drive, Slack, Make, Zapier, n8n, OpenAI, LangChain, Airtable, HubSpot, Snowflake, Airbyte, GitHub, Python, JavaScript

You connect these apps through Apify integrations, the API or CSV files. The names and logos belong to their owners. We are not partners of these companies.

## How Apify integrations work

Every run of our tools saves its results in a **dataset**. A dataset is the results table of one run. An integration takes the data from the dataset and moves it to another app.

There are three common ways:

| Way | How it works | Code needed? |
|---|---|---|
| **Console integrations** | Turn on an integration in the Actor's or task's **Integrations** tab in Apify | No |
| **Automation platforms** | Make, Zapier or n8n start a run, wait, then send the data | No |
| **Webhooks and API** | Apify calls your URL when a run ends, your code loads the data | Yes |

Most flows follow the same pattern:

1. **Trigger.** Something starts the flow: a schedule, a new row, or a button.
2. **Run.** The flow starts one of our tools with the right input.
3. **Wait.** The tool finishes and saves the dataset.
4. **Load.** The flow reads the dataset items.
5. **Send.** The flow adds the items to Google Sheets, Slack, a CRM or a database.

First save your input as a **task** in Apify. A task is a saved input. Integrations and schedules work best with tasks. See [How it works](/actors/how-it-works/).

## Google Sheets
Google Sheets is the most common place for results. There are four easy ways to **send scraped data to Google Sheets**.

### 1. Export and import (one time)

1. Open the dataset of your run.
2. Click **Export** and choose **CSV**.
3. In Google Sheets, click **File → Import** and upload the CSV.

This is good for a one-time job.

### 2. Make, Zapier or n8n (automatic)

This is the best way for regular data. The flow waits for a finished run. Then it adds the rows to your sheet. Make's Apify docs show this exact flow with the Google Sheets "Bulk Add Rows" module. Zapier and n8n have Google Sheets steps too. See the sections below.

### 3. Google Drive upload

Apify has an "Upload results to GDrive" integration. Open your Actor or task, go to **Integrations**, and connect your Google account. After each successful run, Apify saves the results file to an `Apify Uploads` folder in your Drive. You pick the file name and format, for example CSV.

### 4. A Sheets export Actor

The Apify Store has community Actors that copy a dataset into a sheet. Read their reviews and pricing before you use one.

For an **Apify Google Sheets** flow that runs every day, use a task + a schedule + Make, Zapier or n8n. It is simple and easy to fix.

## Make

[Make](https://www.make.com?pc=salefirst) is a visual automation tool. You drag blocks, called modules, onto a canvas. The **Apify Make integration** has these modules:

| Type | Modules |
|---|---|
| **Triggers** | Watch Actor Runs, Watch Task Runs |
| **Actions** | Run an Actor, Run a Task, Scrape Single URL, Make an API Call |
| **Searches** | Get Dataset Items |

### Set up a Make scenario

1. In Make, create a new scenario.
2. Add the **Apify** module **Watch Task Runs**. Connect your Apify account.
3. Pick your saved task, for example "Daily Greenhouse jobs".
4. Add **Apify → Get Dataset Items**. Map the dataset ID from the trigger.
5. Add **Google Sheets → Bulk Add Rows**. Pick your sheet and map the fields.
6. Turn the scenario on.

Now every finished run adds rows to your sheet.

## Zapier

[Zapier](https://zapier.com) connects thousands of apps with "Zaps". A Zap is a trigger plus one or more actions. The **Apify Zapier** app has:

| Type | Items |
|---|---|
| **Triggers** | Finished Actor Run, Finished Task Run |
| **Actions** | Run Actor, Run Task, Scrape Single URL, Set Key-Value Store Record |
| **Searches** | Fetch Dataset Items, Find Last Actor Run, Find Last Task Run, Get Key-Value Store Record |

### Example Zap

- **Trigger:** Apify → Finished Task Run (your task).
- **Search:** Apify → Fetch Dataset Items.
- **Action:** Slack → Send Channel Message, or Google Sheets → Create Spreadsheet Row.

You can also start a run from Zapier. For example: when a new row appears in a sheet, **Run Actor** with the URL from that row.

## n8n

[n8n](https://n8n.io) is a workflow tool you can use in the cloud or host yourself. The **Apify n8n** node (`@apify/n8n-nodes-apify`) works on both.

What the node can do:

- **Actors:** Run an Actor, Run an Actor and get dataset, Get last run.
- **Actor tasks:** Run task, Run task and get dataset.
- **Actor runs:** Get run, Get runs, Abort a run.
- **Storage:** Get dataset items, Get key-value store record.
- **Trigger:** "On new Apify event", for example when a run succeeds or fails.

You sign in with your Apify API token. On n8n Cloud, you can also use OAuth2 ("Connect my account").

### Example n8n workflow

1. **Schedule Trigger:** every Monday at 07:00.
2. **Apify → Run task and get dataset:** your "Competitor prices" task.
3. **Filter:** keep rows where the price changed.
4. **Google Sheets → Append row**, and **Slack → Send message** with a short summary.

"Run task and get dataset" does two steps in one. It is the easiest choice for short runs.

## LangChain and LlamaIndex
These are code libraries for AI apps. They can run our tools and load the results as **documents**. A document is a piece of text with some extra data, ready for an AI model.

### Apify LangChain

The **Apify LangChain** package is `langchain-apify` (Python).

- `ApifyActorsTool` lets a LangChain agent run any Actor as a tool.
- `ApifyDatasetLoader` loads an existing dataset as LangChain documents.
- `ApifyWrapper` runs an Actor and returns its output as documents.

```python
# pip install langchain-apify
from langchain_apify import ApifyDatasetLoader
from langchain_core.documents import Document

loader = ApifyDatasetLoader(
    dataset_id="YOUR_DATASET_ID",
    dataset_mapping_function=lambda item: Document(
        page_content=item.get("markdown", ""),
        metadata={"source": item.get("url")},
    ),
)
docs = loader.load()
```

This works well with [Website to Markdown for RAG: Crawl & Changed Pages](/actors/website-to-markdown/) or [Fast Webpage to Markdown API for AI Agents](/actors/webpage-to-markdown-api/). They save a `markdown` field for each page.

### LlamaIndex

The package `llama-index-readers-apify` has two readers. `ApifyActor` runs an Actor and loads the output. `ApifyDataset` loads an existing dataset. You add a small function that turns each row into a document.

For AI apps like Claude and Cursor, see [AI agents](/actors/ai-agents/). They use the Apify MCP server.

## Webhooks and API

If you write code, you have full control. Use **Apify webhooks** and the API.

### Webhooks

A **webhook** is a message that Apify sends to your URL when something happens. For example, when a run succeeds.

1. Open your Actor or task in Apify Console.
2. Go to the **Integrations** tab and add a webhook.
3. Choose the event, for example `ACTOR.RUN.SUCCEEDED`.
4. Enter your URL.

The message tells your app the run ID. Your app then loads the data.

### Load the data with the API

```
GET https://api.apify.com/v2/datasets/DATASET_ID/items?format=json
Authorization: Bearer YOUR_API_TOKEN
```

Change `format=json` to `csv`, `xlsx`, `jsonl`, `xml`, `html` or `rss` if you need another format. Apify has official API clients for Python and JavaScript. See [How it works](/actors/how-it-works/) for code.

### Other built-in integrations

In the **Integrations** tab of an Actor or task, you can also find:

- **Slack:** get a message in a channel when a run ends. You can even start a task from Slack with `/apify call`.
- **Google Drive:** upload results after each run.
- **GitHub:** listed in the Apify integrations docs.
- **Data apps:** Apify docs also list Airtable, HubSpot, Snowflake and Airbyte.
- **Actor-to-Actor:** start another Actor when a run ends. For example, scrape websites, then verify the emails you found.

Apify adds new integrations often. See the full list in the [Apify integrations docs](https://docs.apify.com/platform/integrations?fpr=cliqto).

## Example flows

Here are real flows you can build with our tools. Each one needs a task, a schedule and one automation tool. Want a ready workflow for a common task? See the [use cases](/actors/use-cases/).

### New jobs to a sheet
[Greenhouse Jobs Monitor & Scraper](/actors/greenhouse-jobs-monitor-scraper/) in monitor mode → Make → Google Sheets. Every morning, only new and changed jobs.

### Price list every Monday
[Idealo Price Scraper: All Shop Offers, 6 Countries, No Login](/actors/idealo-price-scraper/) weekly → Make → Google Sheets. Every Monday, fresh shop prices for your products in one sheet.

### Review alerts in Slack
[Google Play Reviews Scraper](/actors/google-play-reviews-scraper/) daily → Zapier → Slack. Post new 1-star reviews to your team channel.

### Lead list cleanup
[Website Contact Scraper](/actors/website-contacts-scraper/) → [Bulk Email Verifier: MX, Disposable, Role & Typo Check](/actors/email-verifier/) → HubSpot. Find emails on company sites, then keep only good ones.

### Docs to a chatbot
[Website to Markdown for RAG: Crawl & Changed Pages](/actors/website-to-markdown/) weekly → LangChain → vector database. Your support bot always knows the new docs.

### Release watch
[GitHub Releases Monitor & Scraper](/actors/github-releases-monitor-scraper/) → n8n → Slack. Get a message when a tool you use ships a new version.

### SEO check
[XML Sitemap URLs Extractor](/actors/xml-sitemap-urls-extractor/) → [Website Metadata & Open Graph Scraper](/actors/website-metadata-open-graph-scraper/) → Google Sheets. Find pages with missing titles.

### Example: price watch with n8n

1. **Make a task.** Use a shop tool, like [Website JSON-LD Structured Data Scraper](/actors/website-jsonld-structured-data-scraper/), with your product links.
2. **Schedule it.** Run it every day in Apify, or use the n8n Schedule Trigger.
3. **Get the rows.** n8n "Run task and get dataset" returns the prices.
4. **Compare.** Compare with yesterday's prices in your sheet.
5. **Alert.** Send a Slack or email message when a price drops.

Browse tools for your own flow in the [catalog](/actors/), for example [E-commerce & prices](/actors/ecommerce/), [Reviews & app stores](/actors/reviews-apps/) or [Leads, companies & validation](/actors/leads-companies/).

## Questions

### Can I send results to Google Sheets?
Yes. The easiest way is a Make, Zapier or n8n flow. You can also export a CSV and import it, upload results to Google Drive, or use a Sheets export Actor from the Apify Store.

### Do I need to code?
No. Make, Zapier and n8n work with blocks you connect. Pick the Apify app, then your tool.

### What is a webhook?
A webhook is a message Apify sends to a link when a run ends. Your app can then load the results.

### Can I use the tools in LangChain?
Yes. LangChain has an Apify integration. It can run an Actor and load the results as documents.

### Can I start a run from Zapier or Make?
Yes. Use the Run Actor action and pick our tool.

### Which is better: Make, Zapier or n8n?
All three work well. Zapier is very simple. Make is good for complex visual flows. n8n can be self-hosted and is popular with developers.

### Do integrations cost extra?
Apify integrations are part of the platform. Make, Zapier and n8n have their own plans. Our tools cost the same in every flow.

### Can I send data to a database?
Yes. Use the API, a webhook and your own code. Make, Zapier and n8n also have database steps. Apify docs also list Snowflake.

### Can one tool start another?
Yes. Apify supports Actor-to-Actor integrations. When one run ends, it can start the next one with the results.

### How do I find my dataset ID?
Open the run in Apify Console. The dataset ID is on the Storage tab. In Make, Zapier and n8n, the trigger gives you the ID.

### Where do I find my API token?
In Apify Console, go to Settings → API & Integrations. Keep it secret.

Build your first flow in minutes. Start with a free account and one tool.

[Create a free Apify account](https://console.apify.com/sign-up?fpr=cliqto) [Browse our tools](/actors/) [Use AI agents](/actors/ai-agents/)
