{"id":427377,"date":"2026-07-09T11:55:51","date_gmt":"2026-07-09T11:55:51","guid":{"rendered":"https:\/\/pandorafms.com\/?p=427377"},"modified":"2026-07-09T11:55:56","modified_gmt":"2026-07-09T11:55:56","slug":"safe-reuse-automations-msp-clients","status":"publish","type":"post","link":"https:\/\/pandorafms.com\/en\/it-topics\/safe-reuse-automations-msp-clients\/","title":{"rendered":"Safe reuse of automations across MSP clients"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;Section&#8221; _builder_version=&#8221;4.22.0&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;0px||0px||false|false&#8221; custom_padding=&#8221;0px||0px||false|false&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row column_structure=&#8221;1_4,3_4&#8243; _builder_version=&#8221;4.27.0&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;50px||||false|false&#8221; custom_css_main_element=&#8221;z-index:0!important;&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;1_4&#8243; disabled_on=&#8221;on|on|off&#8221; _builder_version=&#8221;4.22.0&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;||||false|false&#8221; sticky_position=&#8221;top&#8221; sticky_offset_top=&#8221;100px&#8221; sticky_limit_bottom=&#8221;section&#8221; motion_trigger_start=&#8221;top&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text admin_label=&#8221;indice&#8221; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||0px||false|false&#8221; custom_padding=&#8221;||14px||false|false&#8221; link_option_url=&#8221;#1&#8243; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p style=\"font-size: 0.9em; line-height: 1.4em; color: #333333;\"><strong>Sections<\/strong><\/p>\n<ul class=\"ittopicsul\">\n<li><a href=\"#1\">Why it is necessary to reuse automations in an MSP<\/a><\/li>\n<li><a href=\"#2\">The classic mistake: copying and pasting logic designed for a single client<\/a><\/li>\n<li><a href=\"#3\">What makes a reusable automation safe<\/a><\/li>\n<li><a href=\"#4\">What should not be reused without adaptation<\/a><\/li>\n<li><a href=\"#5\">How to design reusable automations in a multi-client environment<\/a><\/li>\n<li><a href=\"#6\">What changes when an MSP reuses with criteria<\/a><\/li>\n<li><a href=\"#7\">How Pandora FMS helps reuse automations across MSP clients<\/a><\/li>\n<li><a href=\"#8\">Conclusion<\/a><\/li>\n<\/ul>\n<p>[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;3_4&#8243; _builder_version=&#8221;4.27.0&#8243; _module_preset=&#8221;default&#8221; custom_css_main_element=&#8221;z-index:0!important;&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text admin_label=&#8221;seccion&#8221; module_id=&#8221;1&#8243; module_class=&#8221;ittopicscontent&#8221; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; z_index=&#8221;0&#8243; custom_margin=&#8221;0px||0px||true|false&#8221; custom_padding=&#8221;0px||0px||false|false&#8221; custom_css_main_element=&#8221;font-family:%22Pandora-Light%22;&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]he most important breakthrough in programming and IT, by far, is Ctrl+C and Ctrl+V. But everything has a dark side. When we talk about growing <a href=\"https:\/\/en.wikipedia.org\/wiki\/Managed_services\" target=\"_blank\" rel=\"noopener nofollow\">MSPs<\/a>, they must necessarily grow on the foundations of reusable <a href=\"https:\/\/en.wikipedia.org\/wiki\/Automation\" target=\"_blank\" rel=\"noopener nofollow\">automations<\/a>, because otherwise, it is impossible. When it works, it is great and we feel like kings. But the temptation to press Ctrl+C and Ctrl+V is powerful, and replicating automations as if client environments were identical opens Pandora\u2019s box, never better said in our case.<br \/>\nToday we will try to navigate those waters, analysing how to reuse what already works <strong>without dragging errors, rigidity or poisoned legacies<\/strong> from one environment to another.<br \/>\nAnd a small spoiler before we continue. Reuse does not mean wearing out the Ctrl, C and V keys on the keyboard from copying scripts so much.<br \/>\nThe key is to <strong>design them from scratch so they can be reused<\/strong>.<\/p>\n<h2 id=\"1\">Why it is necessary to reuse automations in an MSP<\/h2>\n<p>Basically, <strong>an MSP that does not reuse is condemned to redo the same work again and again<\/strong>. The same tedious suffering as Sisyphus pushing his stone uphill, but on top of that, billing hours that eat into an ever-shrinking profit margin.<br \/>\nWithout reuse, <strong>operational cost grows in parallel with the client portfolio<\/strong>, because of that need to build everything from scratch. Onboarding drags on forever and consistency between environments fades away, because each technician sets things up their own way, depending on which side of the bed they got out of that day.<br \/>\nReuse is what allows <a href=\"https:\/\/pandorafms.com\/en\/it-topics\/managing-hundreds-of-clients-msp-same-technical-team\/\" target=\"_blank\" rel=\"noopener\">scaling not to mean increasing the technical team<\/a> at the same pace as revenue, so it is the ingredient that allows the MSP to grow instead of making the challenge bigger.<\/p>\n<h2 id=\"2\">The classic mistake: copying and pasting logic designed for a single client<\/h2>\n<p>In the introduction, we already sensed a challenge that is worth expanding on.<br \/>\nSomeone solves a challenge for Client A, it works, it is great, we celebrate, pat ourselves on the back, and that same block tends to be replicated across clients B, C and D without changing a single comma.<br \/>\nBut all too often, that logic comes with embedded assumptions that were only true for A, so when we reuse it exactly as it is&#8230; No celebration, no pat on the back, no brilliance, just disaster.<br \/>\nThe usual suspects in those non-reusable automations are:<\/p>\n<ul class=\"lista\">\n<li><strong>Hardcoded scripts<\/strong> with paths, server names or identifiers that only exist in one environment.<\/li>\n<li><strong>Fixed thresholds<\/strong> that made sense for an SME with five machines and are a shot in the foot for a factory with five hundred.<\/li>\n<li><strong>Embedded credentials<\/strong> in the code which, besides being fragile, are the favourite breakfast of hackers and script kiddies.<\/li>\n<li><strong>Undocumented dependencies<\/strong>, because that previous library or service that must be installed and configured \u201cwas taken for granted\u201d, four words that prophesy overtime in IT.<\/li>\n<li><strong>Flows that assume specific topologies<\/strong>, as if all clients had the same network, when in real life they barely resemble each other.<\/li>\n<li><strong>Actions designed for a single context<\/strong>, which in another are like placing a bomb under the chair and lighting the fuse.<\/li>\n<\/ul>\n<p>The result is that an automation that saved ten minutes for client A causes B to go down and triggers the angry phone call.<br \/>\nAnd since <a href=\"https:\/\/pandorafms.com\/en\/it-topics\/mistakes-automating-processes-msp\/\" target=\"_blank\" rel=\"noopener\">mistakes when automating processes in an MSP<\/a> are multiplied by the number of affected clients, what was a stone in the road becomes a landslide that crushes us.<\/p>\n<h2 id=\"3\">What makes a reusable automation safe<\/h2>\n<p>Nothing is more irritating than pointing out challenges without providing solutions, so let us start with them.<br \/>\nThe good news is that the key difference between a dangerous automation and a reusable one is its design, so it does not come down purely to budget or access to arcane tools.<br \/>\nThus, <strong>an automation can be safely reused when it follows the following principles<\/strong>, which are also the ones we would apply to any code we want to keep alive:<\/p>\n<ul class=\"lista\">\n<li><strong>Parameters by client or type<\/strong>. The organisation must follow the good practice that logic should live in one place and the values that change within it should live somewhere else. This way, the <span style=\"font-family:Pando-Code; color:green;\">$threshold<\/span> variable <strong>is read from the client configuration<\/strong> and is not a specific value branded into line 42.<\/li>\n<li><strong>Separation between common logic and local variables<\/strong>. Again, what is done is shared, but the data it is done with is local to each client.<\/li>\n<li><strong>Permission control<\/strong>. This means each automation acts only where it should, adapting those permissions by client.<\/li>\n<li><strong>Traceability<\/strong>. Essential when something goes wrong and the \u201cblame game\u201d begins. In that game, it is crucial to know who executed what, with which parameters and with what result. Without this, the audit becomes an Agatha Christie novel to discover what happened.<\/li>\n<li><strong>Prior validation<\/strong>, obviously, before reuse acts \u201clive\u201d on anything that matters.<\/li>\n<li><strong>Exception handling<\/strong>, because assuming everything will go well is the favourite fantasy of the homemade script and, like the rest of the fantasies in IT, it always stays just that.<\/li>\n<li><strong>Rollback<\/strong>. In reality, we all know that the best invention in IT is Ctrl+Z to undo our messes. The equivalent of that shortcut must be included in every critical action, and we must be able to go back as soon as we start smelling the smoke from the fire.<\/li>\n<li><strong>Minimum operational documentation<\/strong>, so that the technician who arrives tomorrow does not have to decipher hieroglyphics.<\/li>\n<\/ul>\n<p>At this point, it is important not to confuse the concept of reuse with that of <a href=\"https:\/\/pandorafms.com\/en\/it-topics\/standardize-msp-services-scripts\/\" target=\"_blank\" rel=\"noopener\">standardising services without depending on manual scripts<\/A>.<br \/>\nStandardisation aims to define the expected behaviour and unify it, while reuse deploys it. They are not the same, but they need each other, since <strong>one without the other limps<\/strong>.<\/p>\n<h2 id=\"4\">What should not be reused without adaptation<\/h2>\n<p>Efficiency is wonderful until it deletes every file with a message saying: \u201cOops, I destroyed everything (proud smiling emoji with rosy cheeks)\u201d.<br \/>\nThat is why <strong>there are things that should not travel from one client to another without first going through a serious review<\/strong>.<br \/>\nThe criterion for deciding what needs to be properly verified is simple: <strong>If the cost of getting it wrong is high and context rules, we slow down<\/strong> and take a good look.<br \/>\nThat is why we should never reuse without adapting:<\/p>\n<ul class=\"lista\">\n<li><strong>Sensitive actions on production<\/strong>. Or those where a failure is measured by the number of lawsuits the client will file, rather than in minutes of downtime.<\/li>\n<li><strong>Flows that are highly dependent on specific topologies<\/strong>. Because if an infrastructure is very \u201cspecial\u201d, it will not allow reuse from others onto it, nor from it to other clients. For example, what is trivial in one network may be leaving the tap running in another when reuse is blind.<\/li>\n<li><strong>Remediations based on ambiguous signals<\/strong>. These have the same issue as a poorly calibrated Star Trek tricorder, so if the reading is not reliable, the action will not be reliable either. Therefore, we must avoid automatic actions based on hazy data.<\/li>\n<li><strong>Automations with thresholds that have not been validated<\/strong> in the new environment.<\/li>\n<li><strong>Critical tasks without a safety net<\/strong>. Which translates into the golden rule I will never get tired of repeating: No rollback, no reuse.<\/li>\n<li><strong>Handcrafted scripts accumulated with legacy logic<\/strong>, which nobody dares to touch because only Pascual knew what they did. But Pascual has been growing cabbages in Guatemala for two years now, because IT is an inexhaustible quarry of future farmers and poets who want nothing to do with technology.<\/li>\n<\/ul>\n<h2 id=\"5\">How to design reusable automations in a multi-client environment<\/h2>\n<p>Earlier I mentioned that good reuse is a matter of design, especially in a <a href=\"https:\/\/pandorafms.com\/en\/it-topics\/it-operational-efficiency\/\" target=\"_blank\" rel=\"noopener\">multi-client operation<\/A> like that of an MSP.<br \/>\nAnd what are the steps to follow in that best-practice-based design?<\/p>\n<ul class=\"lista\">\n<li><strong>Define common blocks<\/Strong>. Identifying the logic that truly repeats and isolating it as a reusable building block, not as an absolute truth to be cloned \u201cas is\u201d.<\/li>\n<li><strong>Parameterise by client<\/Strong>. When we sold them our services, we surely told them they were special. Now it is time to live up to that, and <strong>everything that changes between environments becomes an external variable, never a fixed value<\/Strong>.<\/li>\n<li><strong>Segment by type<\/Strong>. Grouping clients and assets by common characteristics, so that an Nginx server behaves the same regardless of who owns it.<\/li>\n<li><strong>Test in small groups<\/Strong>. Dipping a finger in the water to see how it is (or whether the pool is empty) is a good practice for everything related to IT. In this case, we should first deploy to a handful of controlled environments before applying automations to our entire fleet. As any prudent captain would say: \u201cShields up\u201d before entering unknown territory.<\/li>\n<li><strong>Document variables and limits<\/Strong>. Making it very clear, and very accessible, what can be changed, what cannot, and within which ranges.<\/li>\n<li><strong>Version changes<\/Strong>. Preferably avoiding names like <span style=\"font-family:Pando-Code;color:green;\">final_v2_now_really_this_time.ps1<\/span>. We must use real version control so that everyone uses the same validated logic.<\/li>\n<li><strong>Review real maintenance<\/Strong>. An automation is not a monument to our genius that we build and forget, leaving pigeons to decorate it over time. It is something alive that must be checked from time to time to see whether it works properly and still makes sense.<\/li>\n<li><strong>Limit exceptions outside the template<\/Strong>. Going back to \u201cspecial\u201d clients, there will necessarily be exceptions, but every \u201cunique case\u201d we define beyond variables is technical debt that our future self will pay back with interest. An excellent rule for life is to annoy our future self as little as possible, and this links directly to <a href=\"https:\/\/pandorafms.com\/en\/it-topics\/processes-to-automate-msp\/\" target=\"_blank\" rel=\"noopener\">which processes to automate first in an MSP<\/a>.<\/li>\n<\/ul>\n<h2 id=\"6\">What changes when an MSP reuses with criteria<\/h2>\n<p>Many technological promises do not translate well from the PowerPoint that sells them to the reality that lives them. But in this case, if there is good reuse, there will also be signs such as:<\/p>\n<ul class=\"lista\">\n<li><strong>Less repeated<\/Strong> and repetitive work, since what is solved once is applied to everyone sharing the same type.<\/li>\n<li><strong>Onboarding is faster<\/Strong>. A matter of hours, not a weeks-long ordeal.<\/li>\n<li><strong>Operations become more homogeneous<\/Strong>, with fewer surprises depending on who is on duty, which also translates into&#8230;<\/li>\n<li><strong>Reducing dependence on specific people<\/Strong>, because knowledge lives in the system and not in those geniuses on shift who, once again, are thinking more about cabbages than bits.<\/li>\n<li><strong>Maintenance cost decreases<\/Strong>, because updating common logic no longer means manually editing two hundred files as if the nineties had returned.<\/li>\n<li>Our <strong>capacity to scale and absorb new clients grows<\/Strong> without the team bursting into flames.<\/li>\n<li>But above all, we have <strong>better control over changes and errors<\/Strong>, which is what distinguishes an MSP that scales from one that grits its teeth and prays.<\/li>\n<\/ul>\n<h2 id=\"7\">How Pandora FMS helps reuse automations across MSP clients<\/h2>\n<p>At this point in the journey, it is time to bring all of this down to tools.<br \/>\nObviously, our bet to make the reuse process easier is Pandora FMS. And it is impossible for me to talk about it without bias; it is the tool I know and the organisation that names every one of its own servers after a Star Trek reference. However, what I can guarantee is honesty worthy of the Federation and that we sell technology, not smoke and mirrors.<br \/>\n<a href=\"https:\/\/pandorafms.com\/en\/it-topics\/automation-standardization-msp\/\" target=\"_blank\" rel=\"noopener\">Pandora FMS<\/a> is <strong>designed from the trenches of the multi-client environment<\/strong>, where reusing without losing control is daily bread.<br \/>\nIts <strong>reusable templates and policies<\/strong> encode operational knowledge once and apply it to all clients of the corresponding type. This way, a new device inherits the policy it needs without manual intervention or oversights.<br \/>\nThe possibility of <strong>segmentation by groups and clients<\/strong> enables the necessary separation when operating as multi-tenant.<br \/>\nThe <a href=\"https:\/\/pandorafms.com\/en\/it-topics\/telemetry-management-infrastructures-pandora-fms\/\" target=\"_blank\" rel=\"noopener\">inventory and operational context<\/a> prevent acting blindly, and <strong>centralised visibility<\/strong> from the Metaconsole provides a <a href=\"https:\/\/pandorafms.com\/en\/it-topics\/single-pane-of-glass\/\" target=\"_blank\" rel=\"noopener\">single pane of glass<\/A> to <a href=\"https:\/\/pandorafms.com\/en\/it-topics\/infrastructure-monitoring\/\" target=\"_blank\" rel=\"noopener\">supervise every environment<\/a> without blinking, like a benevolent Palantir that only corrupts your soul just enough.<br \/>\nAdded to all this is <strong>action traceability<\/strong>.<br \/>\nWith Pandora FMS, what was executed, with which version and with what result is recorded, something key for healthy <a href=\"https:\/\/pandorafms.com\/en\/it-topics\/it-change-management\/\" target=\"_blank\" rel=\"noopener\">change management<\/a> and audits that do not turn into everyone pointing fingers at everyone else.<br \/>\nAnd if security is part of the service (I do not know whether there is any environment left where it is not, especially in the current context), <a href=\"https:\/\/pandorafms.com\/blog\/es\/siem-pandora-fms-eventos-logs-informes\/\" target=\"_blank\" rel=\"noopener\">Pandora SIEM<\/a> unifies the <a href=\"https:\/\/pandorafms.com\/blog\/es\/consola-de-eventos-it\/\" target=\"_blank\" rel=\"noopener\">event console<\/a> and reduces <a href=\"https:\/\/pandorafms.com\/blog\/es\/exceso-de-alertas-monitorizacion\/\" target=\"_blank\" rel=\"noopener\">alert overload<\/a>, aligning with reference frameworks such as those from <a href=\"https:\/\/www.enisa.europa.eu\/\" target=\"_blank\" rel=\"noopener nofollow\">ENISA<\/a> or <a href=\"https:\/\/www.cisa.gov\/\" target=\"_blank\" rel=\"noopener nofollow\">CISA<\/a>.<br \/>\nThus, multi-client management scales in operations and security without control falling by the wayside.<\/p>\n<h2 id=\"8\">Conclusion<\/h2>\n<p> Let us recap the most important points. Reusing automations across clients <strong>is not about cloning scripts and crossing your fingers<\/strong>. It is about building common logic that is flexible and controlled enough to operate several environments without multiplying risk or work. The key that opens that double lock <strong>is design<\/strong>, parameterising instead of practising the noble art of hardcoding, segmenting rather than generalising, validating instead of assuming (which is always a first step towards disaster) and, above all, always keeping the retreat route open, in case an emergency Ctrl+Z needs to be pressed. If we do it this way, we will become an MSP that truly grows, instead of accumulating clients and, with them, scaling problems rather than operations. Trends are powerful, but automating any which way because it seems to be what everyone is doing today can buy us a one-way ticket to bankruptcy. Our mission is to boldly go where no one has gone before, yes, but not by dismantling the ship along the way.[\/et_pb_text][et_pb_button button_url=&#8221;@ET-DC@eyJkeW5hbWljIjp0cnVlLCJjb250ZW50IjoicG9zdF9saW5rX3VybF9wYWdlIiwic2V0dGluZ3MiOnsicG9zdF9pZCI6IjM2MjI3MCJ9fQ==@&#8221; button_text=&#8221;\u2190 Back to IT Topics&#8221; button_alignment=&#8221;left&#8221; _builder_version=&#8221;4.22.0&#8243; _dynamic_attributes=&#8221;button_url&#8221; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_size=&#8221;1em&#8221; button_text_color=&#8221;#0C312F&#8221; button_bg_color=&#8221;#FFFFFF&#8221; button_bg_color_gradient_direction=&#8221;90deg&#8221; button_bg_color_gradient_stops=&#8221;#82B92E 0%|#3CB92E 100%&#8221; button_bg_color_gradient_start=&#8221;#82B92E&#8221; button_bg_color_gradient_end=&#8221;#3CB92E&#8221; button_border_width=&#8221;1px&#8221; button_border_color=&#8221;#eaeaea&#8221; button_border_radius=&#8221;100px&#8221; button_use_icon=&#8221;off&#8221; z_index=&#8221;0&#8243; custom_margin=&#8221;60px||0px||false|false&#8221; custom_padding=&#8221;10px|50px|10px|50px|true|true&#8221; custom_padding_tablet=&#8221;&#8221; custom_padding_phone=&#8221;10px|20px|10px|20px|true|true&#8221; custom_padding_last_edited=&#8221;on|phone&#8221; custom_css_main_element=&#8221;right:0!important;||font-family:%22Pandora-Bold%22!important;&#8221; global_module=&#8221;367749&#8243; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221; button_bg_color__hover_enabled=&#8221;on|desktop&#8221; button_bg_color_gradient_start__hover=&#8221;#eaeaea&#8221; button_bg_color_gradient_end__hover=&#8221;#f4f4f4&#8243; button_bg_color__hover=&#8221;#eaeaea&#8221; button_bg_enable_color__hover=&#8221;on&#8221; button_bg_use_color_gradient__hover=&#8221;on&#8221; button_bg_color_gradient_stops__hover=&#8221;#eaeaea 0%|#f4f4f4 100%&#8221;][\/et_pb_button][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; custom_padding_last_edited=&#8221;on|desktop&#8221; admin_label=&#8221;Final CTA&#8221; _builder_version=&#8221;4.27.0&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#161327&#8243; use_background_color_gradient=&#8221;on&#8221; background_color_gradient_stops=&#8221;rgba(22,19,39,0.5) 17%|rgba(22,19,39,0.5) 100%&#8221; background_color_gradient_overlays_image=&#8221;on&#8221; background_image=&#8221;https:\/\/pandorafms.com\/wp-content\/uploads\/2023\/12\/banner-contacta-it-topics.webp&#8221; background_size=&#8221;custom&#8221; background_image_width=&#8221;121%&#8221; background_image_height=&#8221;192%&#8221; background_position=&#8221;top_left&#8221; z_index=&#8221;1&#8243; max_width=&#8221;1080px&#8221; max_width_tablet=&#8221;98%&#8221; max_width_phone=&#8221;98%&#8221; max_width_last_edited=&#8221;on|tablet&#8221; module_alignment=&#8221;center&#8221; custom_margin=&#8221;80px||80px||true|false&#8221; custom_padding=&#8221;40px|20px|120px|20px|false|true&#8221; custom_padding_tablet=&#8221;40px|0px|120px|0px|false|true&#8221; custom_padding_phone=&#8221;40px|0px|120px|0px|false|true&#8221; scroll_scaling=&#8221;40|55|85|100|100%|120%|100%&#8221; motion_trigger_start=&#8221;top&#8221; background_last_edited=&#8221;on|phone&#8221; background_size_tablet=&#8221;cover&#8221; background_size_phone=&#8221;cover&#8221; background_position_phone=&#8221;top_center&#8221; border_radii=&#8221;off|20px|20px|20px|20px&#8221; border_color_all=&#8221;#ffffff&#8221; box_shadow_style=&#8221;preset1&#8243; box_shadow_vertical=&#8221;0px&#8221; box_shadow_blur=&#8221;80px&#8221; box_shadow_color=&#8221;#506da0&#8243; saved_tabs=&#8221;all&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row use_custom_gutter=&#8221;on&#8221; gutter_width=&#8221;2&#8243; make_equal=&#8221;on&#8221; _builder_version=&#8221;4.22.0&#8243; _module_preset=&#8221;default&#8221; max_width=&#8221;750px&#8221; module_alignment=&#8221;center&#8221; custom_margin=&#8221;0px||0px||true|false&#8221; custom_padding=&#8221;0px|0px|0px|0px|true|true&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.22.0&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text content_tablet=&#8221;<\/p>\n<p class=%22h2-w%22>Habla con el equipo de ventas, pide presupuesto, o resuelve tus dudas sobre nuestras licencias<\/p>\n<p>&#8221; content_phone=&#8221;<\/p>\n<p class=%22h2-w%22>Habla con el equipo de ventas, resuelve tus dudas sobre nuestras licencias o pide presupuesto<\/p>\n<p>&#8221; content_last_edited=&#8221;on|tablet&#8221; _builder_version=&#8221;4.22.0&#8243; _module_preset=&#8221;default&#8221; header_2_font_size=&#8221;2em&#8221; text_orientation=&#8221;center&#8221; module_alignment=&#8221;left&#8221; custom_margin=&#8221;0px||20px||false|false&#8221; custom_padding=&#8221;0px||0px||true|false&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p class=\"h2-w\">Habla con el equipo de ventas, pide presupuesto, <br \/>o resuelve tus dudas sobre nuestras licencias<\/p>\n<p>[\/et_pb_text][et_pb_code _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; width=&#8221;200px&#8221; module_alignment=&#8221;center&#8221; custom_margin=&#8221;40px||0px||false|false&#8221; custom_padding=&#8221;0px||0px||true|false&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<div class=\"doblebtn\"><!-- [et_pb_line_break_holder] --><a class=\"prices-2024-btn\" style=\"padding:10px 30px!important\" href=\"https:\/\/pandorafms.com\/en\/contact\/\">\u00a1Contacta ahora!<\/a><\/div>\n<p>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sections Why it is necessary to reuse automations in an MSP The classic mistake: copying and pasting logic designed for a single client What makes a reusable automation safe What should not be reused without adaptation How to design reusable automations in a multi-client environment What changes when an MSP reuses with criteria How Pandora [&hellip;]<\/p>\n","protected":false},"author":33,"featured_media":427372,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","_joinchat":[],"footnotes":""},"categories":[3505,7798],"tags":[],"class_list":["post-427377","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-it-topics","category-msp-operations"],"_links":{"self":[{"href":"https:\/\/pandorafms.com\/en\/wp-json\/wp\/v2\/posts\/427377","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pandorafms.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pandorafms.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pandorafms.com\/en\/wp-json\/wp\/v2\/users\/33"}],"replies":[{"embeddable":true,"href":"https:\/\/pandorafms.com\/en\/wp-json\/wp\/v2\/comments?post=427377"}],"version-history":[{"count":3,"href":"https:\/\/pandorafms.com\/en\/wp-json\/wp\/v2\/posts\/427377\/revisions"}],"predecessor-version":[{"id":427387,"href":"https:\/\/pandorafms.com\/en\/wp-json\/wp\/v2\/posts\/427377\/revisions\/427387"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pandorafms.com\/en\/wp-json\/wp\/v2\/media\/427372"}],"wp:attachment":[{"href":"https:\/\/pandorafms.com\/en\/wp-json\/wp\/v2\/media?parent=427377"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pandorafms.com\/en\/wp-json\/wp\/v2\/categories?post=427377"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pandorafms.com\/en\/wp-json\/wp\/v2\/tags?post=427377"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}