Is there a way to get a webhook to populate on the same row and not create a new row? I'm sending information to an n8n scraping agent and when I http request the data back to clay the webhook is creating a new row. Do I need to add something to the JSON to identify which record on the way back?
Webhooks in Clay are designed to create new rows by default when receiving data. To update existing rows instead of creating new ones, you'll need to use the auto-dedupe feature.Here's how you can set it up:1. First, set up your webhook as a data source in Clay. 2. After setting up the webhook, enable the auto-dedupe feature: โข Select the Auto-dedupe icon at the bottom right of your table. โข Click "Enable automatic deduplication". โข Choose a column that contains unique identifiers for your rows. โข Click "Save Changes". 3. When sending data via the webhook, include the unique identifier in your JSON payload. This identifier should match the column you selected for auto-deduplication.By setting up auto-dedupe, Clay will update existing rows instead of creating new ones when it receives data with matching identifiers.What unique identifier would you like to use for deduplication in your webhook data? Sources: Webhook source guide | Documentation | Clay University Auto-update and Auto-dedupe Table Table sources overview | Documentation | Clay University
To make your webhook update existing rows instead of creating new ones, you'll need to use Clay's auto-dedupe feature. Here's how to set it up:1. Click the Auto-dedupe icon at the bottom right of your table 2. Click "Enable automatic deduplication" 3. Select a column that contains unique identifiers for your rows 4. Click "Save Changes"When sending data through your webhook, make sure to include the unique identifier in your JSON payload that matches the column you selected for deduplication. This way, Clay will update the existing row instead of creating a new one. Source: Auto-update and Auto-dedupe Table
I thought the de-dup would keep the older record hence impossible to update automatically. But perhaps I was wrong
There seems to be a misunderstanding about how auto-dedupe works. Auto-dedupe is designed to retain the oldest row and delete duplicates - it always keeps the oldest record by default.To manage duplicate data in your table, you can:1. Enable auto-dedupe: โข Click the Auto-dedupe icon at the bottom right of your table โข Click "Enable automatic deduplication" โข Select a column that contains unique identifiers โข Click "Save Changes"Note that auto-dedupe will monitor the specified column to detect duplicates, but it will always keep the oldest row and remove newer duplicates. If you need to update existing rows while keeping the newest data instead, you may need to explore alternative solutions or reach out to our support team for guidance. Sources: Auto-update and Auto-dedupe Table Table management settings | Documentation | Clay University
Thanks! We've reopened this thread. You can continue to add more detail directly in this thread.
Let me clarify how auto-dedupe works and suggest an alternative solution:Auto-dedupe is specifically designed to retain the oldest row and delete any duplicates that come after it. This is its core functionality and cannot be modified.If you need to update existing rows rather than keep the oldest record, auto-dedupe isn't the right feature for this use case. Instead, you should look into using an "upsert" operation through integrations like Snowflake, which allows you to:** Update existing rows when a match is found ** Create new rows when no match exists ** Use a unique identifier to determine matchesThe auto-dedupe feature's main benefits are:** Keeping your table clean by removing duplicates * Saving credits by preventing duplicate enrichmentsWould you like to know more about setting up upsert operations for your specific use case? Sources: Table management settings | Documentation | Clay University Upsert Row with Snowflake Auto-dedupe
Based on the previous discussion and your specific need to update existing rows via webhook, the auto-dedupe feature won't work for your use case since it's designed to keep the oldest record. Instead, you should use the Snowflake integration with its upsert functionality, which allows you to:1. Update existing rows when a match is found 2. Create new rows only when no match exists 3. Use a specific field as a unique identifierHere's how to set it up:1. Select Snowflake as your integration 2. Choose the "Upsert Row" action 3. Specify a lookup field that will serve as your unique identifier 4. Map the fields from your Clay table that should be updated 5. Configure the auto-update settingsNote: Fields with null values will be ignored during updates to prevent overwriting existing data.The upsert functionality ensures efficient data synchronization while maintaining accurate and up-to-date records across your tables. Sources: Insert Row with Snowflake | Clay.com Upsert Row with Snowflake Snowflake integration overview | Documentation | Clay University
Hi Nik, thanks for reaching out! Do you mind sending the link (url) to the table so we can take a look? https://downloads.intercomcdn.com/i/o/w28k1kwz/1347419411/65baf32e1d2a789ffba395c6d35c/CleanShot+2025-01-22+at+_42I1FzxXHf%402x.png?expires=1738182600&signature=5b23d08e1eec8cafaf370660a023f07f315a52159082434c53ceeb8605489fa8&req=dSMjEc1%2FlIVeWPMW1HO4zVws4pk2BVaugvYjA82bedD1PQ%3D%3D%0A
Hey there - just wanted to check in here to see if you needed anything else! Feel free to reply back here if you do.
We haven't heard back from you in a bit, so we're going to go ahead and close things out here - feel free to let us know if you still need something!
sorry for the delay here, check row 19-22 here plz: https://app.clay.com/workspaces/76206/tables/t_p4YX6YZge6vW/views/gv_VyqekVKZnCo3
Hey Nik, thanks for reaching out. The process of having a webhook land on a desired row instead of creating a new row may not be the best approach due to how these sources function. Instead, could you set up a separate table to capture all incoming webhooks and then use a lookup column to pull the necessary data into the company table? Let me know what you think! We'd likely have to add in a delay in this company table so that the data is returned before the lookup column triggers but there are workarounds for this as well.
Hey there - just wanted to check in here to see if you needed anything else! Feel free to reply back here if you do.
We haven't heard back from you in a bit, so we're going to go ahead and close things out here.If you still need some help, just reply back here and someone from our team will be in touch!