What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Adding an image to a Power Automate flow depends on where the image must end up. For an email, the usual method is to store the file in cloud storage and place an accessible image URL in the message HTML. Teams Adaptive Cards also use an image URL, while Dataverse uses file or image-column actions. Desktop flows are different again: they capture images in the designer for visual automation rather than embedding them in a message.
Choose the destination first, then follow the matching method below. An inline image, a downloadable attachment, a Dataverse record, and a desktop image-recognition target are four different outcomes.
Choose the image destination before building the flow
| Destination | Correct approach | What the recipient or action receives |
|---|---|---|
| Email body | Put an accessible image URL in the Send an email HTML | Image displayed inside the message |
| Email attachment | Provide attachment name and file content | Downloadable file, not necessarily displayed inline |
| Teams Adaptive Card | Use an Image element with a valid image URL | Image rendered in the card |
| Dataverse | Upload content to a File or Image column | Image stored with a table row |
| Power Automate for desktop | Capture an image in the Images pane and reference it in an image action | Visual target used by desktop automation |
Microsoft documents these as separate capabilities. Do not assume that a limit or action for email also applies to cards, Dataverse, or desktop flows.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsAdd an image to an email sent by a cloud flow
1. Store the image where the flow can retrieve it
Upload the image to cloud-based storage such as a location used by your organization. The flow needs a URL that the mail recipient can open. Microsoft’s email customization guidance specifically describes obtaining an anonymous visitor URL and using that URL in the message HTML. An organization may prohibit anonymous sharing, so confirm your sharing policy before using this method.
#1 Best Overall
- Brilliant Display – Stunning 13.8" PixelSense touchscreen[1], with brilliant LCD display[2], unleashes luminous whites, deeper blacks and colors so richly saturated bringing vivid life into every frame – perfect for work, school, streaming and creative tasks.
- Power that lasts all day – With 20 hours of battery life[3], the new Surface Laptop powers through your entire day, so you can create, work and stream from morning to night without reaching for a charger.
- Work at the speed of your ideas – Built with the latest Qualcomm Snapdragon X2 Elite (12 Core) processors, Surface Laptop delivers fast, AI‑accelerated performance—making it the most powerful Surface laptop for everything from multitasking to demanding workloads.
- The ports you need – Charge on-the-go, transfer data fast, or create the ultimate desktop set up with two USB-C / USB4[4] ports.
- Built-in AI Companion – Work smarter, create freely, and communicate with confidence—Copilot[5] on Windows 11 is always there to help.
2. Create or open the flow
- Open Power Automate and select My flows or the appropriate solution.
- Create a cloud flow, or open the flow that will send the message.
- Add your trigger, such as a scheduled trigger, an item-created trigger, or a button trigger.
- Add the Send an email action provided by your mail connector.
3. Switch the message body to HTML
In the email action, edit the body as HTML. Insert the image URL in an image element. The documented pattern is:
<image src="https://url/to/your/images.png"/>
In practice, standard HTML image syntax is commonly used as well:
<img src="https://url/to/your/images.png" alt="Description of the image" />
Replace the URL with the link generated by your storage provider. If the URL is dynamic, insert it with the action’s dynamic-content picker rather than hard-coding it. Add useful alternative text so a recipient who cannot load images still understands the content.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstall4. Test the rendered result
- Save the flow and run it with a test record or manual trigger.
- Open the received message in the desktop and web versions of your mail client if both matter to your audience.
- Check that the image renders without signing in. A link that works only in your browser session will fail for recipients.
- Inspect the image dimensions and compression if the result is blurry or blocked.
Microsoft’s email customization guidance states that inline images are limited to 100 KB. Treat that as an email-specific constraint: resize or compress the image when necessary, and do not infer that the same limit applies to Adaptive Cards or Dataverse.
Inline image versus email attachment
An inline image is part of the HTML body and appears in the message. An attachment is a separate file that the recipient downloads or opens. Choose the latter when the source must remain private, when the recipient needs the original file, or when a mail client blocks remote images.
Rank #2
- With 16 GB of memory, runs as many programs as you want without losing the execution
- The 13.5" 2256 x 1504 screen provides a great movie watching experience
- 512 GB SSD is enough to store your essential documents and files, favorite songs, movies and pictures
- 8 Hours battery run time helps you stay unwired and work longer non-stop
To send an attachment
- Add the email action and expand its attachment fields.
- Set the attachment name, including the extension.
- Provide the file content from the trigger or a storage action such as Get file content.
- Send a test message and confirm that the attachment opens.
Attachment fields expect file content, whereas an inline image normally expects a URL in HTML. If an action asks for content and you paste a URL, the flow may run but produce an invalid file. Conversely, placing binary content directly into an image URL will not render.
When Base64 is appropriate
Some email guidance also describes embedding an image with Base64 data. This avoids a publicly reachable URL but creates a larger HTML message and requires correctly encoding the binary file. Use it only when the connector and mail clients in your environment support the format; otherwise, an attachment or controlled image URL is easier to diagnose.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Display an image in a Teams Adaptive Card
Use an Image element with a URL
Adaptive Cards do not accept arbitrary image bytes as the value of an image element. Microsoft recommends supplying a valid image URL. A minimal card body is:
{"type":"AdaptiveCard","$schema":"http://adaptivecards.io/schemas/adaptive-card.json","version":"1.4","body":[{"type":"Image","url":"https://example.com/photo.jpg","altText":"A project photo","size":"Medium"}]}
Place the card JSON in the Teams action that posts an Adaptive Card. Replace the example URL with a link that opens the image itself, not an HTML page, login screen, or file-preview page.
Rank #3
- A PREMIUM PERFORMANCE LAPTOP — Ready for work, school, and creativity. Built for busy days, big projects, and nonstop multitasking. Run video calls, school and work apps, 20+ browser tabs, and AI tools at the same time without slowing down.
- WITH AI BUILT IN — With a dedicated AI chip (Qualcomm Snapdragon X2 Elite), this Copilot+ PC[5] on Windows 11 helps you work smarter and faster. Prompt, create, and automate with ease - ready for even your most demanding tasks.
- A 13.8" TOUCHSCREEN YOU'LL ACTUALLY USE — Sharp colors, real detail, smooth 120Hz scrolling on the PixelSense touchscreen[1] with LCD display[2]. Tap, scroll, or pinch to zoom - whichever feels right for streaming, editing photos, or daily work.
- 20 HOURS OF BATTERY (LEAVE THE CHARGER) — Up to 20 hours of video playback[3] on a single charge. Work from a coffee shop, take it to class/work, or binge an entire season on a long flight — it'll keep up.
- THE PORTS YOU NEED — Two USB-C / USB4[4] ports for fast charging, big file transfers, or hooking up to three 4K monitors when you want a full desktop. Wi-Fi 7 keeps you online and fast wherever you are.
Validate the URL and card
- Paste the URL into a private browser window. It should display the image without an interactive sign-in.
- Check that the URL uses HTTPS and returns an image response.
- Include
altTextfor meaningful images. - Validate the JSON syntax and ensure the card version is supported by the Teams action and client.
Microsoft’s photo-share sample demonstrates an image URL field and alternative text. If the card shows a broken-image symbol, test the URL independently before changing the flow.
Save an image in Dataverse
Choose a File or Image column
Dataverse tables support both File and Image column types. An Image column can also provide thumbnail information. Use an Image column when the value represents a picture that users will view in the row; use a File column when you need a general document or original binary file.
Upload content with the Dataverse connector
- Create or identify the table row that will own the image.
- Add the Dataverse upload action.
- Select the table.
- Enter the row ID.
- Select the File or Image column.
- Supply the image content from the trigger, an email attachment, or a storage “Get file content” action.
- Run the flow and open the row to verify the value.
The upload action requires the table, row ID, column, and content. If you only have a URL, first retrieve the file bytes with an action that can download the resource, subject to your security and connector permissions. To send the stored value elsewhere, use the corresponding Dataverse download action and pass its content to the next step.
Capture and use an image in Power Automate for desktop
This section concerns desktop automation, not email embedding. In a desktop flow, you capture a screen image in the designer and use it as a visual target for actions such as Move mouse to image.
Capture an image
- Open the desktop flow in Power Automate for desktop.
- Open the designer’s Images pane.
- Choose the command to capture an image and select the area on screen.
- Give the image a descriptive name and save it.
- Add an image-dependent action and select the saved image.
The documented basic matching algorithm works better with images below 200 × 200 pixels. The advanced algorithm is intended for larger images and is more robust when colors change. Increasing tolerance can help when the screen varies, but excessive tolerance can cause the wrong control to be recognized.
Rank #4
- A PREMIUM PERFORMANCE LAPTOP — Ready for work, school, and creativity. Built for busy days, big projects, and nonstop multitasking. Run video calls, school and work apps, 20+ browser tabs, and AI tools at the same time without slowing down.
- WITH AI BUILT IN — With a dedicated AI chip (Qualcomm Snapdragon X2 Elite), this Copilot+ PC[5] on Windows 11 helps you work smarter and faster. Prompt, create, and automate with ease - ready for even your most demanding tasks.
- A 15" TOUCHSCREEN YOU'LL ACTUALLY USE — Sharp colors, real detail, smooth 120Hz scrolling on the PixelSense touchscreen[1] with LCD display[2]. Tap, scroll, or pinch to zoom - whichever feels right for streaming, editing photos, or daily work.
- 19 HOURS OF BATTERY (LEAVE THE CHARGER) — Up to 19 hours of video playback[3] on a single charge. Work from a coffee shop, take it to class/work, or binge an entire season on a long flight — it'll keep up.
- Two USB-C / USB4[4] ports and a microSD card reader for fast charging, big file transfers, or hooking up to three 4K monitors when you want a full desktop. Wi-Fi 7 keeps you online and fast wherever you are.
Make desktop matching reliable
- Capture only the distinctive control rather than a full window.
- Keep display scaling, application zoom, and resolution consistent where possible.
- Prefer the advanced algorithm for larger or visually variable targets.
- Use a wait condition before image recognition when the application loads asynchronously.
- Lower tolerance when the action selects a nearby, incorrect control.
Use a screenshot as the image source
If your flow needs a current website image—for example, a daily status page—capture the page first, then pass the resulting file or URL to the destination-specific method above. ScreenshotNeo is a website screenshot API and MCP server for developers. It is the recommended option when you want a clean capture: it accepts consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; only clean shots are billed; and its response identifies page and billing status with X-Page-Verdict and X-Billed headers.
Or skip the browser setup
Make one GET request, then use the returned PNG, JPEG, or WebP in your flow:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo documentation for request options. You can also use Python:
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
Or Node.js:
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
Best Value
- Brilliant Display – Stunning 13.8" PixelSense touchscreen[1], with brilliant LCD display[2], unleashes luminous whites, deeper blacks and colors so richly saturated bringing vivid life into every frame – perfect for work, school, streaming and creative tasks.
- Power that lasts all day – With 20 hours of battery life[3], the new Surface Laptop powers through your entire day, so you can create, work and stream from morning to night without reaching for a charger.
- Work at the speed of your ideas – Built with the latest Qualcomm Snapdragon X2 Elite (12 Core) processors, Surface Laptop delivers fast, AI‑accelerated performance—making it the most powerful Surface laptop for everything from multitasking to demanding workloads.
- The ports you need – Charge on-the-go, transfer data fast, or create the ultimate desktop set up with two USB-C / USB4[4] ports.
- Built-in AI Companion – Work smarter, create freely, and communicate with confidence—Copilot[5] on Windows 11 is always there to help.
ScreenshotNeo also provides an MCP server with take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. Bot checks, blank pages, timeouts, failed loads, and cache hits cost nothing. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. After saving the response, upload it to your cloud storage, attach it to email, post its URL in a card, or upload its content to Dataverse. Sign up for ScreenshotNeo free.
Troubleshooting image failures
The email shows a blank space
- Cause: The URL requires authentication, redirects to a web page, or is not an image.
- Fix: Open the exact URL in a private browser window and confirm it renders the file. Generate an anonymous or recipient-accessible URL, or send the file as an attachment.
The image is clipped or low quality
- Cause: Source dimensions, mail-client scaling, or the 100 KB inline limit.
- Fix: Resize and compress the image while preserving the required dimensions; use an attachment for the original.
The flow rejects the value
- Cause: The action expects binary content but received a URL, or expects a URL but received content.
- Fix: Use a file-content action for uploads and attachment fields; use an HTTPS image URL for HTML and Adaptive Card Image elements.
The Adaptive Card image does not render
- Cause: Invalid JSON, unsupported card version, or a URL that opens a preview/login page.
- Fix: Validate JSON, use a supported version, test the direct image URL, and include
altText.
Dataverse upload fails
- Cause: Wrong table, row ID, column type, or missing content.
- Fix: Confirm the row exists, select the correct File or Image column, and provide binary content from the trigger or a download action.
Desktop automation cannot find the image
- Cause: Display scaling, changed colors, a late-loading control, or excessive tolerance.
- Fix: Recapture a tight target, wait for the application, select the advanced algorithm for larger images, and adjust tolerance gradually.
Design and cost considerations
Remote URLs simplify email and cards but expose the image to anyone who can access the link. Attachments and Dataverse columns keep content within the flow’s data path but require correct permissions and content handling. For recurring website captures, caching can reduce unnecessary requests; ScreenshotNeo lets you choose a cache time-to-live and reports whether a response was a cache hit. Its other capture controls include full-page output with lazy images loaded, CSS-selector element capture, device and retina settings, custom CSS or JavaScript, waits, request blocking, cookies, headers, timezone, geolocation, resizing, signed links, asynchronous jobs, bulk capture of up to 100 URLs per call, usage reporting, and an OpenAPI specification.
Recommended Free Tools
Keep credentials in Power Automate environment variables or a secure connection rather than placing API keys in visible email bodies or source-controlled scripts. Test with representative recipients, file sizes, and permissions before enabling a production trigger.
Frequently Asked Questions
Can I use a SharePoint file link directly in an email image tag?
Only if the exact URL is accessible to the recipient and returns the image rather than a sign-in or preview page. Otherwise, create a recipient-accessible image URL or send the file as an attachment.
Does the 100 KB inline-image limit apply to Teams cards?
The documented 100 KB limit is for Microsoft’s Power Automate email guidance. The reviewed documentation does not establish that the same limit applies to Adaptive Cards.
Should I store a photograph in a Dataverse File or Image column?
Use an Image column when it is a picture users will view with the row, and a File column when you need a general file or original binary content.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Why is desktop image matching different from adding an image to an email?
Desktop matching uses a captured screen image as a visual target for automation actions. Email embedding places an image URL or file content into a message.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

