HTML

Built-in step · 3 steps

Pull parts out of a web page with CSS selectors, and build HTML such as a table for an email.

Steps

StepWhat it does
Extract from a web pagePull parts out of a web page with CSS selectors: a headline, a price, every link, or a list of products with a name and price each.
Make an HTML tableTurn rows into an HTML table that looks right in an email: the rows of a sheet, or any records an earlier step returned, with a column per field.
Turn text into HTMLTurn Markdown or plain text into HTML for an email or a web page: headings, bold, lists, links and tables, with styles that email apps show.

Extract from a web page

Pull parts out of a web page with CSS selectors: a headline, a price, every link, or a list of products with a name and price each. Give it the page's address, or the HTML an earlier step fetched.

Inputs

Web pagepagetextRequired
The page to read: its address, such as https://example.com/pricing, or what an earlier step fetched, such as @response from an HTTP step (links then come back in full) or an email's HTML body.
Parts to pull outpartslistRequired
What to pull out of the page, each with a name and a CSS selector, as a browser's developer tools show it: h1, .price, #summary, a.next, table tr.
List ofeachtext
To read a list of things, a CSS selector for each of them, such as .product, article or table tr. The parts are then read inside each one, and the result is a list of records, one per match.

Outputs

What was pulled out. Each part is in 'parts' under its name (parts.price). With a List of, 'items' has one record per thing found, each with the parts under their names: loop over items, or read parts for the first one.

countnumber
How many items were found. 1 without a List of.
itemslist
With a List of, one record per thing found, each with the parts under their names, in page order. Otherwise a one-item list holding parts.
partsobject
Each part under its name: its text (or HTML, or the attribute asked for), a list of them when the part takes every match, or blank (null) when nothing matched. With a List of, the first item's parts.
titletext
The page's title, or empty.
urltext
The page's address, when it was fetched or came with one. Otherwise empty.
Example output
{
  "count": 1,
  "items": [
    {
      "features": [
        "Unlimited workflows",
        "Priority support",
        "Audit log"
      ],
      "name": "Pro plan",
      "price": "$49/month"
    }
  ],
  "parts": {
    "features": [
      "Unlimited workflows",
      "Priority support",
      "Audit log"
    ],
    "name": "Pro plan",
    "price": "$49/month"
  },
  "title": "Pricing \u2013 Acme",
  "url": "https://acme.test/pricing"
}

Make an HTML table

Turn rows into an HTML table that looks right in an email: the rows of a sheet, or any records an earlier step returned, with a column per field.

Inputs

RowsrowslistRequired
The rows, such as the rows a sheet or an earlier step returned. Each row's fields become the columns, named after them.
Columnscolumnslist
The columns to show, in order, by field name, such as Name and Email. Leave empty for every field, in the order they first appear.
Titletitletext
A title shown above the table, such as This week's signups. Leave empty for none.
Stylestyletext
Styled for an email, with the styles written into the HTML so every email app shows them, or plain, with no styles, for a web page or a template that has its own.One of: styled (Styled for an email), plain. Default: styled.

Outputs

The table as HTML, in 'html': put it in an email's body, on its own or inside other HTML.

columnslist
The columns shown, in order.
countnumber
How many rows the table has.
htmltext
The table's HTML: a header row, then a row per record.
Example output
{
  "columns": [
    "Company",
    "Seats",
    "Plan"
  ],
  "count": 2,
  "html": "<table style=\"border-collapse: collapse; width: 100%;\">\n<thead><tr><th>Company</th><th>Seats</th><th>Plan</th></tr></thead>\n<tbody><tr><td>Acme</td><td>12</td><td>Pro</td></tr>\n<tr><td>Northwind</td><td>3</td><td>Free</td></tr></tbody></table>"
}

Turn text into HTML

Turn Markdown or plain text into HTML for an email or a web page: headings, bold, lists, links and tables, with styles that email apps show. What an AI step writes in Markdown reads as it should.

Inputs

TexttexttextRequired
What to turn into HTML, written in Markdown (# Heading, **bold**, - list items, [links](https://…), | tables) or as plain text, where each line break is kept. HTML passes through as it is.
Stylestyletext
Styled for an email, with the styles written into the HTML so every email app shows them, or plain, with no styles, for a web page or a template that has its own.One of: styled (Styled for an email), plain. Default: styled.

Outputs

The HTML, in 'html', ready for an email's body, and the same words as plain text in 'text'.

htmltext
The text as HTML.
texttext
The same words as plain text, for an email's text-only version or a preview.
Example output
{
  "html": "<div style=\"font-family: -apple-system, sans-serif; font-size: 15px;\">\n<h2>Weekly summary</h2>\n<p>Three new customers signed up, and <strong>Acme</strong> upgraded to Pro.</p>\n</div>",
  "text": "Weekly summary\n\nThree new customers signed up, and Acme upgraded to Pro."
}

On this page