# Best Approach for Rich Text Autosave in WeWeb + Xano

**URL:** <https://community.weweb.io/t/best-approach-for-rich-text-autosave-in-weweb-xano/21128>\
**Category:** How do I?\
**Created:** [April 28, 2026, 7:13am UTC](https://community.weweb.io/t/best-approach-for-rich-text-autosave-in-weweb-xano/21128 "2026-04-28T07:13:22Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Farouk](https://sea2.discourse-cdn.com/flex016/user_avatar/community.weweb.io/farouk/32/15528_2.png) [@Farouk](https://community.weweb.io/u/Farouk)\
**Post date:** [April 28, 2026, 7:13am UTC](https://community.weweb.io/t/best-approach-for-rich-text-autosave-in-weweb-xano/21128/1 "2026-04-28T07:13:22Z")

</div>

Hello,  
What is the best approach to implement an autosave feature for a Rich Text field between WeWeb and Xano?

Thanks in advance,

---

<div class="post-metadata">

**Author:** ![Batik\_Okazov](https://sea2.discourse-cdn.com/flex016/user_avatar/community.weweb.io/batik_okazov/32/12688_2.png) [@Batik\_Okazov](https://community.weweb.io/u/Batik_Okazov)\
**Post date:** [April 29, 2026, 3:00pm UTC](https://community.weweb.io/t/best-approach-for-rich-text-autosave-in-weweb-xano/21128/2 "2026-04-29T15:00:22Z")

</div>

@Farouk ,

hey, not sure if it suits your goal, but I’d set debounce on rich text element and create a “onChange” workflow that makes post/patch/put api-call to xano for data saving.

---

<div class="post-metadata">

**Author:** ![thijs](https://sea2.discourse-cdn.com/flex016/user_avatar/community.weweb.io/thijs/32/13651_2.png) [@thijs](https://community.weweb.io/u/thijs)\
**Post date:** [June 8, 2026, 8:12pm UTC](https://community.weweb.io/t/best-approach-for-rich-text-autosave-in-weweb-xano/21128/3 "2026-06-08T20:12:39Z")

</div>

Hi @Farouk,

I’m not sure if this is what you mean with an ‘autosave’ feature, but this method doesn’t require the user to press a save button:

In my experience, the ‘on change’ workflow with debounce interrupts the typing - resulting in a bad user experience. Fast users/typers want a short debounce time, but then there are the 2 finger typers that take ages to type and the debounce will have placed the cursor somewhere else so it messes up their flow. After endless trial and error, I found the best to do is this:

First, to keep things bundled: make the rich text element into a component and add two variables in that component:

- ValueChanged (boolean)
- NewValue

Then add three workflows:

1. On click: passthrough check that ‘ValueChanged’ is false, then record the initial value to NewValue.
2. On change: record changes (set debounce off)
3. On blur: passthough check that ‘ValuedChanged’ is true, then make API call to record the change. Plus, set ‘ValueChanged’ back to false.

Another benefit of this method is that you can log changes in the backend that actually make some sense (otherwise you will have many records with just a couple of words changed each time when relying on the debounce).

And if you want to get fancy, then add another variable: ValueSaved (boolean) and add to the last workflow that this is true after successful recording and then set it back to false after a 1 second delay or so. This you can use to give a green glow or whatever as a nice user experience.
