Question: I'd like to set up a signal to monitor new hires from a group of companies we define as ICP. But, the tricky bit is - I'd like it to be based on a table that uses our CRM (Attio) data as source for the companies. Meaning, it's not a CSV upload but a weekly or monthly refreshed list of Companies in Attio that are tagged as ICP (in Attio its ICP=True) So the actual question, would Clay be able to handle the changing source table and only use the companies that are currently in that source table when it updates the New hire events table? The source table will have fewer or more rows each time.
Yes, Clay can handle this setup. You can import your Attio data as a source that refreshes weekly/monthly, and the new hire signal will automatically monitor only the companies currently in that table. [1]
Here's how:
Set up your Attio integration as a source in Clay with your ICP=True filter
Configure it to refresh on your preferred schedule (weekly/monthly)
Create a "Monitor for new hires" signal using this table as your company source [2]
When your source table updates with fewer or more companies, the signal will automatically adjust to monitor only the current companies in the refreshed list. [3] The signal runs independently on its own schedule while always referencing your most current ICP company list.
Was that helpful?
Attio don't have integration so the data would come into the table to a Clay webhook. Would that change anything?
No, using a webhook doesn't change the core functionality. You can still set up the new hire signal to monitor companies from your webhook table. [1]
The process remains the same:
The signal will automatically monitor whatever companies are currently in the webhook table, adjusting as your ICP list updates.
Is that what you were looking for?
yes, thank you. Next and connected question. Now that I thought about it me sending weekly or monthly data of all ICP companies will require too much Attio resource (each refresh would consume 3-4 Attio automation credit). Is there a way to rather PULL the data from Attio via an HTTP API call? My problem is, how to set up a table that would query Attio, pull ICP companies into it's rows and have a way to get automatically refreshed weekly or monthly.
Yes, you can pull data from Attio using HTTP API as a source and schedule it to refresh automatically. [1]
Setup:
1. Go to Actions → View all sources → Import data from an HTTP API
2. Configure your Attio API endpoint with authentication and filters for ICP=True companies
3. Set the results path to tell Clay where your company data array is located in the API response
Scheduling:
After setup, click the source column title → under Sources select your source → choose On a schedule → set frequency to weekly or monthly. [2] Toggle Update existing rows so the table refreshes with current ICP companies.
This way Clay pulls fresh data from Attio automatically without consuming your automation credits for each refresh. [3]
Did that answer your question?
If you need any more help setting up your data source or scheduling the refresh, I’m here to assist. Would you like to provide more details about what you’re trying to achieve or any challenges you’re facing?
I have an HTTP API account set up already. How should the query be set up? I assume the Method is "GET", the endpoint is probably https://api.attio.com/v2/objects/companies/records/query.
You're correct on both points. For Attio's query endpoint, use: [1]
Method: GET
You'll also need to add query string parameters to filter for ICP=True companies. In the Query String section, add your filter parameters as key-value pairs (like filter → ICP=True or whatever Attio's API expects for filtering).
Don't forget to add your Attio API authentication in the Headers section. [2]
Is that what you were looking for?
sort of. What I don't understand how will it pull each ICP company into a separate row.
When setting up the HTTP API source, you need to specify the Results Path in Step 4. This tells Clay where your company array is located in Attio's API response. [1]
For example, if Attio returns:
{
"data": [
{"id": "company1", "name": "Acme Corp"},
{"id": "company2", "name": "Beta Inc"}
]
}You'd set the Results Path to data. Clay will automatically create one row for each company in that array.
Was that helpful?
