{"id":9076,"date":"2026-09-01T05:25:44","date_gmt":"2026-09-01T05:25:44","guid":{"rendered":"https:\/\/aboutknowledge.com\/?p=9076"},"modified":"2026-09-01T09:30:56","modified_gmt":"2026-09-01T09:30:56","slug":"odoo-server-actions-a-practical-guide","status":"publish","type":"post","link":"https:\/\/aboutknowledge.com\/zh\/odoo-server-actions-a-practical-guide\/","title":{"rendered":"Odoo Server Actions: A Practical Guide"},"content":{"rendered":"<h2>What a server action is<\/h2>\n<p>A <strong>server action<\/strong> is a defined piece of work Odoo can carry out on a record: update a field, create a record, send an email, run a sequence of other actions.<\/p>\n<p>The difference from an automated action is <strong>what starts it<\/strong>.<\/p>\n<p><strong>An automated action<\/strong> fires on its own when something happens \u2014 a record is created, a field changes.<\/p>\n<p><strong>A server action<\/strong> is a reusable piece of work that can be triggered several ways: from a button, from a menu item, on a schedule, or by an automated action calling it.<\/p>\n<p>Think of an automated action as the trigger and a server action as the thing being done. In practice they overlap, and the useful distinction is reusability.<\/p>\n<div style=\"border:1px solid #e0e0e0;border-radius:6px;padding:18px 20px;margin:24px 0;background:#fafafa\">\n<p style=\"font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:#5C3A52;font-weight:700;margin:0 0 14px\">FIGURE 1: TRIGGER OR ACTION?<\/p>\n<div style=\"display:flex;flex-wrap:wrap;gap:14px\">\n<div style=\"flex:1 1 200px;min-width:200px;background:#fff;border:1px solid #e6e6e6;border-radius:5px;padding:14px 16px\">\n<p style=\"margin:0 0 8px;font-weight:700;color:#5C3A52;font-size:14px\">Automated action<\/p>\n<ul style=\"margin:0;padding-left:18px;color:#5a5a5a;font-size:13px;line-height:1.6\">\n<li>Fires by itself when something happens<\/li>\n<li>Tied to one model and one condition<\/li>\n<li>Good for &#8220;when X, do Y&#8221;<\/li>\n<\/ul>\n<\/div>\n<div style=\"flex:1 1 200px;min-width:200px;background:#fff;border:1px solid #e6e6e6;border-radius:5px;padding:14px 16px\">\n<p style=\"margin:0 0 8px;font-weight:700;color:#5C3A52;font-size:14px\">Server action<\/p>\n<ul style=\"margin:0;padding-left:18px;color:#5a5a5a;font-size:13px;line-height:1.6\">\n<li>A defined piece of work, reusable<\/li>\n<li>Run from a button, a menu, a schedule, or another action<\/li>\n<li>Good for &#8220;do Y, whenever we need it&#8221;<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<h2>What they can do without code<\/h2>\n<p>Odoo offers several action types, and most everyday needs are covered without writing anything.<\/p>\n<p><strong>Update a record.<\/strong> Set a field on the record you are working with, or on a related one.<\/p>\n<p><strong>Create a record.<\/strong> Make a new record of any type \u2014 an activity, a task, a follow-up.<\/p>\n<p><strong>Send an email.<\/strong> Using a template.<\/p>\n<p><strong>Add followers.<\/strong> So the right people are notified of changes.<\/p>\n<p><strong>Send a notification.<\/strong> To a user, in the interface.<\/p>\n<p><strong>Run several actions.<\/strong> Group actions together and run them as one.<\/p>\n<p><strong>Execute Python code.<\/strong> Where the logic is beyond the above. This is developer territory and should live in a module rather than in a configuration screen.<\/p>\n<h2>Where they earn their place<\/h2>\n<p>Three patterns cover most real use.<\/p>\n<h3>1. A button on a form<\/h3>\n<p>The most visible use. Add a server action to the Action menu of a record, and users can run it on demand.<\/p>\n<p><strong>Examples:<\/strong> mark an order as reviewed and notify the manager, create a standard set of follow-up activities, apply a set of default values.<\/p>\n<p><strong>Why it helps:<\/strong> it turns a five-click routine into one click, and it makes sure the routine is done the same way every time.<\/p>\n<h3>2. Called by an automated action<\/h3>\n<p>The automated action decides when. The server action does the work.<\/p>\n<p><strong>Why separate them:<\/strong> if three different conditions should produce the same result, you write the work once and reference it three times. Change it in one place.<\/p>\n<h3>3. On a schedule<\/h3>\n<p>Attached to a scheduled job that runs nightly, hourly or weekly.<\/p>\n<p><strong>Examples:<\/strong> flag records that have sat too long, produce a daily summary, clean up drafts older than a set period.<\/p>\n<div style=\"border:1px solid #e0e0e0;border-radius:6px;padding:18px 20px;margin:24px 0;background:#fafafa\">\n<p style=\"font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:#5C3A52;font-weight:700;margin:0 0 14px\">FIGURE 2: THREE WAYS TO USE ONE<\/p>\n<div style=\"display:flex;flex-wrap:wrap;gap:14px\">\n<div style=\"flex:1 1 200px;min-width:200px;background:#fff;border:1px solid #e6e6e6;border-radius:5px;padding:14px 16px\">\n<p style=\"margin:0 0 8px;font-weight:700;color:#5C3A52;font-size:14px\">On a button<\/p>\n<ul style=\"margin:0;padding-left:18px;color:#5a5a5a;font-size:13px;line-height:1.6\">\n<li>Users run it on demand from a record. Turns a routine into one click.<\/li>\n<\/ul>\n<\/div>\n<div style=\"flex:1 1 200px;min-width:200px;background:#fff;border:1px solid #e6e6e6;border-radius:5px;padding:14px 16px\">\n<p style=\"margin:0 0 8px;font-weight:700;color:#5C3A52;font-size:14px\">From an automated action<\/p>\n<ul style=\"margin:0;padding-left:18px;color:#5a5a5a;font-size:13px;line-height:1.6\">\n<li>The trigger decides when, the server action does the work. Write it once, use it several times.<\/li>\n<\/ul>\n<\/div>\n<div style=\"flex:1 1 200px;min-width:200px;background:#fff;border:1px solid #e6e6e6;border-radius:5px;padding:14px 16px\">\n<p style=\"margin:0 0 8px;font-weight:700;color:#5C3A52;font-size:14px\">On a schedule<\/p>\n<ul style=\"margin:0;padding-left:18px;color:#5a5a5a;font-size:13px;line-height:1.6\">\n<li>Runs nightly or weekly. Flag stale records, send summaries, tidy up.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<h2>Bulk operations<\/h2>\n<p>A use worth knowing about because it saves real time.<\/p>\n<p>A server action added to a <strong>list view<\/strong> can run on many records at once. Select fifty records, run the action, and it applies to all of them.<\/p>\n<p><strong>Examples:<\/strong> set a field across a batch, add a tag, create an activity for each.<\/p>\n<p><strong>Test it on two records first.<\/strong> A bulk action applied to eight hundred records with wrong logic is a bad afternoon, and undoing it may not be possible.<\/p>\n<h2>The limits<\/h2>\n<p>Four, and knowing them saves you from building something that becomes a problem.<\/p>\n<p><strong>Complex logic.<\/strong> If describing the rule takes a paragraph with several exceptions, it belongs in a module where it can be reviewed and tested.<\/p>\n<p><strong>No test-then-release.<\/strong> A server action applies to your live system as soon as it is saved. There is no staging step unless you deliberately build the action in a separate database and recreate it.<\/p>\n<p><strong>No history of why.<\/strong> Like Studio changes, these are configured by clicking. Nothing records who created it or what problem it solved.<\/p>\n<p><strong>Python code in a configuration field.<\/strong> Odoo allows it. It is a poor place for real logic \u2014 no version control, no code review, no way to see it changed. If you need Python, put it in a module.<\/p>\n<h2>The mess that accumulates<\/h2>\n<p>The same pattern as automated actions, and it is worth naming.<\/p>\n<p>A company adds a few server actions. Sensible ones. Two years later there are thirty, created by different people, and nobody remembers what half of them do.<\/p>\n<p>Then something behaves oddly and somebody has to work out which of thirty actions is responsible.<\/p>\n<p><strong>Three safeguards:<\/strong><\/p>\n<p><strong>Name them properly.<\/strong> Not &#8220;Server Action 4&#8221;. Something that says what it does \u2014 &#8220;Notify manager: order over 50k&#8221;.<\/p>\n<p><strong>Keep a written log.<\/strong> What, when, why, who asked for it. A shared document is enough.<\/p>\n<p><strong>Review every six months.<\/strong> Deactivate what is no longer used. Actions outlive the situations that created them.<\/p>\n<div style=\"border:1px solid #e0e0e0;border-radius:6px;padding:18px 20px;margin:24px 0;background:#fafafa\">\n<p style=\"font-size:12px;letter-spacing:.5px;text-transform:uppercase;color:#5C3A52;font-weight:700;margin:0 0 14px\">FIGURE 3: MANAGEABLE AND UNMANAGEABLE<\/p>\n<div style=\"display:flex;flex-wrap:wrap;gap:14px\">\n<div style=\"flex:1 1 200px;min-width:200px;background:#fff;border:1px solid #e6e6e6;border-radius:5px;padding:14px 16px\">\n<p style=\"margin:0 0 8px;font-weight:700;color:#0F9E96;font-size:14px\">Well managed<\/p>\n<ul style=\"margin:0;padding-left:18px;color:#5a5a5a;font-size:13px;line-height:1.6\">\n<li>Descriptive names<\/li>\n<li>A written note of why each exists<\/li>\n<li>Tested on a small selection first<\/li>\n<li>Reviewed twice a year<\/li>\n<\/ul>\n<\/div>\n<div style=\"flex:1 1 200px;min-width:200px;background:#fff;border:1px solid #e6e6e6;border-radius:5px;padding:14px 16px\">\n<p style=\"margin:0 0 8px;font-weight:700;color:#B04A4A;font-size:14px\">Accumulated<\/p>\n<ul style=\"margin:0;padding-left:18px;color:#5a5a5a;font-size:13px;line-height:1.6\">\n<li>Names like &#8220;Server Action 7&#8221;<\/li>\n<li>Nobody remembers the reason<\/li>\n<li>Python logic in a settings field<\/li>\n<li>Never reviewed since setup<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<h2>Testing safely<\/h2>\n<p>Two habits that prevent most accidents.<\/p>\n<p><strong>Test in a staging database first<\/strong> \u2014 a neutralised copy of production, so test emails do not reach real customers and scheduled jobs do not fire against live systems.<\/p>\n<p><strong>Start narrow.<\/strong> Run it on one or two records. Check the result. Then widen.<\/p>\n<p>The temptation is to run it across everything immediately. The cost of that going wrong is much higher than the ten minutes of patience.<\/p>\n<h2>Before you build one<\/h2>\n<p>Four questions.<\/p>\n<p><strong>Does a setting already do this?<\/strong> Odoo has follow-up levels, activity scheduling and reordering rules built in. Check first.<\/p>\n<p><strong>What happens if it runs wrongly?<\/strong> An email to the wrong person is embarrassing. A field updated across thousands of records is worse. Consider the blast radius before, not after.<\/p>\n<p><strong>How will we know it stopped working?<\/strong> Scheduled actions fail quietly.<\/p>\n<p><strong>Who owns it?<\/strong> Somebody should be able to explain it in a year.<\/p>\n<h2>When to use a module instead<\/h2>\n<p>Move to code when:<\/p>\n<ul>\n<li>The logic needs more than a couple of conditions<\/li>\n<li>It runs at high volume<\/li>\n<li>You need it tested before it reaches production<\/li>\n<li>You need a record of what changed and why<\/li>\n<li>It has to talk to another system<\/li>\n<li>You would be uncomfortable explaining it to an auditor from memory<\/li>\n<\/ul>\n<p><strong>That last one is a good test.<\/strong> If the rule matters enough to defend, it should live where it is documented and reviewable.<\/p>\n<h2>The short version<\/h2>\n<p>Server actions are the <strong>reusable work<\/strong> in Odoo&#8217;s automation \u2014 run from a button, a schedule, or by an automated action.<\/p>\n<p>They are genuinely useful for routine operations, and they cover more than people expect without any code.<\/p>\n<p><strong>The risk is accumulation.<\/strong> Thirty undocumented actions that nobody can untangle.<\/p>\n<p>Name them well, write down why, test narrow, and review twice a year. That is the whole discipline.<\/p>\n<div style=\"border-left:4px solid #5C3A52;background:#F7F3F6;padding:18px 22px;margin:28px 0;border-radius:0 6px 6px 0\">\n<p style=\"margin:0 0 6px;font-weight:700;color:#5C3A52;font-size:16px\">Routine tasks eating your team&#8217;s time?<\/p>\n<p style=\"margin:0;color:#5a5a5a\">Get in touch. We will look at what can be turned into a one-click action and what genuinely needs a module \u2014 and document both.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>What a server action is A server action is a defined piece of work Odoo can carry out on a record: update a field, create a record, send an email, run a sequence of other actions. The difference from an automated action is what starts it. An automated action fires on its own when something [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":9077,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25],"tags":[],"class_list":["post-9076","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-odoo"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.4 (Yoast SEO v28.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Odoo Server Actions: A Practical Guide | AboutKnowledge<\/title>\n<meta name=\"description\" content=\"Learn how Odoo server actions work, how they differ from automated actions, and what you can automate without code. A practical guide for Odoo users.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/aboutknowledge.com\/zh\/odoo-server-actions-a-practical-guide\/\" \/>\n<meta property=\"og:locale\" content=\"zh_HK\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Odoo Server Actions: A Practical Guide\" \/>\n<meta property=\"og:description\" content=\"Learn how Odoo server actions work, how they differ from automated actions, and what you can automate without code. A practical guide for Odoo users.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/aboutknowledge.com\/zh\/odoo-server-actions-a-practical-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"AboutKnowledge\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/aboutknowledge28\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-01T05:25:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-01T09:30:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/aboutknowledge.com\/wp-content\/uploads\/2026\/09\/istockphoto-2237346478-612x612-1.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"612\" \/>\n\t<meta property=\"og:image:height\" content=\"344\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"kopraveen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"kopraveen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 \u5206\u9418\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/odoo-server-actions-a-practical-guide\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/odoo-server-actions-a-practical-guide\\\/\"},\"author\":{\"name\":\"kopraveen\",\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/#\\\/schema\\\/person\\\/f14efbc95a95a4cec982367fb079cdf4\"},\"headline\":\"Odoo Server Actions: A Practical Guide\",\"datePublished\":\"2026-09-01T05:25:44+00:00\",\"dateModified\":\"2026-09-01T09:30:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/odoo-server-actions-a-practical-guide\\\/\"},\"wordCount\":1222,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/odoo-server-actions-a-practical-guide\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/aboutknowledge.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/istockphoto-2237346478-612x612-1.webp\",\"articleSection\":[\"Odoo\"],\"inLanguage\":\"zh-HK\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/aboutknowledge.com\\\/odoo-server-actions-a-practical-guide\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/odoo-server-actions-a-practical-guide\\\/\",\"url\":\"https:\\\/\\\/aboutknowledge.com\\\/odoo-server-actions-a-practical-guide\\\/\",\"name\":\"Odoo Server Actions: A Practical Guide | AboutKnowledge\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/odoo-server-actions-a-practical-guide\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/odoo-server-actions-a-practical-guide\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/aboutknowledge.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/istockphoto-2237346478-612x612-1.webp\",\"datePublished\":\"2026-09-01T05:25:44+00:00\",\"dateModified\":\"2026-09-01T09:30:56+00:00\",\"description\":\"Learn how Odoo server actions work, how they differ from automated actions, and what you can automate without code. A practical guide for Odoo users.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/odoo-server-actions-a-practical-guide\\\/#breadcrumb\"},\"inLanguage\":\"zh-HK\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/aboutknowledge.com\\\/odoo-server-actions-a-practical-guide\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-HK\",\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/odoo-server-actions-a-practical-guide\\\/#primaryimage\",\"url\":\"https:\\\/\\\/aboutknowledge.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/istockphoto-2237346478-612x612-1.webp\",\"contentUrl\":\"https:\\\/\\\/aboutknowledge.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/istockphoto-2237346478-612x612-1.webp\",\"width\":612,\"height\":344},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/odoo-server-actions-a-practical-guide\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/aboutknowledge.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Odoo Server Actions: A Practical Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/#website\",\"url\":\"https:\\\/\\\/aboutknowledge.com\\\/\",\"name\":\"AboutKnowledge\",\"description\":\"System Integrator You Can Trust\",\"publisher\":{\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/aboutknowledge.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-HK\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/#organization\",\"name\":\"AboutKnowledge (Hong Kong) Limited\",\"url\":\"https:\\\/\\\/aboutknowledge.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-HK\",\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/aboutknowledge.com\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/aboutknowledge.com\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/logo.png\",\"width\":560,\"height\":256,\"caption\":\"AboutKnowledge (Hong Kong) Limited\"},\"image\":{\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/aboutknowledge28\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/104125547\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/aboutknowledge.com\\\/#\\\/schema\\\/person\\\/f14efbc95a95a4cec982367fb079cdf4\",\"name\":\"kopraveen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-HK\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1e4b2c06a01572b023ee9a6a7052f720b27e9c900dc4222fd2882d26d352bf7a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1e4b2c06a01572b023ee9a6a7052f720b27e9c900dc4222fd2882d26d352bf7a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1e4b2c06a01572b023ee9a6a7052f720b27e9c900dc4222fd2882d26d352bf7a?s=96&d=mm&r=g\",\"caption\":\"kopraveen\"},\"url\":\"https:\\\/\\\/aboutknowledge.com\\\/zh\\\/author\\\/kopraveen\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Odoo Server Actions: A Practical Guide | AboutKnowledge","description":"Learn how Odoo server actions work, how they differ from automated actions, and what you can automate without code. A practical guide for Odoo users.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/aboutknowledge.com\/zh\/odoo-server-actions-a-practical-guide\/","og_locale":"zh_HK","og_type":"article","og_title":"Odoo Server Actions: A Practical Guide","og_description":"Learn how Odoo server actions work, how they differ from automated actions, and what you can automate without code. A practical guide for Odoo users.","og_url":"https:\/\/aboutknowledge.com\/zh\/odoo-server-actions-a-practical-guide\/","og_site_name":"AboutKnowledge","article_publisher":"https:\/\/www.facebook.com\/aboutknowledge28\/","article_published_time":"2026-09-01T05:25:44+00:00","article_modified_time":"2026-09-01T09:30:56+00:00","og_image":[{"width":612,"height":344,"url":"https:\/\/aboutknowledge.com\/wp-content\/uploads\/2026\/09\/istockphoto-2237346478-612x612-1.webp","type":"image\/webp"}],"author":"kopraveen","twitter_card":"summary_large_image","twitter_misc":{"Written by":"kopraveen","Est. reading time":"6 \u5206\u9418"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/aboutknowledge.com\/odoo-server-actions-a-practical-guide\/#article","isPartOf":{"@id":"https:\/\/aboutknowledge.com\/odoo-server-actions-a-practical-guide\/"},"author":{"name":"kopraveen","@id":"https:\/\/aboutknowledge.com\/#\/schema\/person\/f14efbc95a95a4cec982367fb079cdf4"},"headline":"Odoo Server Actions: A Practical Guide","datePublished":"2026-09-01T05:25:44+00:00","dateModified":"2026-09-01T09:30:56+00:00","mainEntityOfPage":{"@id":"https:\/\/aboutknowledge.com\/odoo-server-actions-a-practical-guide\/"},"wordCount":1222,"commentCount":0,"publisher":{"@id":"https:\/\/aboutknowledge.com\/#organization"},"image":{"@id":"https:\/\/aboutknowledge.com\/odoo-server-actions-a-practical-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/aboutknowledge.com\/wp-content\/uploads\/2026\/09\/istockphoto-2237346478-612x612-1.webp","articleSection":["Odoo"],"inLanguage":"zh-HK","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/aboutknowledge.com\/odoo-server-actions-a-practical-guide\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/aboutknowledge.com\/odoo-server-actions-a-practical-guide\/","url":"https:\/\/aboutknowledge.com\/odoo-server-actions-a-practical-guide\/","name":"Odoo Server Actions: A Practical Guide | AboutKnowledge","isPartOf":{"@id":"https:\/\/aboutknowledge.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/aboutknowledge.com\/odoo-server-actions-a-practical-guide\/#primaryimage"},"image":{"@id":"https:\/\/aboutknowledge.com\/odoo-server-actions-a-practical-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/aboutknowledge.com\/wp-content\/uploads\/2026\/09\/istockphoto-2237346478-612x612-1.webp","datePublished":"2026-09-01T05:25:44+00:00","dateModified":"2026-09-01T09:30:56+00:00","description":"Learn how Odoo server actions work, how they differ from automated actions, and what you can automate without code. A practical guide for Odoo users.","breadcrumb":{"@id":"https:\/\/aboutknowledge.com\/odoo-server-actions-a-practical-guide\/#breadcrumb"},"inLanguage":"zh-HK","potentialAction":[{"@type":"ReadAction","target":["https:\/\/aboutknowledge.com\/odoo-server-actions-a-practical-guide\/"]}]},{"@type":"ImageObject","inLanguage":"zh-HK","@id":"https:\/\/aboutknowledge.com\/odoo-server-actions-a-practical-guide\/#primaryimage","url":"https:\/\/aboutknowledge.com\/wp-content\/uploads\/2026\/09\/istockphoto-2237346478-612x612-1.webp","contentUrl":"https:\/\/aboutknowledge.com\/wp-content\/uploads\/2026\/09\/istockphoto-2237346478-612x612-1.webp","width":612,"height":344},{"@type":"BreadcrumbList","@id":"https:\/\/aboutknowledge.com\/odoo-server-actions-a-practical-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/aboutknowledge.com\/"},{"@type":"ListItem","position":2,"name":"Odoo Server Actions: A Practical Guide"}]},{"@type":"WebSite","@id":"https:\/\/aboutknowledge.com\/#website","url":"https:\/\/aboutknowledge.com\/","name":"AboutKnowledge","description":"System Integrator You Can Trust","publisher":{"@id":"https:\/\/aboutknowledge.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/aboutknowledge.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-HK"},{"@type":"Organization","@id":"https:\/\/aboutknowledge.com\/#organization","name":"AboutKnowledge (Hong Kong) Limited","url":"https:\/\/aboutknowledge.com\/","logo":{"@type":"ImageObject","inLanguage":"zh-HK","@id":"https:\/\/aboutknowledge.com\/#\/schema\/logo\/image\/","url":"https:\/\/aboutknowledge.com\/wp-content\/uploads\/2021\/11\/logo.png","contentUrl":"https:\/\/aboutknowledge.com\/wp-content\/uploads\/2021\/11\/logo.png","width":560,"height":256,"caption":"AboutKnowledge (Hong Kong) Limited"},"image":{"@id":"https:\/\/aboutknowledge.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/aboutknowledge28\/","https:\/\/www.linkedin.com\/company\/104125547"]},{"@type":"Person","@id":"https:\/\/aboutknowledge.com\/#\/schema\/person\/f14efbc95a95a4cec982367fb079cdf4","name":"kopraveen","image":{"@type":"ImageObject","inLanguage":"zh-HK","@id":"https:\/\/secure.gravatar.com\/avatar\/1e4b2c06a01572b023ee9a6a7052f720b27e9c900dc4222fd2882d26d352bf7a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1e4b2c06a01572b023ee9a6a7052f720b27e9c900dc4222fd2882d26d352bf7a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1e4b2c06a01572b023ee9a6a7052f720b27e9c900dc4222fd2882d26d352bf7a?s=96&d=mm&r=g","caption":"kopraveen"},"url":"https:\/\/aboutknowledge.com\/zh\/author\/kopraveen\/"}]}},"_links":{"self":[{"href":"https:\/\/aboutknowledge.com\/zh\/wp-json\/wp\/v2\/posts\/9076","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aboutknowledge.com\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aboutknowledge.com\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aboutknowledge.com\/zh\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/aboutknowledge.com\/zh\/wp-json\/wp\/v2\/comments?post=9076"}],"version-history":[{"count":1,"href":"https:\/\/aboutknowledge.com\/zh\/wp-json\/wp\/v2\/posts\/9076\/revisions"}],"predecessor-version":[{"id":9078,"href":"https:\/\/aboutknowledge.com\/zh\/wp-json\/wp\/v2\/posts\/9076\/revisions\/9078"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aboutknowledge.com\/zh\/wp-json\/wp\/v2\/media\/9077"}],"wp:attachment":[{"href":"https:\/\/aboutknowledge.com\/zh\/wp-json\/wp\/v2\/media?parent=9076"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aboutknowledge.com\/zh\/wp-json\/wp\/v2\/categories?post=9076"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aboutknowledge.com\/zh\/wp-json\/wp\/v2\/tags?post=9076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}