[{"data":1,"prerenderedAt":894},["ShallowReactive",2],{"handbook-\u002Fhandbook\u002Fengineering\u002Fops":3,"handbook-nav":188},{"id":4,"title":5,"body":6,"description":177,"extension":181,"meta":182,"navigation":183,"path":184,"seo":185,"stem":186,"__hash__":187},"handbook\u002Fhandbook\u002Fengineering\u002Fops\u002Findex.md","Platform Ops",{"type":7,"value":8,"toc":176},"minimark",[9,13,66,71,87,148,151],[10,11,5],"h1",{"id":12},"platform-ops",[14,15,16,24,30,36,42,48,54,60],"ul",{},[17,18,19],"li",{},[20,21,23],"a",{"href":22},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fobservability\u002F","Observability",[17,25,26],{},[20,27,29],{"href":28},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fstaging\u002F","Staging Environment",[17,31,32],{},[20,33,35],{"href":34},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fproduction\u002F","Production Environment",[17,37,38],{},[20,39,41],{"href":40},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fdeployment\u002F","Deployment",[17,43,44],{},[20,45,47],{"href":46},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fincident-response\u002F","Incident Response",[17,49,50],{},[20,51,53],{"href":52},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fdedicated\u002F","FlowFuse Dedicated",[17,55,56],{},[20,57,59],{"href":58},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fproduction-stack-update\u002F","Updating Stacks",[17,61,62],{},[20,63,65],{"href":64},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fself-hosted-assistant\u002F","Self Hosted Assistant",[67,68,70],"h2",{"id":69},"cicd","CI\u002FCD",[72,73,74,75,81,82,86],"p",{},"As part of our CI\u002FCD pipeline in our ",[20,76,80],{"href":77,"rel":78},"https:\u002F\u002Fgithub.com\u002FFlowFuse\u002Fflowfuse\u002F",[79],"nofollow","@flowfuse\u002Fflowfuse"," repository, we perform the following actions when code is merged to the ",[83,84,85],"code",{},"main"," branch:",[88,89,90,98,116,126,134,145],"ol",{},[17,91,92,93],{},"Several backend and UI tests are executed against the code by ",[20,94,97],{"href":95,"rel":96},"https:\u002F\u002Fgithub.com\u002FFlowFuse\u002Fflowfuse\u002Fblob\u002Fmain\u002F.github\u002Fworkflows\u002Ftests.yml",[79],"this pipeline",[17,99,100,101,106,107,110,111,115],{},"Once all tests complete with success, ",[20,102,105],{"href":103,"rel":104},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@flowfuse\u002Fflowfuse",[79],"FlowFuse npm package"," is built and published to the npm registry with a ",[83,108,109],{},"nightly"," tag by ",[20,112,97],{"href":113,"rel":114},"https:\u002F\u002Fgithub.com\u002FFlowFuse\u002Fflowfuse\u002Factions\u002Fworkflows\u002Fpublish.yml",[79],".",[17,117,118,106,121,110,123,115],{},[20,119,105],{"href":103,"rel":120},[79],[83,122,109],{},[20,124,97],{"href":113,"rel":125},[79],[17,127,128,129],{},"The same pipeline triggers another action, responsible for ",[20,130,133],{"href":131,"rel":132},"https:\u002F\u002Fgithub.com\u002FFlowFuse\u002Fhelm\u002Factions\u002Fworkflows\u002Fflowforge-container.yml",[79],"building a container image",[17,135,136,137,141,142,144],{},"Container image build pipeline uses ",[20,138,140],{"href":103,"rel":139},[79],"flowfuse npm package"," created in step 1 (tagged as ",[83,143,109],{},") to build a fresh container image",[17,146,147],{},"The resulting image is used to perform deployment on both staging and production environments.",[72,149,150],{},"You can read more about our various environments here:",[14,152,153,161,170],{},[17,154,155,160],{},[20,156,159],{"href":157,"rel":158},"https:\u002F\u002Fflowfuse.com\u002Fhandbook\u002Fengineering\u002Fcontributing\u002F#test-changes-in-staging",[79],"Pre Staging"," - used for each individual pull request as part of the code review process.",[17,162,163,166,167,169],{},[20,164,165],{"href":28},"Staging"," - triggered by merge to ",[83,168,85],{}," branch, used for testing the full application, without fear of damaging the production environment.",[17,171,172,175],{},[20,173,174],{"href":34},"Production"," - the live environment that our customers use.",{"title":177,"searchDepth":178,"depth":178,"links":179},"",2,[180],{"id":69,"depth":178,"text":70},"md",{"navTitle":5},true,"\u002Fhandbook\u002Fengineering\u002Fops",{"title":5,"description":177},"handbook\u002Fengineering\u002Fops\u002Findex","UeHl-PONxAz_mdvIROoyy_0Y34DDybPyKJzFLxT1qh4",[189],{"title":190,"path":191,"stem":192,"children":193},"Handbook","\u002Fhandbook","handbook",[194,197,318,348,538,614,673,799],{"title":195,"path":191,"stem":196},"FlowFuse Handbook","handbook\u002Findex",{"title":198,"path":199,"stem":200,"children":201},"Company","\u002Fhandbook\u002Fcompany","handbook\u002Fcompany\u002Findex",[202,203,207,211,215,233,237,241,245,310,314],{"title":198,"path":199,"stem":200},{"title":204,"path":205,"stem":206},"Board meetings","\u002Fhandbook\u002Fcompany\u002Fboard","handbook\u002Fcompany\u002Fboard",{"title":208,"path":209,"stem":210},"Communication","\u002Fhandbook\u002Fcompany\u002Fcommunication","handbook\u002Fcompany\u002Fcommunication",{"title":212,"path":213,"stem":214},"How we make decisions","\u002Fhandbook\u002Fcompany\u002Fdecisions","handbook\u002Fcompany\u002Fdecisions",{"title":216,"path":217,"stem":218,"children":219},"Guides","\u002Fhandbook\u002Fcompany\u002Fguides","handbook\u002Fcompany\u002Fguides\u002Findex",[220,221,225,229],{"title":216,"path":217,"stem":218},{"title":222,"path":223,"stem":224},"How to use Git","\u002Fhandbook\u002Fcompany\u002Fguides\u002Fgit","handbook\u002Fcompany\u002Fguides\u002Fgit",{"title":226,"path":227,"stem":228},"Google Workspace","\u002Fhandbook\u002Fcompany\u002Fguides\u002Fgworkspace","handbook\u002Fcompany\u002Fguides\u002Fgworkspace",{"title":230,"path":231,"stem":232},"Markdown Guide","\u002Fhandbook\u002Fcompany\u002Fguides\u002Fmarkdown","handbook\u002Fcompany\u002Fguides\u002Fmarkdown",{"title":234,"path":235,"stem":236},"Organizational Structure","\u002Fhandbook\u002Fcompany\u002Forganizational-structure","handbook\u002Fcompany\u002Forganizational-structure",{"title":238,"path":239,"stem":240},"Principles","\u002Fhandbook\u002Fcompany\u002Fprinciples","handbook\u002Fcompany\u002Fprinciples",{"title":242,"path":243,"stem":244},"Remote Work","\u002Fhandbook\u002Fcompany\u002Fremote","handbook\u002Fcompany\u002Fremote",{"title":246,"path":247,"stem":248,"children":249},"Security","\u002Fhandbook\u002Fcompany\u002Fsecurity","handbook\u002Fcompany\u002Fsecurity\u002Findex",[250,251,255,259,263,267,271,275,279,283,287,291,295,299,302,306],{"title":246,"path":247,"stem":248},{"title":252,"path":253,"stem":254},"Access Control Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Faccess-control","handbook\u002Fcompany\u002Fsecurity\u002Faccess-control",{"title":256,"path":257,"stem":258},"AI Development and Customer Data Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fai-development-and-customer-data","handbook\u002Fcompany\u002Fsecurity\u002Fai-development-and-customer-data",{"title":260,"path":261,"stem":262},"Asset Management Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fasset-management","handbook\u002Fcompany\u002Fsecurity\u002Fasset-management",{"title":264,"path":265,"stem":266},"Business Continuity & Disaster Recovery Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fbusiness-continuity","handbook\u002Fcompany\u002Fsecurity\u002Fbusiness-continuity",{"title":268,"path":269,"stem":270},"Computer Security","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fcomputer-security","handbook\u002Fcompany\u002Fsecurity\u002Fcomputer-security",{"title":272,"path":273,"stem":274},"Cryptography Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fcryptography","handbook\u002Fcompany\u002Fsecurity\u002Fcryptography",{"title":276,"path":277,"stem":278},"Data Management Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fdata-management","handbook\u002Fcompany\u002Fsecurity\u002Fdata-management",{"title":280,"path":281,"stem":282},"Human Resources Security Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fhuman-resources","handbook\u002Fcompany\u002Fsecurity\u002Fhuman-resources",{"title":284,"path":285,"stem":286},"Incident Response Plan","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fincident-response","handbook\u002Fcompany\u002Fsecurity\u002Fincident-response",{"title":288,"path":289,"stem":290},"Information Security Policy and Acceptable Use Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Finformation-security","handbook\u002Fcompany\u002Fsecurity\u002Finformation-security",{"title":292,"path":293,"stem":294},"Information Security Roles and Responsibilities","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Finformation-security-roles","handbook\u002Fcompany\u002Fsecurity\u002Finformation-security-roles",{"title":296,"path":297,"stem":298},"Operations Security Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Foperations-security","handbook\u002Fcompany\u002Fsecurity\u002Foperations-security",{"title":276,"path":300,"stem":301},"\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Frisk-management","handbook\u002Fcompany\u002Fsecurity\u002Frisk-management",{"title":303,"path":304,"stem":305},"Secure Development Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fsecure-development","handbook\u002Fcompany\u002Fsecurity\u002Fsecure-development",{"title":307,"path":308,"stem":309},"Third-Party Risk Management Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fthird-party-risk-management","handbook\u002Fcompany\u002Fsecurity\u002Fthird-party-risk-management",{"title":311,"path":312,"stem":313},"Strategy","\u002Fhandbook\u002Fcompany\u002Fstrategy","handbook\u002Fcompany\u002Fstrategy",{"title":315,"path":316,"stem":317},"Values","\u002Fhandbook\u002Fcompany\u002Fvalues","handbook\u002Fcompany\u002Fvalues",{"title":319,"path":320,"stem":321,"children":322},"Design","\u002Fhandbook\u002Fdesign","handbook\u002Fdesign\u002Findex",[323,324,328,332,336,340,344],{"title":319,"path":320,"stem":321},{"title":325,"path":326,"stem":327},"Art Requests","\u002Fhandbook\u002Fdesign\u002Fart-requests","handbook\u002Fdesign\u002Fart-requests",{"title":329,"path":330,"stem":331},"FlowFuse Branding Guidelines","\u002Fhandbook\u002Fdesign\u002Fbranding","handbook\u002Fdesign\u002Fbranding",{"title":333,"path":334,"stem":335},"Design Thinking","\u002Fhandbook\u002Fdesign\u002Fdesign-thinking","handbook\u002Fdesign\u002Fdesign-thinking",{"title":337,"path":338,"stem":339},"Process","\u002Fhandbook\u002Fdesign\u002Fprocess","handbook\u002Fdesign\u002Fprocess",{"title":341,"path":342,"stem":343},"Tools","\u002Fhandbook\u002Fdesign\u002Ftools","handbook\u002Fdesign\u002Ftools",{"title":345,"path":346,"stem":347},"Videos","\u002Fhandbook\u002Fdesign\u002Fvideos","handbook\u002Fdesign\u002Fvideos",{"title":349,"path":350,"stem":351,"children":352},"Engineering","\u002Fhandbook\u002Fengineering","handbook\u002Fengineering\u002Findex",[353,354,372,376,398,428,432,491,495,517,521,535],{"title":349,"path":350,"stem":351},{"title":355,"path":356,"stem":357,"children":358},"Contributing","\u002Fhandbook\u002Fengineering\u002Fcontributing","handbook\u002Fengineering\u002Fcontributing\u002Findex",[359,360,364,368],{"title":355,"path":356,"stem":357},{"title":361,"path":362,"stem":363},"Certified Nodes","\u002Fhandbook\u002Fengineering\u002Fcontributing\u002Fcertified-nodes","handbook\u002Fengineering\u002Fcontributing\u002Fcertified-nodes",{"title":365,"path":366,"stem":367},"Setting up a local FF Tables test environment","\u002Fhandbook\u002Fengineering\u002Fcontributing\u002Fff-tables","handbook\u002Fengineering\u002Fcontributing\u002Fff-tables",{"title":369,"path":370,"stem":371},"FlowFuse Team NPM Registry","\u002Fhandbook\u002Fengineering\u002Fcontributing\u002Fteam-npm-registry","handbook\u002Fengineering\u002Fcontributing\u002Fteam-npm-registry",{"title":373,"path":374,"stem":375},"Dependency Updates","\u002Fhandbook\u002Fengineering\u002Fdependency-updates","handbook\u002Fengineering\u002Fdependency-updates",{"title":377,"path":378,"stem":379,"children":380},"Front-End","\u002Fhandbook\u002Fengineering\u002Ffrontend","handbook\u002Fengineering\u002Ffrontend\u002Findex",[381,382,386,390,394],{"title":377,"path":378,"stem":379},{"title":383,"path":384,"stem":385},"Data Attributes","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Fdata-attributes","handbook\u002Fengineering\u002Ffrontend\u002Fdata-attributes",{"title":387,"path":388,"stem":389},"Front-End Layouts","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Flayouts","handbook\u002Fengineering\u002Ffrontend\u002Flayouts",{"title":391,"path":392,"stem":393},"Services","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Fservices","handbook\u002Fengineering\u002Ffrontend\u002Fservices",{"title":395,"path":396,"stem":397},"Front-End Testing","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Ftesting","handbook\u002Fengineering\u002Ffrontend\u002Ftesting",{"title":5,"path":184,"stem":186,"children":399},[400,401,404,408,411,414,417,421,425],{"title":5,"path":184,"stem":186},{"title":53,"path":402,"stem":403},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fdedicated","handbook\u002Fengineering\u002Fops\u002Fdedicated",{"title":405,"path":406,"stem":407},"Dependencies within the CI\u002FCD process","\u002Fhandbook\u002Fengineering\u002Fops\u002Fdeployment","handbook\u002Fengineering\u002Fops\u002Fdeployment",{"title":47,"path":409,"stem":410},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fincident-response","handbook\u002Fengineering\u002Fops\u002Fincident-response",{"title":23,"path":412,"stem":413},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fobservability","handbook\u002Fengineering\u002Fops\u002Fobservability",{"title":35,"path":415,"stem":416},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fproduction","handbook\u002Fengineering\u002Fops\u002Fproduction",{"title":418,"path":419,"stem":420},"How to Update Stacks on Production","\u002Fhandbook\u002Fengineering\u002Fops\u002Fproduction-stack-update","handbook\u002Fengineering\u002Fops\u002Fproduction-stack-update",{"title":422,"path":423,"stem":424},"FlowFuse Expert","\u002Fhandbook\u002Fengineering\u002Fops\u002Fself-hosted-assistant","handbook\u002Fengineering\u002Fops\u002Fself-hosted-assistant",{"title":29,"path":426,"stem":427},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fstaging","handbook\u002Fengineering\u002Fops\u002Fstaging",{"title":429,"path":430,"stem":431},"Packaging Guidelines","\u002Fhandbook\u002Fengineering\u002Fpackaging","handbook\u002Fengineering\u002Fpackaging",{"title":433,"path":434,"stem":435,"children":436},"Product","\u002Fhandbook\u002Fengineering\u002Fproduct","handbook\u002Fengineering\u002Fproduct\u002Findex",[437,438,442,446,450,454,458,464,468,471,475,479,483,487],{"title":433,"path":434,"stem":435},{"title":439,"path":440,"stem":441},"Blueprints","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fblueprints","handbook\u002Fengineering\u002Fproduct\u002Fblueprints",{"title":443,"path":444,"stem":445},"Node-RED Dashboard 2.0 - Project","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fdashboard","handbook\u002Fengineering\u002Fproduct\u002Fdashboard",{"title":447,"path":448,"stem":449},"Product Feedback","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Ffeedback","handbook\u002Fengineering\u002Fproduct\u002Ffeedback",{"title":451,"path":452,"stem":453},"Glossary","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fglossary","handbook\u002Fengineering\u002Fproduct\u002Fglossary",{"title":455,"path":456,"stem":457},"Product Metrics","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fmetrics","handbook\u002Fengineering\u002Fproduct\u002Fmetrics",{"title":459,"path":460,"stem":461,"children":462},"Personas","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fpersonas","handbook\u002Fengineering\u002Fproduct\u002Fpersonas\u002Findex",[463],{"title":459,"path":460,"stem":461},{"title":465,"path":466,"stem":467},"Pricing Principles","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fpricing","handbook\u002Fengineering\u002Fproduct\u002Fpricing",{"title":238,"path":469,"stem":470},"\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fprinciples","handbook\u002Fengineering\u002Fproduct\u002Fprinciples",{"title":472,"path":473,"stem":474},"Product Strategy","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fstrategy","handbook\u002Fengineering\u002Fproduct\u002Fstrategy",{"title":476,"path":477,"stem":478},"Product Growth","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Ftelemetry","handbook\u002Fengineering\u002Fproduct\u002Ftelemetry",{"title":480,"path":481,"stem":482},"Versioning","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fversioning","handbook\u002Fengineering\u002Fproduct\u002Fversioning",{"title":484,"path":485,"stem":486},"Market Segments","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fverticals","handbook\u002Fengineering\u002Fproduct\u002Fverticals",{"title":488,"path":489,"stem":490},"Vision","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fvision","handbook\u002Fengineering\u002Fproduct\u002Fvision",{"title":492,"path":493,"stem":494},"Project Management","\u002Fhandbook\u002Fengineering\u002Fproject-management","handbook\u002Fengineering\u002Fproject-management",{"title":496,"path":497,"stem":498,"children":499},"Releases","\u002Fhandbook\u002Fengineering\u002Freleases","handbook\u002Fengineering\u002Freleases\u002Findex",[500,501,505,509,513],{"title":496,"path":497,"stem":498},{"title":502,"path":503,"stem":504},"Dashboard 2.0 Release Process","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fdashboard-2","handbook\u002Fengineering\u002Freleases\u002Fdashboard-2",{"title":506,"path":507,"stem":508},"Digital Ocean Release Process","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fdigital-ocean","handbook\u002Fengineering\u002Freleases\u002Fdigital-ocean",{"title":510,"path":511,"stem":512},"Release Process","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fprocess","handbook\u002Fengineering\u002Freleases\u002Fprocess",{"title":514,"path":515,"stem":516},"Writing Changelog Posts","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fwriting-changelog","handbook\u002Fengineering\u002Freleases\u002Fwriting-changelog",{"title":518,"path":519,"stem":520},"Security Reporting Policy","\u002Fhandbook\u002Fengineering\u002Fsecurity","handbook\u002Fengineering\u002Fsecurity",{"title":522,"path":523,"stem":524,"children":525},"Support","\u002Fhandbook\u002Fengineering\u002Fsupport","handbook\u002Fengineering\u002Fsupport\u002Findex",[526,527,531],{"title":522,"path":523,"stem":524},{"title":528,"path":529,"stem":530},"Support Triage Duty","\u002Fhandbook\u002Fengineering\u002Fsupport\u002Ftriage","handbook\u002Fengineering\u002Fsupport\u002Ftriage",{"title":532,"path":533,"stem":534},"Troubleshooting","\u002Fhandbook\u002Fengineering\u002Fsupport\u002Ftroubleshooting","handbook\u002Fengineering\u002Fsupport\u002Ftroubleshooting",{"title":341,"path":536,"stem":537},"\u002Fhandbook\u002Fengineering\u002Ftools","handbook\u002Fengineering\u002Ftools",{"title":539,"path":540,"stem":541,"children":542},"Marketing department","\u002Fhandbook\u002Fmarketing","handbook\u002Fmarketing\u002Findex",[543,544,548,552,566,570,574,578,582,586,590,594,598,602,606,610],{"title":539,"path":540,"stem":541},{"title":545,"path":546,"stem":547},"Blog","\u002Fhandbook\u002Fmarketing\u002Fblog","handbook\u002Fmarketing\u002Fblog",{"title":549,"path":550,"stem":551},"Brand Personality, Tone of Voice & Character","\u002Fhandbook\u002Fmarketing\u002Fbrand-voice","handbook\u002Fmarketing\u002Fbrand-voice",{"title":553,"path":554,"stem":555,"children":556},"Community","\u002Fhandbook\u002Fmarketing\u002Fcommunity","handbook\u002Fmarketing\u002Fcommunity\u002Findex",[557,558,562],{"title":553,"path":554,"stem":555},{"title":559,"path":560,"stem":561},"Community Guidelines","\u002Fhandbook\u002Fmarketing\u002Fcommunity\u002Fcommunity-guidelines","handbook\u002Fmarketing\u002Fcommunity\u002Fcommunity-guidelines",{"title":563,"path":564,"stem":565},"Forums And Support","\u002Fhandbook\u002Fmarketing\u002Fcommunity\u002Fforums-and-support","handbook\u002Fmarketing\u002Fcommunity\u002Fforums-and-support",{"title":567,"path":568,"stem":569},"Customer Stories","\u002Fhandbook\u002Fmarketing\u002Fcustomer-stories","handbook\u002Fmarketing\u002Fcustomer-stories",{"title":571,"path":572,"stem":573},"FlowFuse for Education","\u002Fhandbook\u002Fmarketing\u002Feducation","handbook\u002Fmarketing\u002Feducation",{"title":575,"path":576,"stem":577},"Marketing Email","\u002Fhandbook\u002Fmarketing\u002Femail","handbook\u002Fmarketing\u002Femail",{"title":579,"path":580,"stem":581},"Events","\u002Fhandbook\u002Fmarketing\u002Fevents","handbook\u002Fmarketing\u002Fevents",{"title":583,"path":584,"stem":585},"How the marketing team works at FlowFuse","\u002Fhandbook\u002Fmarketing\u002Fhow-we-work","handbook\u002Fmarketing\u002Fhow-we-work",{"title":587,"path":588,"stem":589},"Lead Activation","\u002Fhandbook\u002Fmarketing\u002Flead-activation","handbook\u002Fmarketing\u002Flead-activation",{"title":591,"path":592,"stem":593},"Lead Generation","\u002Fhandbook\u002Fmarketing\u002Fleads","handbook\u002Fmarketing\u002Fleads",{"title":595,"path":596,"stem":597},"Messaging","\u002Fhandbook\u002Fmarketing\u002Fmessaging","handbook\u002Fmarketing\u002Fmessaging",{"title":599,"path":600,"stem":601},"Marketing Programs","\u002Fhandbook\u002Fmarketing\u002Fprograms","handbook\u002Fmarketing\u002Fprograms",{"title":603,"path":604,"stem":605},"Social Media Channels","\u002Fhandbook\u002Fmarketing\u002Fsocial-media","handbook\u002Fmarketing\u002Fsocial-media",{"title":607,"path":608,"stem":609},"FlowFuse Webinars","\u002Fhandbook\u002Fmarketing\u002Fwebinars","handbook\u002Fmarketing\u002Fwebinars",{"title":611,"path":612,"stem":613},"Marketing Website","\u002Fhandbook\u002Fmarketing\u002Fwebsite","handbook\u002Fmarketing\u002Fwebsite",{"title":615,"path":616,"stem":617,"children":618},"Operations","\u002Fhandbook\u002Foperations","handbook\u002Foperations\u002Findex",[619,620,624,628,632,653,657,661,665,669],{"title":615,"path":616,"stem":617},{"title":621,"path":622,"stem":623},"Tax & Compliance","\u002Fhandbook\u002Foperations\u002Faccounting","handbook\u002Foperations\u002Faccounting",{"title":625,"path":626,"stem":627},"Accounts","\u002Fhandbook\u002Foperations\u002Faccounts","handbook\u002Foperations\u002Faccounts",{"title":629,"path":630,"stem":631},"Billing","\u002Fhandbook\u002Foperations\u002Fbilling","handbook\u002Foperations\u002Fbilling",{"title":177,"path":633,"stem":634,"children":635},"\u002Fhandbook\u002Foperations\u002Fceo-ops","handbook\u002Foperations\u002Fceo-ops\u002Findex",[636,637,641,645,649],{"title":177,"path":633,"stem":634},{"title":638,"path":639,"stem":640},"Calendar Management","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Fcalendar-management","handbook\u002Foperations\u002Fceo-ops\u002Fcalendar-management",{"title":642,"path":643,"stem":644},"Inbox Management","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Finbox-management","handbook\u002Foperations\u002Fceo-ops\u002Finbox-management",{"title":646,"path":647,"stem":648},"Task Managment","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Ftask-managment","handbook\u002Foperations\u002Fceo-ops\u002Ftask-managment",{"title":650,"path":651,"stem":652},"Travel Booking","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Ftravel-booking","handbook\u002Foperations\u002Fceo-ops\u002Ftravel-booking",{"title":654,"path":655,"stem":656},"Change","\u002Fhandbook\u002Foperations\u002Fchange","handbook\u002Foperations\u002Fchange",{"title":658,"path":659,"stem":660},"Commission Payment","\u002Fhandbook\u002Foperations\u002Fcommission-payment","handbook\u002Foperations\u002Fcommission-payment",{"title":662,"path":663,"stem":664},"Data at FlowFuse","\u002Fhandbook\u002Foperations\u002Fdata","handbook\u002Foperations\u002Fdata",{"title":666,"path":667,"stem":668},"Signatures","\u002Fhandbook\u002Foperations\u002Fsignatures","handbook\u002Foperations\u002Fsignatures",{"title":670,"path":671,"stem":672},"Vendors","\u002Fhandbook\u002Foperations\u002Fvendors","handbook\u002Foperations\u002Fvendors",{"title":674,"path":675,"stem":676,"children":677},"People Operations","\u002Fhandbook\u002Fpeopleops","handbook\u002Fpeopleops\u002Findex",[678,679,683,687,691,695,699,717,779,783,787,791,795],{"title":674,"path":675,"stem":676},{"title":680,"path":681,"stem":682},"Coaching Plans","\u002Fhandbook\u002Fpeopleops\u002Fcoaching-plans","handbook\u002Fpeopleops\u002Fcoaching-plans",{"title":684,"path":685,"stem":686},"Code of Conduct","\u002Fhandbook\u002Fpeopleops\u002Fcode-of-conduct","handbook\u002Fpeopleops\u002Fcode-of-conduct",{"title":688,"path":689,"stem":690},"Compensation","\u002Fhandbook\u002Fpeopleops\u002Fcompensation","handbook\u002Fpeopleops\u002Fcompensation",{"title":692,"path":693,"stem":694},"Compliance & Training (Mineral)","\u002Fhandbook\u002Fpeopleops\u002Fcompliance","handbook\u002Fpeopleops\u002Fcompliance",{"title":696,"path":697,"stem":698},"Expenses","\u002Fhandbook\u002Fpeopleops\u002Fexpenses","handbook\u002Fpeopleops\u002Fexpenses",{"title":700,"path":701,"stem":702,"children":703},"Hiring","\u002Fhandbook\u002Fpeopleops\u002Fhiring","handbook\u002Fpeopleops\u002Fhiring\u002Findex",[704,705,709,713],{"title":700,"path":701,"stem":702},{"title":706,"path":707,"stem":708},"Working with Recruiters","\u002Fhandbook\u002Fpeopleops\u002Fhiring\u002Frecruiters","handbook\u002Fpeopleops\u002Fhiring\u002Frecruiters",{"title":710,"path":711,"stem":712},"Screening Call","\u002Fhandbook\u002Fpeopleops\u002Fhiring\u002Fscreening-call","handbook\u002Fpeopleops\u002Fhiring\u002Fscreening-call",{"title":714,"path":715,"stem":716},"Star Questions","\u002Fhandbook\u002Fpeopleops\u002Fhiring\u002Fstar-questions","handbook\u002Fpeopleops\u002Fhiring\u002Fstar-questions",{"title":718,"path":719,"stem":720,"children":721},"Job Descriptions","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Findex",[722,723,727,731,735,739,743,747,751,755,759,763,767,771,775],{"title":718,"path":719,"stem":720},{"title":724,"path":725,"stem":726},"Account Executive","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Faccount-executive","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Faccount-executive",{"title":728,"path":729,"stem":730},"CEO","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fceo","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fceo",{"title":732,"path":733,"stem":734},"Chief of Staff","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fchief-of-staff","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fchief-of-staff",{"title":736,"path":737,"stem":738},"CTO","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fcto","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fcto",{"title":740,"path":741,"stem":742},"Developer Relations Advocate","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fdeveloper-relations-advocate","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fdeveloper-relations-advocate",{"title":744,"path":745,"stem":746},"Engineering Manager","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fengineering-manager","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fengineering-manager",{"title":748,"path":749,"stem":750},"Fullstack Engineer","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer",{"title":752,"path":753,"stem":754},"Fullstack Engineer (AI-Focused)","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer-ai","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer-ai",{"title":756,"path":757,"stem":758},"Head of Marketing","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fhead-of-marketing","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fhead-of-marketing",{"title":760,"path":761,"stem":762},"Product Manager","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-manager","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-manager",{"title":764,"path":765,"stem":766},"Product Marketer","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-marketer","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-marketer",{"title":768,"path":769,"stem":770},"Solutions Engineer","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fsolutions-engineer","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fsolutions-engineer",{"title":772,"path":773,"stem":774},"Technical Product Manager","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Ftechnical-product-manager","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Ftechnical-product-manager",{"title":776,"path":777,"stem":778},"VP of Sales","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fvp-sales","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fvp-sales",{"title":780,"path":781,"stem":782},"Holiday and Leave","\u002Fhandbook\u002Fpeopleops\u002Fleave","handbook\u002Fpeopleops\u002Fleave",{"title":784,"path":785,"stem":786},"PeopleOps policies","\u002Fhandbook\u002Fpeopleops\u002Forganization","handbook\u002Fpeopleops\u002Forganization",{"title":788,"path":789,"stem":790},"Performance Review","\u002Fhandbook\u002Fpeopleops\u002Fperformance-review","handbook\u002Fpeopleops\u002Fperformance-review",{"title":792,"path":793,"stem":794},"Summit","\u002Fhandbook\u002Fpeopleops\u002Fsummit","handbook\u002Fpeopleops\u002Fsummit",{"title":796,"path":797,"stem":798},"Travel","\u002Fhandbook\u002Fpeopleops\u002Ftravel","handbook\u002Fpeopleops\u002Ftravel",{"title":800,"path":801,"stem":802,"children":803},"Sales department","\u002Fhandbook\u002Fsales","handbook\u002Fsales\u002Findex",[804,805,811,815,819,823,827,831,835,839,856,860,872,876,882,886,890],{"title":800,"path":801,"stem":802},{"title":806,"path":807,"stem":808,"children":809},"FY 2026 SALES COMPENSATION PLAN","\u002Fhandbook\u002Fsales\u002Fcommission-plan","handbook\u002Fsales\u002Fcommission-plan\u002Findex",[810],{"title":806,"path":807,"stem":808},{"title":812,"path":813,"stem":814},"Customer Success","\u002Fhandbook\u002Fsales\u002Fcustomer-success","handbook\u002Fsales\u002Fcustomer-success",{"title":816,"path":817,"stem":818},"Self Hosted Dashboard v2 Multi User Plugin","\u002Fhandbook\u002Fsales\u002Fdashboard-v2","handbook\u002Fsales\u002Fdashboard-v2",{"title":820,"path":821,"stem":822},"Edge Connectivity Sales Process","\u002Fhandbook\u002Fsales\u002Fedge-connect-process","handbook\u002Fsales\u002Fedge-connect-process",{"title":824,"path":825,"stem":826},"Engagements","\u002Fhandbook\u002Fsales\u002Fengagements","handbook\u002Fsales\u002Fengagements",{"title":828,"path":829,"stem":830},"Forecast Review","\u002Fhandbook\u002Fsales\u002Fforecast-review","handbook\u002Fsales\u002Fforecast-review",{"title":832,"path":833,"stem":834},"Hubspot","\u002Fhandbook\u002Fsales\u002Fhubspot","handbook\u002Fsales\u002Fhubspot",{"title":836,"path":837,"stem":838},"Legal","\u002Fhandbook\u002Fsales\u002Flegal","handbook\u002Fsales\u002Flegal",{"title":177,"path":840,"stem":841,"children":842},"\u002Fhandbook\u002Fsales\u002Fmeetings","handbook\u002Fsales\u002Fmeetings\u002Findex",[843,844,848,852],{"title":177,"path":840,"stem":841},{"title":845,"path":846,"stem":847},"Demo","\u002Fhandbook\u002Fsales\u002Fmeetings\u002Fdemo","handbook\u002Fsales\u002Fmeetings\u002Fdemo",{"title":849,"path":850,"stem":851},"Discovery","\u002Fhandbook\u002Fsales\u002Fmeetings\u002Fdiscovery","handbook\u002Fsales\u002Fmeetings\u002Fdiscovery",{"title":853,"path":854,"stem":855},"Poc","\u002Fhandbook\u002Fsales\u002Fmeetings\u002Fpoc","handbook\u002Fsales\u002Fmeetings\u002Fpoc",{"title":857,"path":858,"stem":859},"Sales Team Operating Principles","\u002Fhandbook\u002Fsales\u002Foperating-principles","handbook\u002Fsales\u002Foperating-principles",{"title":861,"path":862,"stem":863,"children":864},"Commercial Organization","\u002Fhandbook\u002Fsales\u002Forg","handbook\u002Fsales\u002Forg\u002Findex",[865,866],{"title":861,"path":862,"stem":863},{"title":867,"path":868,"stem":869,"children":870},"Account Executives","\u002Fhandbook\u002Fsales\u002Forg\u002Faccount-executives","handbook\u002Fsales\u002Forg\u002Faccount-executives\u002Findex",[871],{"title":867,"path":868,"stem":869},{"title":873,"path":874,"stem":875},"Partnerships","\u002Fhandbook\u002Fsales\u002Fpartnerships","handbook\u002Fsales\u002Fpartnerships",{"title":877,"path":878,"stem":879,"children":880},"Processes","\u002Fhandbook\u002Fsales\u002Fprocesses","handbook\u002Fsales\u002Fprocesses\u002Findex",[881],{"title":877,"path":878,"stem":879},{"title":883,"path":884,"stem":885},"Professional Services","\u002Fhandbook\u002Fsales\u002Fprofessional-services","handbook\u002Fsales\u002Fprofessional-services",{"title":887,"path":888,"stem":889},"Regions","\u002Fhandbook\u002Fsales\u002Fregions","handbook\u002Fsales\u002Fregions",{"title":891,"path":892,"stem":893},"Sales Deck","\u002Fhandbook\u002Fsales\u002Fsales-deck","handbook\u002Fsales\u002Fsales-deck",1780070544569]