Ironfang Render (Preview)
Ironfang Render turns web pages and HTML into screenshots and PDF documents. Capture a page as PNG, JPEG or WebP, print a URL or your own HTML to PDF, or queue a render job and collect the file when it is ready. No browser to run or maintain.
This connector is available in the following products and regions:
| Service | Class | Regions |
|---|---|---|
| Copilot Studio | Premium | All Power Automate regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
| Logic Apps | Standard | All Logic Apps regions except the following: - Azure Government regions - Azure China regions - US Department of Defense (DoD) |
| Power Apps | Premium | All Power Apps regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
| Power Automate | Premium | All Power Automate regions except the following: - US Government (GCC) - US Government (GCC High) - China Cloud operated by 21Vianet - US Department of Defense (DoD) |
| Contact | |
|---|---|
| Name | Ironfang |
| URL | https://ironfang.com/contact |
| hello@ironfang.com |
| Connector Metadata | |
|---|---|
| Publisher | Ironfang |
| Website | https://ironfang.com/render |
| Privacy policy | https://ironfang.com/legal/privacy |
| Categories | Content and Files;Productivity |
Ironfang Render
Ironfang Render turns web pages and HTML into screenshots and PDF documents. With this connector a flow can capture a page as an image, print a URL or its own HTML to PDF, or queue a render job and collect the file when it is ready, without running a browser.
Publisher: Ironfang
Prerequisites
You need an Ironfang account and an API key. Accounts are free to create at https://portal.ironfang.com, and every account includes a monthly free allowance of renders. Usage beyond the allowance is billed to your Ironfang account; current rates are at https://ironfang.com/pricing.
Supported Operations
Capture a screenshot
Renders a web page or a block of HTML and returns the image as PNG, JPEG or WebP. Choose the window size, capture the whole scrollable page or a single element, emulate a phone or tablet, use the dark colour scheme, and hide cookie banners or block ads.
Create a PDF
Prints a web page or a block of HTML to a PDF document of up to 100 pages and returns the file. Choose the paper size, orientation, margins, backgrounds, and header and footer templates.
Start a screenshot job
Queues a screenshot as a durable job and returns its ID at once. Use it when a flow should not wait for the render, or to keep the file available for later steps.
Start a PDF job
Queues a PDF as a durable job and returns its ID at once.
Get a render job
Returns a job with its status: queued, running, succeeded, failed or cancelled. A succeeded job includes the size and type of its file and a signed download link; a failed job includes the reason.
Download a job result
Returns the file a succeeded job produced.
Obtaining Credentials
The connector authenticates with an Ironfang API key.
- Sign in at https://portal.ironfang.com, or create a free account there.
- Open API keys and create a key. A key with only the render:render scope is enough for every action in this connector.
- Copy the key, which starts with if_live_. It is shown once.
- When you create a connection, paste the key into the API key field.
Getting Started
To save a PDF of your own HTML to SharePoint:
- Add the Create a PDF action and put your HTML in the HTML field. Set Paper size to a4.
- Add the SharePoint Create file action. Use a file name ending in .pdf, and use the PDF content output of Create a PDF as the file content.
To capture a page on a schedule:
- Start with a Recurrence trigger.
- Add Capture a screenshot with the page URL, and turn on Full page if you want the whole page.
- Add the OneDrive Create file action with a file name ending in .png and the Image content output as the file content.
For a long batch, use Start a screenshot job or Start a PDF job, then a Do until loop that runs a Delay of at least 5 seconds and Get a render job until the status is succeeded, failed or cancelled, and finish with Download a job result.
Full API documentation is at https://ironfang.com/render/docs.
Known Issues and Limitations
- Send either a page URL or HTML in a request, not both.
- Each render is limited to 30 seconds. A page that takes longer to become ready fails with a render error.
- A PDF can have at most 100 pages, and an image at most 4096 pixels in width or height. A full page capture is at most 20000 pixels tall.
- A job's file is kept for 24 hours after the job succeeds, and the signed download link in Get a render job works for 15 minutes. Download a job result can be called again within the 24 hours.
- An account can run two renders at a time. A request beyond that is refused with status 429 and should be retried after a short wait; jobs wait in the queue instead.
- An identical request within 10 minutes may return the earlier render. Turn on Skip the cache to force a new one.
- Pages behind a sign-in cannot be captured through this connector yet.
Frequently Asked Questions
Is anything added to my files?
No. Files rendered through the API carry no Ironfang badge or watermark.
Where do I get help?
Contact Ironfang at https://ironfang.com/contact or hello@ironfang.com. Service status is at https://status.ironfang.com.
Deployment Instructions
Use the Power Platform CLI to deploy this connector as a custom connector:
pac connector create --api-definition-file apiDefinition.swagger.json --api-properties-file apiProperties.json --icon-file icon.png
Then create a connection with your Ironfang API key.
Creating a connection
The connector supports the following authentication types:
| Default | Parameters for creating connection. | All regions | Not shareable |
Default
Applicable: All regions
Parameters for creating connection.
This is not shareable connection. If the power app is shared with another user, another user will be prompted to create new connection explicitly.
| Name | Type | Description | Required |
|---|---|---|---|
| API key | securestring | Your Ironfang API key, which starts with if_live_. | True |
Actions
| Capture a screenshot |
Renders a web page or a block of HTML in a browser and returns the image. Send a page URL or HTML, not both. |
| Create a PDF |
Prints a web page or a block of HTML to a PDF document of at most 100 pages and returns the file. Send a page URL or HTML, not both. |
| Download a job result |
Returns the file a succeeded job produced. Results are kept for 24 hours after the job succeeds. |
| Get a render job |
Returns a render job with its status. A succeeded job carries details of its result, and a failed job carries the error. |
| Start a PDF job |
Queues a PDF as a durable job and returns at once. Check the job with Get a render job, then use Download a job result. The finished file is kept for 24 hours. |
| Start a screenshot job |
Queues a screenshot as a durable job and returns at once. Check the job with Get a render job, then use Download a job result. The finished file is kept for 24 hours. |
Capture a screenshot
Renders a web page or a block of HTML in a browser and returns the image. Send a page URL or HTML, not both.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Page URL
|
url | string |
The address of the page to capture. Leave empty when you send HTML. |
|
|
HTML
|
html | string |
The HTML markup to render. Leave empty when you send a page URL. |
|
|
Image format
|
format | string |
The image file format. PNG is lossless, and WebP is usually the smallest file. |
|
|
Full page
|
full_page | boolean |
Whether to capture the whole scrollable page instead of only the visible area. |
|
|
Width
|
width | integer |
The browser window width in pixels, up to 4096. |
|
|
Height
|
height | integer |
The browser window height in pixels, up to 4096. It is ignored for a full page capture. |
|
|
Device
|
device | string |
Capture the page as a phone or tablet would show it, with a matching screen size and user agent. |
|
|
Dark mode
|
dark_mode | boolean |
Whether to render the page with its dark colour scheme. |
|
|
Quality
|
quality | integer |
The image quality from 1 to 100 for JPEG and WebP. It is ignored for PNG. |
|
|
Element selector
|
selector | string |
The CSS selector of one element to capture instead of the whole window. |
|
|
Delay (milliseconds)
|
delay_ms | integer |
How long to wait after the page loads before capturing, up to 10000 milliseconds. |
|
|
Wait until
|
wait_until | string |
When the page counts as ready. Network idle waits for network traffic to stop. |
|
|
Hide cookie banners
|
block_cookie_banners | boolean |
Whether to hide common cookie consent banners. They are hidden, never accepted. |
|
|
Block ads
|
block_ads | boolean |
Whether to block requests to known advertising and tracking networks. |
|
|
Skip the cache
|
no_cache | boolean |
Whether to force a fresh render instead of reusing an identical one from the last 10 minutes. |
Returns
The screenshot file content.
- Image content
- binary
Create a PDF
Prints a web page or a block of HTML to a PDF document of at most 100 pages and returns the file. Send a page URL or HTML, not both.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Page URL
|
url | string |
The address of the page to print. Leave empty when you send HTML. |
|
|
HTML
|
html | string |
The HTML markup to print. Leave empty when you send a page URL. |
|
|
Paper size
|
paper_format | string |
The named paper size. When it is empty, Letter is used. |
|
|
Landscape
|
landscape | boolean |
Whether to print in landscape orientation. |
|
|
Print backgrounds
|
print_background | boolean |
Whether to include background colours and images, as a browser print dialog can. |
|
|
Top margin (inches)
|
top | float |
The top margin in inches. |
|
|
Right margin (inches)
|
right | float |
The right margin in inches. |
|
|
Bottom margin (inches)
|
bottom | float |
The bottom margin in inches. |
|
|
Left margin (inches)
|
left | float |
The left margin in inches. |
|
|
Header HTML
|
header_html | string |
The HTML template printed at the top of every page. |
|
|
Footer HTML
|
footer_html | string |
The HTML template printed at the bottom of every page. |
|
|
Scale
|
scale | float |
The print scale, where 1 is actual size. |
|
|
Wait until
|
wait_until | string |
When the page counts as ready. Network idle waits for network traffic to stop. |
|
|
Hide cookie banners
|
block_cookie_banners | boolean |
Whether to hide common cookie consent banners. They are hidden, never accepted. |
|
|
Block ads
|
block_ads | boolean |
Whether to block requests to known advertising and tracking networks. |
Returns
The PDF file content.
- PDF content
- binary
Download a job result
Returns the file a succeeded job produced. Results are kept for 24 hours after the job succeeds.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Job ID
|
id | True | string |
The ID of the render job, as returned when it was started. |
Returns
The file the job produced.
- File content
- binary
Get a render job
Returns a render job with its status. A succeeded job carries details of its result, and a failed job carries the error.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Job ID
|
id | True | string |
The ID of the render job, as returned when it was started. |
Returns
- Body
- Job
Start a PDF job
Queues a PDF as a durable job and returns at once. Check the job with Get a render job, then use Download a job result. The finished file is kept for 24 hours.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Idempotency key
|
Idempotency-Key | string |
A unique value for this request, such as the flow run ID. Sending the same key again never creates a second render. |
|
|
Page URL
|
url | string |
The address of the page to print. Leave empty when you send HTML. |
|
|
HTML
|
html | string |
The HTML markup to print. Leave empty when you send a page URL. |
|
|
Paper size
|
paper_format | string |
The named paper size. When it is empty, Letter is used. |
|
|
Landscape
|
landscape | boolean |
Whether to print in landscape orientation. |
|
|
Print backgrounds
|
print_background | boolean |
Whether to include background colours and images, as a browser print dialog can. |
|
|
Top margin (inches)
|
top | float |
The top margin in inches. |
|
|
Right margin (inches)
|
right | float |
The right margin in inches. |
|
|
Bottom margin (inches)
|
bottom | float |
The bottom margin in inches. |
|
|
Left margin (inches)
|
left | float |
The left margin in inches. |
|
|
Header HTML
|
header_html | string |
The HTML template printed at the top of every page. |
|
|
Footer HTML
|
footer_html | string |
The HTML template printed at the bottom of every page. |
|
|
Scale
|
scale | float |
The print scale, where 1 is actual size. |
|
|
Wait until
|
wait_until | string |
When the page counts as ready. Network idle waits for network traffic to stop. |
|
|
Hide cookie banners
|
block_cookie_banners | boolean |
Whether to hide common cookie consent banners. They are hidden, never accepted. |
|
|
Block ads
|
block_ads | boolean |
Whether to block requests to known advertising and tracking networks. |
|
|
Your reference
|
external_id | string |
Your own reference for the job, up to 120 characters. |
Returns
- Body
- Job
Start a screenshot job
Queues a screenshot as a durable job and returns at once. Check the job with Get a render job, then use Download a job result. The finished file is kept for 24 hours.
Parameters
| Name | Key | Required | Type | Description |
|---|---|---|---|---|
|
Idempotency key
|
Idempotency-Key | string |
A unique value for this request, such as the flow run ID. Sending the same key again never creates a second render. |
|
|
Page URL
|
url | string |
The address of the page to capture. Leave empty when you send HTML. |
|
|
HTML
|
html | string |
The HTML markup to render. Leave empty when you send a page URL. |
|
|
Image format
|
format | string |
The image file format. PNG is lossless, and WebP is usually the smallest file. |
|
|
Full page
|
full_page | boolean |
Whether to capture the whole scrollable page instead of only the visible area. |
|
|
Width
|
width | integer |
The browser window width in pixels, up to 4096. |
|
|
Height
|
height | integer |
The browser window height in pixels, up to 4096. It is ignored for a full page capture. |
|
|
Device
|
device | string |
Capture the page as a phone or tablet would show it, with a matching screen size and user agent. |
|
|
Dark mode
|
dark_mode | boolean |
Whether to render the page with its dark colour scheme. |
|
|
Quality
|
quality | integer |
The image quality from 1 to 100 for JPEG and WebP. It is ignored for PNG. |
|
|
Element selector
|
selector | string |
The CSS selector of one element to capture instead of the whole window. |
|
|
Delay (milliseconds)
|
delay_ms | integer |
How long to wait after the page loads before capturing, up to 10000 milliseconds. |
|
|
Wait until
|
wait_until | string |
When the page counts as ready. Network idle waits for network traffic to stop. |
|
|
Hide cookie banners
|
block_cookie_banners | boolean |
Whether to hide common cookie consent banners. They are hidden, never accepted. |
|
|
Block ads
|
block_ads | boolean |
Whether to block requests to known advertising and tracking networks. |
|
|
Skip the cache
|
no_cache | boolean |
Whether to force a fresh render instead of reusing an identical one from the last 10 minutes. |
|
|
Your reference
|
external_id | string |
Your own reference for the job, up to 120 characters. |
Returns
- Body
- Job
Definitions
Job
| Name | Path | Type | Description |
|---|---|---|---|
|
Job ID
|
id | string |
The ID of the job. |
|
Kind
|
kind | string |
The kind of render, such as screenshot or pdf. |
|
Status
|
status | string |
The job status. A job is finished when it is succeeded, failed or cancelled. |
|
Your reference
|
external_id | string |
The reference given when the job was started. |
|
Attempts
|
attempts | integer |
How many times the job has been run. |
|
Created at
|
created_at | date-time |
When the job was accepted. |
|
Started at
|
started_at | date-time |
When the job last started running. |
|
Completed at
|
completed_at | date-time |
When the job finished. |
|
Error code
|
error.code | string |
A stable code for the failure. |
|
Error message
|
error.message | string |
A readable description of the failure. |
|
Content type
|
result.content_type | string |
The media type of the result file. |
|
Size (bytes)
|
result.bytes | integer |
The size of the result file in bytes. |
|
SHA256 hash
|
result.sha256 | string |
The SHA-256 hash of the result file. |
|
Available
|
result.available | boolean |
Whether the result file can still be downloaded. |
|
Result expires at
|
result.expires_at | date-time |
When the hosted result file is deleted. |
|
Download link
|
result.url | string |
A signed link to the result file that needs no API key. |
|
Download link expires at
|
result.url_expires_at | date-time |
When the signed download link stops working. |
binary
This is the basic data type 'binary'.