Checkredirects.io + Attio
Lightweight domain enrichment for Attio Workflows. Follow a company’s domain through its redirects to find possible duplicates under another domain, add the final domain to the company record, or recheck existing records for rebrands, acquisitions, and dead domains. The same approach works on custom objects with a domain attribute.
The app adds two workflow step blocks: Resolve Domain and Resolve Email Domain. It never reads or writes Attio records itself. You decide what happens next with Attio’s own workflow blocks.
How it works
Each block run makes one Checkredirects.io check. It follows up to 10 redirects using GET, without returning page content, and tells your workflow where the website ended up or why the domain could not be resolved.
Check for a duplicate before adding a domain
- Start with Record created for Companies and pass the company’s domain to Resolve Domain.
- On the Resolved outcome, use If to continue when Domain changed is true.
- Use Find records to look for Companies whose Domains contain Final domain, excluding the triggering company.
- If another company is found, create a task or notify someone to review the possible duplicate.
- Otherwise, use Update record to add Final domain to the company’s Domains. Leave Replace existing values off to keep the existing domains.
For example, if acme.io and acme.com exist as separate companies and acme.io redirects to acme.com, the first workflow routes the pair for review. Searching before updating keeps the new domain from making the company match itself. The app does not merge records. For the broader use case, see finding CRM duplicates through domain redirects.
Recheck existing records on a schedule
Start with Recurring schedule, for example monthly. Use Find records to select the companies to recheck, then Loop to run Resolve Domain for each one. Use Domain changed or the Unresolved Reason to decide what happens next.
Blocks and inputs
| Block | Input | What it checks |
|---|---|---|
| Resolve Domain | URL or domain | A workflow variable or typed value. A full URL such as https://www.acme.com/about is reduced to its domain. |
| Resolve Email Domain | Email address | The website at the email’s root domain. For [email protected], it checks acme.com. |
Resolve Email Domain checks the website only. It does not verify that the mailbox exists or that mail to the address is delivered.
Outputs
Both blocks have Resolved and Unresolved outcomes. Each outcome uses the same fields across both blocks, with one addition: Resolve Email Domain returns Original email as the first field.
Resolved
The site was reached and its final page returned an HTTP status below 400.
- Original domain: the domain that was checked.
- Checked URL: the exact URL sent to Checkredirects.io.
- Domain changed: true only when the final domain is a different registered domain. HTTP to HTTPS, adding or removing
www, and moving to a subdomain such asapp.acme.comdo not count. - Final domain: the destination domain, ready to add to a company’s Domains attribute.
- Final URL: the full destination URL, including any path such as
bigcorp.com/acme-is-now-bigcorp. - Redirect count: the number of redirects followed.
- Checkredirects.io report: a link to the check in the web app. Sign in to the workspace that owns the API key to view it.
Unresolved
The input is invalid, the site could not be reached, or the final page returned an error.
- Original domain and Checked URL: the checked URL is empty if the input could not be parsed and nothing was sent.
- Reason:
invalid_input(invalid or blocked domain or URL),site_unreachable(DNS, connection, TLS/certificate, or site timeout),redirect_error(loops, too many redirects, or an invalid redirect target), orhttp_error(final status of 400 or above). - Error code: the specific code, such as
dns_failure,tls_cert_expired,redirect_loop, orhttp_404. - Error: a human-readable message.
- Checkredirects.io report: empty when nothing was sent.
When the check itself fails
A missing or invalid API key, a rate limit, an exhausted check allowance, a Checkredirects.io server error, a timeout, or a network error fails the workflow run instead of taking the Unresolved branch. A service problem is never reported as a broken company domain. Transient failures are flagged to Attio as safe to retry, and you can re-run a failed run from Attio.
Setup
You need an Attio workspace and a Checkredirects.io account and API key. Sign up for Attio if you don’t have a workspace yet. Checkredirects.io API access is included on every plan. Once the app is published:
- Sign up and create an API key at Settings > API Keys.
- Install the app in your Attio workspace.
- Click Add connection and paste the API key.
- Add Resolve Domain or Resolve Email Domain to a workflow and set its input.
There are no app settings beyond the connection. Each block run uses one check; see pricing for plan allowances. The API docs cover using Checkredirects.io directly.
Try it in Attio
Free plan includes 250 checks per month. Get in touch for early access to the Attio app.