← All integrations
Import.io + Slack

Web data alerts in Slack

Aperture and Managed Services deliver alerts straight into Slack. On self-service plans, route the extractor’s webhook through a small function or an automation tool.

Connects via
ManagedWebhook
Setup
5 min
Available on
Managed: Managed Services and ApertureWebhooks: every plan
Function
# Import.io webhook in, Slack message out (Cloud Run functions, Lambda, etc.)
import os, requests

def handler(request):
    if request.headers.get("X-Webhook-Secret") != os.environ["WEBHOOK_SECRET"]:
        return ("", 401)
    run = request.get_json(silent=True) or {}
    requests.post(os.environ["SLACK_WEBHOOK_URL"], json={
        "text": f"New Import.io run for extractor {run.get('extractorId', '')}. "
                f"Latest data: {os.environ['IMPORTIO_CSV_URL']}"
    })
    return ("", 204)

How it connects.

Source

The web

Any public page, rendered, through managed proxies

Engine

Import.io

Rendering, proxy routing, captcha handling, extraction

Path

Managed delivery

Built, run and QA’d under an SLA

Destination

Slack

Price, competitor and MAP alerts in the channel your team watches.

Also connects via webhooks.

What teams do with it.

Price and competitor moves

Aperture posts when a competitor changes price or launches a product you track.

MAP risk with evidence

MAP violations arrive with the retailer, the price and the evidence captured.

Run notifications

A message every time a feed lands, with a link to the data.

Set it up.

  1. Managed and Aperture: tell your account team which channels get which alerts.
  2. Self-service: create a Slack incoming webhook for the channel.
  3. Point the extractor’s webhook at a function or automation that posts to Slack.

Questions.

Can Aperture alert on specific thresholds?

Yes. Aperture alerts on price changes, competitor moves and MAP risk, and your team sets which ones go where.

Who sets up managed delivery?

Your Managed Services team. They agree destination, format, schedule and schema with you, then build, run, monitor and QA the feed under an SLA.

Which destinations can Managed Services deliver into?

Amazon S3, Google Cloud Storage, Azure Blob Storage, SFTP, Snowflake, BigQuery, API, email and Slack alerts. Aperture delivers into the same destinations.

When does the webhook fire?

Every time a crawl run finishes successfully. Import.io POSTs to your URL with the extractor ID, total URL count and links to the run’s JSON, CSV and Excel outputs. You can view a sample payload in the extractor’s settings.

How do I secure the webhook?

Webhooks accept custom headers. Add a shared-secret header in the extractor’s webhook settings and reject any request that doesn’t carry it.

Run Slack
on fresh data.