Multiline / Rich text field can't be filled with correctly formatted text by automation

Hi,
currently three seems to be no working way to add formatted text via an automation into a Rich Text field. Markdown doesn’t work and HTML is broken. Lists just don’t make get into the field.

Is there no supported way to have some formatted content added to a multiline field?

2 Likes

Okay, so I originally wrote a long post agreeing with @dirk_s about how bad the multiline text field is (and I still think it is!), complete with examples and a fair bit of frustration.

But while I was running through all those examples and getting increasingly wound up, I stumbled across a sort of workaround. So, here’s a way to add HTML to a multiline field via automation and get it to render roughly how you’d expect.

Before adding the HTML run the html through:

html = html.replace(/\s*\n\s*/g, '');

so a usage example:

let html = `
<body>
  <h1>Project Overview</h1>
  <p>A short intro paragraph explaining the purpose of this document and what you'll find below. Use this to quickly orient readers.</p>

  <h2>Goals</h2>
  <ul>
    <li>Organise project resources</li>
    <li>Define milestones</li>
    <li>Share quick links and notes</li>
  </ul>

  <h3>Milestone checklist</h3>
  <ul>
    <li>✅ Research &amp; planning</li>
    <li>⬜ Prototype</li>
    <li>⬜ User testing</li>
    <li>⬜ Launch</li>
  </ul>

  <h2>Features</h2>
  <ol>
    <li>Simple setup</li>
    <li>Clean UI
      <ul>
        <li>Responsive layout</li>
        <li>Accessible navigation</li>
      </ul>
    </li>
    <li>Extensible plugin system</li>
  </ol>

  <h2>Quick links</h2>
  <ul>
    <li><a href="https://example.com/repo">Project repo</a></li>
    <li><a href="https://example.com/design">Design board</a></li>
  </ul>

  <blockquote>
    <p>Tip: Keep each feature small and testable.</p>
  </blockquote>

  <h2>Code example</h2>
  <pre><code>// Start the server
const http = require('http');
http.createServer((req, res) =&gt; {
  res.end('Hello, world!');
}).listen(3000);
</code></pre>

  <h2>Example table</h2>
  <table>
    <thead>
      <tr><th>Component</th><th>Status</th><th>Owner</th></tr>
    </thead>
    <tbody>
      <tr><td>Backend API</td><td>In progress</td><td>Alex</td></tr>
      <tr><td>Frontend UX</td><td>Planned</td><td>Priya</td></tr>
      <tr><td>Docs</td><td>Draft</td><td>You</td></tr>
    </tbody>
  </table>

  <h2>Image (placeholder)</h2>
  <p><img src="https://images.jmc.tools/6cec4ecf-8968-44df-afc0-7bf15ae8e9fd
?text=Screenshot+placeholder" alt="Project screenshot" style="max-width:100%;height:auto"></p>

  <hr>
  <p><em>Last updated: 1 October 2025</em></p>
</body>`

html = html.replace(/\s*\n\s*/g, '');

const additional = `
<p style="color:red;">Lets have some red</p>
<p style="background:red; color:white;">Or background red</p>
`
const name = 'test 6';
await tape.Record.create(67467,{
    fields: {
        name,
        markdown,
        html,
        additional
    }
});

which will give you:

Obviously the table is messed up, the code block could be better and the image doesn’t display however its a lot better than before which looked like:

Conclusion

I still think the multiline text field is a bit of a mess and, honestly, it’s pushed me towards other tools more than once. I’m still desperately hoping for some big improvements in the new record view.

That said, stripping out the extra formatting from the HTML before adding it to the field via automation does help quite a lot.

4 Likes

Hi @dirk_s and @Jason,

Thank you so much for the honest feedback on the current Rich Text implementation in the multiline text field. We know that the current setup is not ideal. As I already discussed with Jason, we’re planning to roll out a plain text variant, as part of the upcoming field overhaul and the gradual upgrade of fields – so that users can store non-formatted text for use in automations as an intermediate storage and for similar scenarios. This has been a highly requested feature.

With your feedback in mind, we will also think about whether there might be a way to improve the regular Rich Text itself. We’ll discuss this internally as a team and see if there are options to address the points you mentioned. One of the tricky parts here is the migration, but maybe we can find another solution to improve this experience.

Once again, many thanks for your valuable feedback, we truly appreciate it and will take it into account as we shape the rollout strategy for the field upgrades and the new record.

Best regards and have a great evening,
Leo

2 Likes

That sounds amazing. Both parts.

I would love a field for plain text and also the ability to have better HTML handling!