Add your own custom blocks as components in GrapesJS. Save the generated HTML and CSS to your backend. When rendering, fetch that data, replace dynamic placeholders with reusable React components, and use API calls inside them to load and display real backend data.
I faced serious issues while developing builder, but thankfully I made it dynamic.