This guide walks you through using Clay’s HTTP API enrichment to send leads to GenPage, generate personalized pages, and fetch the final GenPage URLs back into your Clay table.
To begin, grab your API key from GenPage:
Authorization:
Bearer <API Token>
Important: there’s a space after Bearer. Example: Bearer sk_live_abc123
Hit save - you're ready for the next step.
POST
https://backend.genpage.ai/api/external/v1/leads/upsert-lead
{
"from": "Clay",
"campaign_id": 1234567890,
"values": {
"first_name": "Alex",
"company_name": "Microsoft",
"domain": "microsoft.com",
"email": "alex@microsoft.com"
"linkedin_profile_url": "https://www.linkedin.com/in/my-profile-name"
}
}
Important: The variables above (first_name, company_name, domain, email, and linkedin_profile_url) are default GenPage variables.
If you are linking any of these variables from your Clay table to GenPage, ensure you are using this exact formatting so they can be recognized in GenPage and trigger GenPage-native enrichments. Other non-default variables will simply be treated as custom variables in GenPage.
"campaign_id",
hop back into GenPage, and add the number in the URL of the campaign you'd like this workflow to create leads for (in this case, the campaign ID is 3802):
If the JSON input is wrong, the input box will be highlighted in red. This means you need to fix your formatting. You can click outside the box after you fix the input to confirm the input is now valid.
429 and 500
(add a comma after your input to add it to the field). This is to ensure the page gets correctly generated even in case of errors.
Hit "Save and don't run". You can then test your API call by running one cell first (click the play button within the cell and wait a couple of seconds):
Once your API call has succesfully run, your row will show "Status code 200". If you click on it, the cell details in Clay will include a "Job ID":
Click on the job ID, select "Add as column", and save a name for the column suche as "GenPage Job ID":
Once you've created and completed the first HTTP API request, GenPage will start receiving your leads from Clay and their related variables. To ensure your variables show in the personalized landing page you've prepared for them, head to your GenPage campaign, and add the new variables throughout relevant content:
GET:
https://backend.genpage.ai/api/external/v1/leads/get-leads
job_id
"GenPage Job ID"
. You can simply type "/" and select the appropriate column in the dropdown.
100
503, 429, 400, 500
5
1000
Hit save and don't run the enrichment just yet!
Try running the request in your first row by clicking the play button in the first cell.
Once your API call has succesfully run, your row will show "Status code 200". If you click on it, the cell details in Clay will include a a few parameters, including "GenPage URL". This is what we're after:
Click on the "GenPage URL" field, and hit "Add as column". Add a name such as "GenPage URL" - your link will now show as a new column in Clay.
Head back to the very first HTTP API column you created, and click run all rows. All other columns will populate automatically, including your new column with your GenPage URL:
You’ve now fully integrated Clay with GenPage and can start creating personalized landing pages at scale.
Questions or feedback? Reach out to our support team anytime, or book a demo with us. We’re always happy to help.