How to Capture Website Screenshots from Zoho CRM Leads with Make in India
Build a Make workflow that captures a lead’s website and attaches the image in Zoho CRM. Compare Make’s screenshot action with an HTTP screenshot API.
You can build a Make scenario that gets a lead’s website URL from Zoho CRM, sends that URL to a screenshot step, and uploads the resulting image as an attachment to the lead. Make lists both a screenshot-specific action called “Create a Screenshot of a URL” and an HTTP route that can call an external screenshot API; its Zoho CRM integration also lists “Upload an Attachment.” The listings establish that these building blocks exist, but they do not document a tested end-to-end recipe or the exact fields, limits, and authentication for your account. Confirm those details in the active scenario builder before deploying.
“In India” does not establish a particular region, data residency, regulatory treatment, or India-specific service availability. The sources below do not substantiate those details, so check the current terms and settings for the services you choose if location or compliance matters.
How the workflow fits together
- Find the lead. Start with a Zoho CRM event or search that provides a lead record and its website field. Make lists “Watch Objects,” which triggers when an object is created or updated. Confirm in your builder that it applies to Leads and matches whether you want new records, updates, or both. Make’s Zoho CRM integration listing.
- Check the website value. Continue only if the lead has a non-empty, valid website URL. Decide whether to accept only public HTTP or HTTPS URLs and which domains your workflow is allowed to capture.
- Capture the page. Choose Make’s “Create a Screenshot of a URL” action, or call an external screenshot API with Make’s HTTP “Make a request” action. Make lists the screenshot action; its listing describes it as taking a screenshot of a website.
- Get the image as a file. The screenshot step may return file content or a URL, depending on the service and configuration. If it returns a URL, Make lists HTTP “Download a file” as an available action. Verify the actual output shape before mapping it onward.
- Attach it to the same lead. Map the image file and the lead’s record identifier to Zoho CRM “Upload an Attachment.” Check the module’s required fields and file-size limits in the current builder. Make’s HTTP and Zoho CRM integration listing.
Make describes mapping as linking data from one module to another. In this workflow, the lead’s website URL feeds the screenshot action, and the screenshot file plus lead identifier feed the attachment action. Exact mapping labels and required inputs depend on the modules and account configuration.
Build the scenario in Make
1. Choose a trigger that supplies the lead
Use a Zoho CRM trigger or search that returns the Leads record you intend to process. The integration listing names “Watch Objects” for new or updated objects and “Upsert a Lead” as an action, but it does not specify every trigger configuration or guarantee how a particular account exposes Leads. Select the appropriate object and event in the scenario builder, then inspect a sample output to identify:
- The lead record ID needed by the attachment action.
- The website field’s exact name and value format.
- Any status or timestamp fields useful for avoiding repeat captures.
If the trigger fires on updates, a change unrelated to the website may also start the scenario. Add a filter or state check so captures happen only when the URL is usable and when your chosen capture policy says they should.
2. Validate and normalize the URL
Skip records with an empty website field. Normalize a value only when you can do so safely: for example, decide whether a bare host should receive an HTTPS scheme, and reject malformed values instead of guessing. Keep any original value available for troubleshooting. Restrict captures to expected public websites; do not let an untrusted lead value direct an HTTP request to internal services or private network addresses.
3. Select a screenshot route
| Route | Use it when | Verify first |
|---|---|---|
| Make HTML/CSS to Image: “Create a Screenshot of a URL” | You want to evaluate a screenshot action directly in the scenario builder. | Available inputs, authentication, output type, rendering controls, usage limits, and cost in the current connector. |
| Make HTTP: “Make a request” to a screenshot API | You need to choose an external API or its documented options. | Authentication, request parameters, response format, file handling, rate limits, service terms, and cost. |
The available listings do not provide enough comparative detail to rank these routes on rendering behavior, cost, or setup effort. Test the route you select with representative websites and confirm that its output can be passed to Zoho CRM as a file.
4. Convert the result to a file if needed
Inspect a successful screenshot module output. If it is already file content, map that file to the attachment action. If it is a downloadable URL, use Make’s HTTP “Download a file” action, then map the downloaded file. Confirm whether the URL expires and whether the content type and filename are suitable for your CRM attachment workflow.
5. Upload the attachment
Map the correct lead record ID from the trigger or search result and the screenshot file from the capture or download step. Use a useful filename, such as a lead identifier and capture date, if the module lets you supply one. Run a controlled scenario with a test lead and inspect the attachment in Zoho CRM. The integration listing does not enumerate required fields or file-size limits, so use the active module configuration as the source of truth.
Design choices for a dependable workflow
Prevent duplicate attachments
Decide whether a screenshot should be made once per lead, whenever the website changes, or on every qualifying update. To prevent duplicate uploads, keep a capture status or last-captured URL and timestamp in a field or other state store available to your scenario. Compare the current URL and capture policy before uploading. These are workflow design choices, not behaviors confirmed by the integration listings.
Handle failures explicitly
Separate failures into useful outcomes: invalid or missing URL, screenshot service error, file download error, and CRM attachment error. Log the lead ID, stage, and error details while limiting stored personal data. Decide which failures can be retried and how retries avoid attaching the same file twice. Verify the retry and error-handling features available in your current Make plan and scenario builder.
Protect data and control destinations
- Only capture URLs your organization is authorized to process.
- Restrict the URL scheme and destination policy; validate redirects as well as the initial URL when the selected service supports doing so.
- Do not pass CRM credentials or unrelated lead fields to a screenshot provider.
- Review each service’s data handling, region, retention, and terms directly. The cited Make listings do not settle India-specific residency or compliance questions.
- Set an appropriate retention policy for screenshots and scenario logs.
Consider rendering and file size
Website content can change, load slowly, require authentication, or render differently in an automated capture than in a normal browser. The dossier does not specify the rendering limits, wait controls, viewport options, or attachment limits for the listed Make action. Check the active module’s documentation and test pages that resemble your leads’ sites. If large images exceed CRM constraints, select a smaller output or resize it only if the chosen route supports that option.
Or skip the browser setup
Use ScreenshotNeo as the screenshot step: one GET request takes a URL and returns an image or PDF. Its API options include format, viewport, full-page capture, waits, and other controls; see the ScreenshotNeo API documentation. In Make, configure HTTP “Make a request” with the endpoint and parameters, then map the returned image into the Zoho CRM attachment step. Confirm the response is exposed as file content in your scenario; if it is a URL, add a download step.
cURL example:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Python example:
import requests
r = requests.get(
"https://api.screenshotneo.com/v1/shot",
params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"},
timeout=90,
)
r.raise_for_status()
open("shot.webp", "wb").write(r.content)
Node.js example (run in an environment with a global fetch):
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
const bytes = new Uint8Array(await res.arrayBuffer());
// Map or save bytes as the image file for the next workflow step.
Cookie banners, popups, and chat widgets are removed before the shot; bot checks, blank pages, and failed loads are never billed. An MCP server lets AI agents take screenshots. The Free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000. Learn about ScreenshotNeo, then sign up free for 1,000 screenshots a month, with no card.
Troubleshooting
| Symptom | Likely cause | What to check or change |
|---|---|---|
| No scenario run for a lead | The selected trigger does not watch the Leads object or the event did not match. | Confirm the trigger’s object and event in the builder, and inspect its run history and sample output. |
| Screenshot step receives no URL | The website field was empty, mapped from the wrong object, or has a different field name. | Inspect trigger output, map the correct field, and filter out blank values. |
| Screenshot request is rejected | Malformed URL, missing scheme, authentication issue, or unsupported request configuration. | Check the exact URL, credentials, and module/API requirements; try a known public URL to isolate the issue. |
| Image is blank or incomplete | The page may need more time, depend on scripts or login, or block automated access. | Check the selected service’s rendering and wait options, test the target page directly, and handle inaccessible pages as failures. |
| Attachment action fails | Missing or incorrect lead ID, incompatible file output, or a file-size/field constraint. | Inspect the action’s required fields and prior module output; verify the file and lead ID in the current Zoho module setup. |
| Repeated attachments appear | The trigger runs on multiple updates or retries without duplicate protection. | Track capture state or compare the website URL and last-captured value before uploading. |
| Download step cannot fetch the image | The screenshot URL may be invalid, expired, or inaccessible to Make. | Inspect the returned URL and service behavior; prefer direct file output when available. |
Performance, reliability, and cost
A scenario may perform several sequential actions for each lead: trigger or lookup, validation, capture, optional download, and attachment upload. Total completion time depends on those steps and the target site; the sources provide no timing benchmarks. Avoid capturing on every irrelevant lead update, and consider a controlled batch or queue design if many leads arrive together. The Make listings do not state applicable operation limits, connector charges, screenshot limits, or API pricing. Check current plan and service details before estimating cost.
For reliability, test with representative URLs, preserve enough run context to diagnose failures, and make retries idempotent. For cost control, skip leads without a usable URL, avoid duplicate captures, and check whether the selected screenshot route bills failed or repeated requests. Those billing behaviors are not established by the Make sources.
FAQ
Can this run when a lead is created or updated?
Make lists “Watch Objects” as triggering when an object is created or updated. Confirm that the current connector configuration supports the Leads object and event behavior you need.
Does “in India” mean the screenshot is processed or stored in India?
The cited material does not establish regional processing, data residency, or India-specific compliance. Check the current service documentation and terms for your selected connectors and API.
Is the Make screenshot action a confirmed replacement for an external API?
Make lists “Create a Screenshot of a URL,” but the listing alone does not establish its configuration, output format, limits, or suitability for your pages. Evaluate it in the current builder.
Can I attach a PDF instead of an image?
ScreenshotNeo supports PDF output. For the Make route, verify that the selected screenshot action produces the format you want and that Zoho CRM’s attachment action accepts it.


