Skip to main content
Add Context.dev to a Zap to turn a domain into company data, scrape a webpage, or send website change alerts. Start by enriching one spreadsheet row, then choose other operations as your workflow grows.

Install the Context.dev Zapier app

Connect your Context.dev account using an API key.

Setup walkthrough

This example reads a domain from Google Sheets and writes the company name back to the same row.

Prerequisites

  • A Context.dev API key.
  • A Zapier account with access to the apps and steps used in your workflow.
  • A Google Sheet with domain and company_name columns. Add a test row containing stripe.com in the domain column.

1. Connect your account

Open the Context.dev app in Zapier, create a connection, and enter your ctxt_secret_ key. Give it a name such as Context.dev production so you can identify it later. Keep the key in the saved connection. Other steps should use that connection rather than copy the key into fields or notes.

2. Add a trigger

Create a Zap with Google Sheets > New Spreadsheet Row. Select your spreadsheet and worksheet, then test the trigger. Confirm that the test record includes stripe.com in the domain field.

3. Get the company profile

Add Context.dev > Get Brand Profile: Select Test step. Check that the response contains brand.domain and brand.title. Other fields, including logos and social profiles, may be absent.
Action names depend on the version available to your connection. If Get Brand Profile is missing, check the older action names or use an HTTP request with the current API contract.

4. Map and publish

Add Google Sheets > Update Spreadsheet Row. Map the original row ID from the trigger and the returned Brand Title to company_name. Preserve the domain and any fields you are not enriching. Test the update, confirm the expected row changed, then publish the Zap. Add a new row and inspect its run in Zap History before processing a larger list.

Map the response

Most workflows can map the action’s output directly without a code step: Keep existing destination values when optional data is missing. For arrays, select the entry that fits your use case rather than assuming the first logo or social profile is always the right one.

What you get

Triggers start a Zap, searches find an existing record, and actions pass API results to later steps. The catalog below describes the version 3.1 action names. Check the version in your Zap editor when a name or field differs. Context.dev API usage and Zapier tasks are billed separately.

Triggers

All three are polling triggers. Zapier checks Context.dev on your Zapier plan’s polling interval, so an event reaches your Zap a few minutes after Context.dev records it. For instant delivery, give the monitor a Webhook URL that points at a Webhooks by Zapier catch hook instead; see Receive webhooks.

Searches

Searches are useful as the step before an update: find the monitor by name, then feed its ID into Update Website Monitor or Run Website Monitor Now.

Brand intelligence actions

Web scraping and search actions

Document parsing actions

Batch processing actions

Website monitor actions

Request options

  • Lists are plain text. Fields such as URLs, Tags, Publisher Domains, and Only These Domains take comma-separated values or one value per line.
  • Maximum Cache Age (Milliseconds) controls how old a cached result may be. Leave it blank for the endpoint default. Scrape supports 0 for a fresh capture; Brand and Styleguide enforce a minimum cache age. See freshness controls and Brand caching.
  • Country takes a two-letter code such as US or GB and fetches the page as a visitor from that country would see it.
  • Zero Data Retention bypasses shared caches and keeps request content out of retained logs. It only works once zero data retention is enabled for your organization; otherwise the step fails with ZDR_NOT_ENABLED. See Zero Data Retention.
  • Free and disposable emails are rejected. Get Brand Profile with Lookup By set to email returns a 422 for addresses at Gmail, Yahoo, and similar providers, or at disposable-email domains.
  • Keep single-step crawls small. Crawl a Website runs inside one Zap step. For whole sites, use Submit Website Crawl Batch and pick the results up with the Batch Finished trigger.
  • Include Page Content returns cleaned page content alongside each search result.

Upgrading from the retired actions

For a Zap using version 3.0 action names, use this mapping when upgrading to version 3.1. Test the replacement’s inputs and outputs before publishing the updated Zap.

Start Zaps from Context.dev events

The triggers turn Context.dev into the source of a Zap instead of a step in the middle.

Website change alerts

  1. Create the monitor in the dashboard or with the Create Website Monitor action. Give it a tag such as competitors so you can filter on it later.
  2. Trigger: Context.dev “New Website Change”. Set Monitor ID to watch one monitor, or leave it blank and set Tags to competitors to watch a group.
  3. Action: Slack “Send Channel Message” with the change summary, the monitor name, and the target URL.
