Rich Text from Airtable to Webflow via Make

Hi,

I am trying to send rich text data from Airtable to Webflow using Make.com.

From what I understand, Airtable rich text fields are in markdown format. From what I understand, so are Webflow rich text fields.

But when I try to simply map the Airtable field to my Webflow CMS field, I get an error [400] Invalid request body.

Is anyone else ecountering this? Does anyone else here use the same workflow?

Would love to know your solution, as I have spent all day on this to no avail.

Thanks a lot.

Hi Tobias,

I have a similar use case (rich text from Airtable to Webflow) and haven’t been able to find a reliable way to send text over.

In Webflow the rich text field is stored as HTML, which is what it expects via the API. You can see an example of what this looks like by exporting one of your CMS collections and uploading to sheets/excel/etc.

The only way I’ve been able to get HTML out of Airtable is by storing the HTML in a short text field or a long text field without markdown features enabled.

If your text is predictable (only a couple heading types & links, for example) you could write a formula in Airtable that parses your rich text and converts it to HTML in a new field, and then try to call that via Make.

1 Like

Make has an MD to HTML converter as well.

https://www.make.com/en/help/app/markdown

Also HTML to MD which is surprisingly useful.

1 Like

Thank you. I actually did just that in the meantime. I exported a test from Webflow and pasted that HTML text back into Airtable. I pasted it into the original Rich Text field though. And that might be why I am still getting that error although I am sending HTML text. I will try the workaround with short text field now.

Hi, Michael. I am using that very same Markdown>HTML module. But it keeps throwing the same error message.

This is the HTML text, that the module is generating and which I am mapping to the rich text field.

"main-text":
"<p>Text</p>
<p><strong>Bold Text</strong></p>
<p><em>Italic Text</em></p>
"

This is what my body looks like. I am using this body all over the place without problems. The “main-text” field is the one I am mapping. As soo as I remove that field, I have no problems.

{

"fieldData": {

"name":
"{{14.`Webflow | Record Name [de]`}}",

"slug":
"{{14.`Webflow | URL [de]`}}",

"main-text":
"{{74.data}}"

  },

"cmsLocaleIds": [
    "{{var.organization.webflow_cmsLocaleId_de}}",
    "{{var.organization.webflow_cmsLocaleId_en}}"
  ]
}

That is not working for me. I am writing the output of the HTML module back into a single line text field in my Airtable record. Then I map this field to the Webflow field. Still getting the same error.

The single line text field from Airtable feeds the text as follows:

"main-text":
"<p>Text</p>
<p><strong>Bold Text</strong></p>
<p><em>Italic Text</em></p>
"

…not as a continuous string.

When I am publishing the exact same text from the MARKDOWNY>HMTL module via the Webflow API developer pages it works just fine.

This is the request:

curl --request POST \
     --url https://api.webflow.com/v2/collections/XXX/items/bulk \
     --header 'accept: application/json' \
     --header 'authorization: Bearer XXX' \
     --header 'content-type: application/json' \
     --data '
{
  "isArchived": false,
  "isDraft": false,
  "fieldData": {
    "main-text": "<p>Text</p> <p><strong>Bold Text</strong></p> <p><em>Italic Text</em></p>",
    "name": "apiTestItem",
    "slug": "apiTestItem"
  },
  "cmsLocaleIds": [
    "XXX",
    "XXX"
  ]
}
'

So what about the MAKE API call is throwing the error? The only difference I am seeing is that the “main-text” here is not stacked but in one string.

Try checking your line breaks, maybe try CRLF, LF, and no breaks.
Look for anything related to encoding, you probably need UTF-8? Check WF docs and Airtable docs
Check your headers to ensure they’re describing your payload the way WF expects

If you’re using direct API calls in Make, you can find services like postbin to post your data to, to see what exactly is different on the receiving end.

A few things I’d try in the
I’d check your headers,