Seatext library

Do I Need to Restart Odoo After Updating SeaText Code?

No, you do not need to restart your Odoo server after updating the SeaText JavaScript snippet. SeaText integrates through Odoo's website builder using an Embed Code block, which is a frontend-only change. The update...

No, you do not need to restart your Odoo server after updating the SeaText code. SeaText integrates by pasting a JavaScript snippet into an Embed Code block inside Odoo's website editor. That operation lives entirely in the frontend; Odoo serves the updated page immediately after you click Save.

The only step that sometimes helps is clearing Odoo's website cache (or your browser cache) so visitors see the new script right away. A full server restart is only required when you change Python modules (.py files) or modify the database schema — neither of which happens when you update a SeaText snippet.

Why SeaText Updates Are Frontend-Only

SeaText does not install a Python module on your Odoo server. Instead, you copy a JavaScript snippet from your SeaText dashboard and paste it into an Embed Code block under Dynamic Content in the website editor. The snippet loads SeaText's AI agents from SeaText's cloud infrastructure. Your Odoo instance simply serves the HTML page that contains the script tag.

Because no server-side code changes, Odoo does not need to reload models, regenerate assets, or restart workers. The change is comparable to editing a text block or swapping an image — it is reflected the moment the page is saved and published.

How Odoo's Website Builder Handles Code Blocks

When you drag an Embed Code block onto a page and paste the SeaText snippet, Odoo stores that block as part of the page's XML/HTML structure in the database. The website renderer reads that structure on every request and streams the resulting HTML to the browser. Updating the block content updates the stored structure; the next page view includes the new script automatically.

Odoo's website cache (controlled by website.cache or the Clear cache button in the editor toolbar) may serve a stale version for a short time. Clicking Clear cache in the editor or waiting for the cache TTL to expire is usually enough. No systemctl restart odoo is involved.

When a Server Restart Is Actually Required in Odoo

Restarting the Odoo service is necessary only for changes that affect the Python runtime or the database schema:

  • Adding, modifying, or removing Python files (.py) in custom or third-party modules
  • Changing model definitions (fields, constraints, computed methods)
  • Installing or upgrading a module that declares new models or alters existing ones
  • Updating translation files (.po) that are loaded at server start
  • Changing server configuration parameters (odoo.conf)

SeaText's JavaScript snippet touches none of these. It is a static asset reference embedded in a page template.

Step-by-Step: Updating the SeaText Snippet in Odoo

  1. Log in to your Odoo backend and open the Website app.
  2. Navigate to the page where the SeaText Embed Code block lives (often the homepage or a global footer/layout page).
  3. Click Edit to enter the website builder.
  4. Locate the Embed Code block (under Dynamic Content). Click it to open the right-side panel.
  5. Replace the existing snippet with the new one from your SeaText dashboard.
  6. Click Save in the panel, then click Save again in the top-right corner of the editor.
  7. Optional: Click the Clear cache icon (broom) in the editor toolbar to force immediate propagation.
  8. Visit the live page in an incognito window to verify the new script loads.

That is the entire process. No terminal access, no systemctl, no database migration.

Cache Behaviour and How to Force a Refresh

Odoo caches rendered pages to improve performance. The cache key includes the page URL and the current website. When you save a page, Odoo invalidates that page's cache entry automatically in most versions. However, if you have a reverse proxy (Nginx, Cloudflare, Varnish) or a CDN in front of Odoo, those layers may hold their own cached copies.

  • Odoo internal cache: Cleared by the Clear cache button in the editor or by the automatic invalidation on save.
  • Browser cache: Hard-refresh (Ctrl+Shift+R / Cmd+Shift+R) or open in incognito.
  • Reverse proxy / CDN: Purge the specific URL or use cache-busting query parameters (e.g., ?v=2) if you control the proxy config.

None of these layers require an Odoo service restart.

Common Scenarios and Troubleshooting

Scenario 1: You updated the snippet but still see the old SeaText version

Clear Odoo's website cache first. If the problem persists, check whether a front-end proxy or CDN is caching the page. Purge that cache or wait for its TTL to expire.

Scenario 2: You added the snippet to a global layout (header/footer) but changes don't appear on all pages

Odoo's website builder lets you edit layout elements in Customize mode. Ensure you saved the layout change, not just a single page. Then clear the website cache.

Scenario 3: You installed a SeaText Odoo module from the Apps store (if one exists)

If you ever install a proper Odoo module (Python + XML) for SeaText, that does require a server restart after installation or upgrade. The JavaScript embed method described here does not.

Key Facts

Aspect Detail
Integration method JavaScript snippet in Embed Code block (Dynamic Content)
Server-side changes None
Restart required No
Cache clear recommended Yes, via editor toolbar or incognito test
When restart is needed Python module changes, model changes, config changes
Source SeaText Odoo Integration guide (S1)

Limitations and Exceptions

  • If you move from the embed-code method to a custom Odoo module that injects the script via a QWeb template, that module installation/upgrade will need a restart.
  • If your Odoo instance runs in a managed SaaS (Odoo.sh, Odoo Online) you cannot restart the server yourself anyway; the platform handles restarts after module upgrades.
  • SeaText's snippet is loaded from SeaText's CDN. If the snippet URL changes (rare), you must update the embed block — still no restart.

FAQ

Do I need to upgrade any Odoo module after changing the SeaText snippet?

No. The snippet is plain JavaScript stored in the page content. No module upgrade is involved.

Will visitors see the update instantly?

Usually yes, once Odoo's page cache invalidates (on save) and any front-end proxy cache expires. Use the Clear cache button in the editor for immediate effect.

What if I pasted the snippet into a theme template file on the filesystem?

Editing template files (.xml or .html) under a custom theme module requires a server restart (or at least a module upgrade) because Odoo loads those templates at startup. The Embed Code block method avoids this entirely.

Can I use SeaText on multiple Odoo websites (multi-website)?

Yes. Each website can have its own Embed Code block with a different SeaText snippet (each snippet is tied to a SeaText account/domain). Manage them independently in each website's editor.

Does SeaText work on Odoo.sh or Odoo Online?

Yes. The embed-code method works on any Odoo edition that includes the Website app, including SaaS and Odoo.sh, because it requires no server-side installation.

What happens if I forget to clear the cache?

Visitors may see the old snippet until the cache TTL expires (typically a few minutes to an hour depending on configuration). No functionality breaks; it is only a timing issue.

Further reading and comparison sources

These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.

Learn more

Visit the website for more information.