Each change record includes an importance rating. Add a Filter by Zapier step on it to keep low-value edits out of the channel. See Create Monitors for how targets and detection modes work.

Batch pipeline

Submitting a batch and reading its results are two Zaps, connected by the Batch Finished trigger. Zap A: submit
  1. Trigger: Google Sheets “New Spreadsheet Row” with a domain column
  2. Action: Context.dev “Submit Website Crawl Batch” with Source Type set to sitemap, Start URL or Domain mapped from the row, Output Format set to markdown, and Tags set to sheet-import
Zap B: collect
  1. Trigger: Context.dev “Batch Finished” with Final Status set to completed and Tags set to sheet-import
  2. Action: Context.dev “Get Batch Results” with the Batch ID from the trigger and Results Per Page set to 100
  3. Looping by Zapier: Iterate over the result records
  4. Action: Airtable “Create Record” per page with its URL, title, and Markdown
Get Batch Results returns one page at a time. Continue with each Next Cursor until no cursor remains. For an unknown number of pages, use a workflow or completion-webhook handler that can repeat this process; adding one more step only reads one more page. Record shapes are documented in Read result records as JSON.

Reach endpoints without a dedicated action

A few endpoints have no Zapier action yet: people enrichment, brand search, cache prefetching, batch deletion, and per-monitor change history. Use the built-in Webhooks by Zapier app to call them with your API key. Example: enrich a new lead with people data.
  1. Trigger: HubSpot “New Contact”
  2. Action: Webhooks by Zapier “Custom Request”
    • Method: POST
    • URL: https://api.context.dev/v1/people/enrich
    • Data: {"email": "<contact email from step 1>"}
    • Headers: Authorization: Bearer ctxt_secret_... and Content-Type: application/json
  3. Action: HubSpot “Update Contact” with the returned title, company, and social profiles
The key lives in the step configuration rather than in a saved connection, so keep these Zaps in a folder with restricted access, and prefer a dedicated Context.dev action whenever one exists. Parameter names and response shapes for every endpoint are in the API reference.

Troubleshooting

General API errors and retry guidance are in Troubleshooting. Zapier-specific issues:
  • “Authentication failed.” The API key was rejected. Re-paste it in Zapier’s My Apps > Context.dev connection settings; confirm the ctxt_secret_ prefix.
  • Get Brand Profile returns 422 on an email. The address is at a free provider (Gmail, Yahoo, and similar) or a disposable-email domain. Filter those out before the Context.dev step, or switch Lookup By to company name or domain.
  • A trigger never fires. Polling triggers only pick up events recorded after the Zap is turned on. Check that the monitor is active, that Monitor ID, Tags, or Final Status filters match, and that Zapier’s polling interval has elapsed. Batch Finished requires one Final Status, so make a separate Zap for each terminal status you care about.
  • Create Website Monitor is rejected. Semantic page monitors and structured website monitors need Change Instructions, sitemap monitors only support exact change detection, and Run Every with Schedule Unit must land between 10 minutes and one year. See Pick a target.
  • A crawl step times out. Lower Maximum Pages or Maximum Link Depth, or move the job to Submit Website Crawl Batch and read it back with Batch Finished and Get Batch Results.
  • Parse a Document fails. File Extension is required and must match the file, written without a dot. Scanned PDFs need Use OCR turned on.
  • A step fails with ZDR_NOT_ENABLED. Zero Data Retention is on but your organization has not enabled it. Turn the field off, or contact [email protected] to enable it.
  • No logo in the response. Keep the company name visible and use your own initials or neutral icon when the destination needs an image. Logo Link can provide a hosted logo, but it also needs a format-compatible fallback.
  • An old Zap references a different action name. Compare the installed version with the migration table, then test the replacement before publishing.

Next steps

Make integration

Build a scenario using Context.dev and Make’s HTTP module.

Website monitors

Targets, detection modes, schedules, and webhooks behind the monitor actions and triggers.

Batch jobs

How batches are queued, billed, and read back.

Brand API reference

The underlying endpoints. Useful when reading Zap test responses.
Need help implementing a specific Zap? Email us and we’ll walk through it with you.