Seatext library

How to Troubleshoot Connection Issues Between Odoo and SeaText

Connection issues between Odoo and SeaText usually come from one of three places: wrong API credentials, an Odoo instance that is not publicly reachable, or missing read/write permissions for the SeaText app. Start by...

Start with the three most common causes

Most Odoo–SeaText connection failures are not mysterious. They trace back to a short list of setup mistakes. Work through these checks before you reinstall anything or contact support.

  • API credentials are wrong or expired. A copied key can pick up a trailing space, or a token may have been rotated. Re-copy the credentials from your SeaText account and paste them into Odoo exactly as shown.
  • The Odoo instance is not publicly accessible. SeaText needs to reach your Odoo server over the internet. A localhost or intranet-only Odoo will fail. Use a real domain with a valid SSL certificate.
  • The SeaText app lacks read/write permissions. Odoo apps need explicit access rights. Check the user role tied to the integration and confirm it can read and write the models SeaText touches.

Diagnostic order: what to check first

Follow this sequence. It moves from the fastest checks to the ones that require more digging.

  1. Confirm the Odoo URL is reachable from outside your network. Open the Odoo instance in a private browser window on a different network, such as a phone on cellular data. If it does not load, fix hosting or firewall rules first.
  2. Verify the SeaText API key in Odoo. Log in to your SeaText account, copy the key again, and replace the value in Odoo. Save and test.
  3. Check the Odoo user role for the integration. Go to Settings > Users in Odoo and open the user linked to SeaText. Confirm the role has access to the Website module and any custom models SeaText needs.
  4. Look at Odoo server logs. Connection refused, 403, or 500 errors in the logs point to different fixes. A 403 usually means permissions; a connection refused usually means the server is not reachable.
  5. Test with a minimal page. Create a simple Odoo page, add the SeaText embed code, and load it. If the minimal page works, the issue is page-specific, not a global connection failure.

How the Odoo–SeaText connection actually works

SeaText does not run inside Odoo. It is a JavaScript snippet that you place on an Odoo page using the Website module's Embed Code block. The snippet loads from SeaText's servers and then talks back to your Odoo instance through the API credentials you configured.

That means there are two separate connections to check:

  • Browser to SeaText: The JavaScript must load from SeaText's CDN. If your site has a strict Content Security Policy, it can block the script.
  • SeaText to Odoo: SeaText's backend must reach your Odoo API. If Odoo sits behind a firewall, VPN, or IP allowlist, SeaText cannot connect.

If the script loads but data does not sync, the problem is almost always the second connection.

Common mistakes that look like connection issues

SymptomLikely causeFix
SeaText widget does not appear on the pageEmbed code placed in the wrong block or hidden by visibility settingsRe-add the Embed Code block and check the Visibility section in Odoo
Widget appears but shows no dataAPI key invalid or Odoo API blockedRe-copy the key and test the Odoo URL from an external network
Works on desktop but not mobileBlock hidden on desktop or mobile visibility ruleCheck the Hide on Desktop and mobile visibility options in Odoo
Works on one page but not anotherPage-specific caching or a different templateClear the page cache and compare the embed code on both pages
Connection drops after a few minutesSession timeout or longpolling port blockedCheck Odoo longpolling configuration and firewall rules

Step-by-step fix for the most common failure

If you are seeing a blank widget or an API error, do this in order:

  1. Log in to your Odoo account and open the Website module.
  2. Navigate to the page where you placed the SeaText embed code.
  3. Click Edit, find the Embed Code block, and open it.
  4. Delete the old code and paste a fresh snippet from your SeaText account.
  5. Click Save, then open the page in an incognito window.
  6. If the widget still does not load, check the browser console for blocked requests. A Content Security Policy error means you need to allow SeaText's script domain.
  7. If the console shows a 403 or 401 from the SeaText API, the API key or permissions are wrong. Re-check the key and the Odoo user role.

When the problem is on the Odoo side

Some failures have nothing to do with SeaText. Odoo itself can refuse connections for reasons that look like an integration bug.

  • Longpolling port 8072 is blocked. Odoo uses this port for real-time features. If your hosting provider blocks it, the connection may drop intermittently.
  • PostgreSQL connection pool is exhausted. Too many open connections can cause 500 errors. Restart the Odoo service and check the database connection limit.
  • Odoo is in developer mode with a stale cache. Clear the Odoo cache and restart the service before retesting.
  • SSL certificate is expired or misconfigured. SeaText will refuse to connect to an Odoo instance with an invalid certificate. Renew the certificate and force HTTPS.

Key facts about the SeaText–Odoo integration

FactDetail
Installation methodJavaScript snippet placed in Odoo's Website module using the Embed Code block
Account requirementYou need a SeaText account before installing the script
Domain restrictionEach SeaText account is linked to a single primary URL; localhost and development URLs are restricted
Multiple domainsUse separate SeaText accounts for each domain, including development and production
Activation stateThe AI remains inert until activated, so an inactive script will not show any connection activity

Limitations and when this advice does not apply

This troubleshooting path assumes you are using the standard SeaText JavaScript installation on a publicly hosted Odoo instance. It does not cover custom Odoo modules, on-premise servers behind complex network topologies, or cases where a third-party proxy or CDN sits in front of Odoo.

If your Odoo instance is hosted on a shared server with aggressive mod_security rules, the SeaText API calls may be blocked even when credentials are correct. In that case, ask your hosting provider to whitelist SeaText's API endpoints.

Also, if you are using a development domain such as localhost, SeaText will not work by design. The source documentation states that development URLs are restricted for security reasons. Use a real, valid domain for testing.

Frequently asked questions

Why does SeaText work on my staging site but not production?

Each SeaText account is tied to one primary URL. If you used the same account for both domains, the production domain will not be recognized. Create a separate SeaText account for the production domain.

How do I know if the API key is the problem?

Open the browser developer console on the page with the SeaText widget. A 401 Unauthorized response from the SeaText API means the key is invalid or expired. A 403 Forbidden response usually means the key is valid but the Odoo user role lacks permissions.

Can I use SeaText with a localhost Odoo instance?

No. SeaText restricts development URLs such as localhost for security reasons. You need a publicly reachable domain with a valid SSL certificate.

What should I check if the widget loads but shows stale data?

Clear the Odoo page cache and any CDN cache in front of your site. Then check that the SeaText script is not being served from a cached version. If the problem persists, verify that the Odoo API is returning fresh data by calling it directly with a tool like curl or Postman.

Does SeaText require any special Odoo modules?

No. The integration uses the standard Website module and the Embed Code block. You do not need to install a custom Odoo module for the basic connection.

How long should I wait before retrying after a failed connection?

There is no fixed wait time. Fix the underlying cause first, then retest immediately. If you are rate-limited by the SeaText API, wait a few minutes and try again.

Further reading and comparison sources

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

How SeaText can help

SeaText is installed as a JavaScript snippet inside Odoo's Website module, so there is no custom Odoo module to maintain. The installation process is secure, and the AI remains inert until you activate it, which means a connection problem will not alter your live content. If you need to test on a development domain, remember that SeaText restricts localhost and requires a real, valid domain for each account. For production and staging environments, create separate SeaText accounts so each domain has its own primary URL.