[{"data":1,"prerenderedAt":939},["ShallowReactive",2],{"handbook-\u002Fhandbook\u002Fengineering\u002Fops\u002F":3,"handbook-nav":189},{"id":4,"title":5,"body":6,"description":177,"extension":182,"meta":183,"navigation":184,"path":185,"seo":186,"stem":187,"__hash__":188},"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","Observability",[17,25,26],{},[20,27,29],{"href":28},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fstaging","Staging Environment",[17,31,32],{},[20,33,35],{"href":34},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fproduction","Production Environment",[17,37,38],{},[20,39,41],{"href":40},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fdeployment","Deployment",[17,43,44],{},[20,45,47],{"href":46},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fincident-response","Incident Response",[17,49,50],{},[20,51,53],{"href":52},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fdedicated","FlowFuse Dedicated",[17,55,56],{},[20,57,59],{"href":58},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fproduction-stack-update","Updating Stacks",[17,61,62],{},[20,63,65],{"href":64},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fself-hosted-assistant","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},"",4,[180],{"id":69,"depth":181,"text":70},2,"md",{},null,"\u002Fhandbook\u002Fengineering\u002Fops",{"title":5,"description":177},"handbook\u002Fengineering\u002Fops\u002Findex","8G5vz-tK_VGF_75DZtwW2CrqiMsrx80XYOrtnzOugQY",[190],{"title":191,"path":192,"stem":193,"children":194},"Handbook","\u002Fhandbook","handbook",[195,197,323,355,551,634,696,831],{"title":191,"path":192,"stem":196},"handbook\u002Findex",{"title":198,"group":198,"icon":199,"order":200,"path":201,"stem":202,"children":203},"Company","i-lucide-building-2",1,"\u002Fhandbook\u002Fcompany","handbook\u002Fcompany\u002Findex",[204,205,209,213,217,236,240,244,248,315,319],{"title":198,"path":201,"stem":202},{"title":206,"path":207,"stem":208},"Board & Investors","\u002Fhandbook\u002Fcompany\u002Fboard","handbook\u002Fcompany\u002Fboard",{"title":210,"path":211,"stem":212},"Communications","\u002Fhandbook\u002Fcompany\u002Fcommunication","handbook\u002Fcompany\u002Fcommunication",{"title":214,"path":215,"stem":216},"Decision making and project management","\u002Fhandbook\u002Fcompany\u002Fdecisions","handbook\u002Fcompany\u002Fdecisions",{"title":218,"icon":219,"path":220,"stem":221,"children":222},"Guides","i-lucide-book-open","\u002Fhandbook\u002Fcompany\u002Fguides","handbook\u002Fcompany\u002Fguides\u002Findex",[223,224,228,232],{"title":218,"path":220,"stem":221},{"title":225,"path":226,"stem":227},"Editing the Handbook","\u002Fhandbook\u002Fcompany\u002Fguides\u002Fgit","handbook\u002Fcompany\u002Fguides\u002Fgit",{"title":229,"path":230,"stem":231},"Google Workspace","\u002Fhandbook\u002Fcompany\u002Fguides\u002Fgworkspace","handbook\u002Fcompany\u002Fguides\u002Fgworkspace",{"title":233,"path":234,"stem":235},"Markdown Guide","\u002Fhandbook\u002Fcompany\u002Fguides\u002Fmarkdown","handbook\u002Fcompany\u002Fguides\u002Fmarkdown",{"title":237,"path":238,"stem":239},"Organizational Structure","\u002Fhandbook\u002Fcompany\u002Forganizational-structure","handbook\u002Fcompany\u002Forganizational-structure",{"title":241,"path":242,"stem":243},"Principles","\u002Fhandbook\u002Fcompany\u002Fprinciples","handbook\u002Fcompany\u002Fprinciples",{"title":245,"path":246,"stem":247},"Remote Work","\u002Fhandbook\u002Fcompany\u002Fremote","handbook\u002Fcompany\u002Fremote",{"title":249,"icon":250,"path":251,"stem":252,"children":253},"Security","i-lucide-shield","\u002Fhandbook\u002Fcompany\u002Fsecurity","handbook\u002Fcompany\u002Fsecurity\u002Findex",[254,255,259,263,267,271,275,279,283,287,291,295,299,303,307,311],{"title":249,"path":251,"stem":252},{"title":256,"path":257,"stem":258},"Access Control Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Faccess-control","handbook\u002Fcompany\u002Fsecurity\u002Faccess-control",{"title":260,"path":261,"stem":262},"AI Development and Customer Data Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fai-development-and-customer-data","handbook\u002Fcompany\u002Fsecurity\u002Fai-development-and-customer-data",{"title":264,"path":265,"stem":266},"Asset Management Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fasset-management","handbook\u002Fcompany\u002Fsecurity\u002Fasset-management",{"title":268,"path":269,"stem":270},"Business Continuity & Disaster Recovery Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fbusiness-continuity","handbook\u002Fcompany\u002Fsecurity\u002Fbusiness-continuity",{"title":272,"path":273,"stem":274},"Hardware Security Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fcomputer-security","handbook\u002Fcompany\u002Fsecurity\u002Fcomputer-security",{"title":276,"path":277,"stem":278},"Cryptography Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fcryptography","handbook\u002Fcompany\u002Fsecurity\u002Fcryptography",{"title":280,"path":281,"stem":282},"Data Management Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fdata-management","handbook\u002Fcompany\u002Fsecurity\u002Fdata-management",{"title":284,"path":285,"stem":286},"Human Resources Security Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fhuman-resources","handbook\u002Fcompany\u002Fsecurity\u002Fhuman-resources",{"title":288,"path":289,"stem":290},"Incident Response Plan","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fincident-response","handbook\u002Fcompany\u002Fsecurity\u002Fincident-response",{"title":292,"path":293,"stem":294},"Information Security Policy and Acceptable Use Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Finformation-security","handbook\u002Fcompany\u002Fsecurity\u002Finformation-security",{"title":296,"path":297,"stem":298},"Information Security Roles and Responsibilities","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Finformation-security-roles","handbook\u002Fcompany\u002Fsecurity\u002Finformation-security-roles",{"title":300,"path":301,"stem":302},"Operations Security Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Foperations-security","handbook\u002Fcompany\u002Fsecurity\u002Foperations-security",{"title":304,"path":305,"stem":306},"Risk Management Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Frisk-management","handbook\u002Fcompany\u002Fsecurity\u002Frisk-management",{"title":308,"path":309,"stem":310},"Secure Development Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fsecure-development","handbook\u002Fcompany\u002Fsecurity\u002Fsecure-development",{"title":312,"path":313,"stem":314},"Third-Party Risk Management Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fthird-party-risk-management","handbook\u002Fcompany\u002Fsecurity\u002Fthird-party-risk-management",{"title":316,"path":317,"stem":318},"Strategy","\u002Fhandbook\u002Fcompany\u002Fstrategy","handbook\u002Fcompany\u002Fstrategy",{"title":320,"path":321,"stem":322},"Values","\u002Fhandbook\u002Fcompany\u002Fvalues","handbook\u002Fcompany\u002Fvalues",{"title":324,"group":325,"icon":326,"order":178,"path":327,"stem":328,"children":329},"Design","Engineering & Design Practices","i-lucide-pen-tool","\u002Fhandbook\u002Fdesign","handbook\u002Fdesign\u002Findex",[330,331,335,339,343,347,351],{"title":324,"path":327,"stem":328},{"title":332,"path":333,"stem":334},"Art Requests","\u002Fhandbook\u002Fdesign\u002Fart-requests","handbook\u002Fdesign\u002Fart-requests",{"title":336,"path":337,"stem":338},"Branding","\u002Fhandbook\u002Fdesign\u002Fbranding","handbook\u002Fdesign\u002Fbranding",{"title":340,"path":341,"stem":342},"Design Thinking","\u002Fhandbook\u002Fdesign\u002Fdesign-thinking","handbook\u002Fdesign\u002Fdesign-thinking",{"title":344,"path":345,"stem":346},"Process","\u002Fhandbook\u002Fdesign\u002Fprocess","handbook\u002Fdesign\u002Fprocess",{"title":348,"path":349,"stem":350},"Tools","\u002Fhandbook\u002Fdesign\u002Ftools","handbook\u002Fdesign\u002Ftools",{"title":352,"path":353,"stem":354},"Video","\u002Fhandbook\u002Fdesign\u002Fvideos","handbook\u002Fdesign\u002Fvideos",{"title":356,"group":325,"icon":357,"order":358,"path":359,"stem":360,"children":361},"Engineering","i-lucide-code-2",3,"\u002Fhandbook\u002Fengineering","handbook\u002Fengineering\u002Findex",[362,363,382,386,390,413,434,438,502,506,529,533,548],{"title":356,"path":359,"stem":360},{"title":364,"icon":365,"path":366,"stem":367,"children":368},"Contributing","i-lucide-git-pull-request","\u002Fhandbook\u002Fengineering\u002Fcontributing","handbook\u002Fengineering\u002Fcontributing\u002Findex",[369,370,374,378],{"title":364,"path":366,"stem":367},{"title":371,"path":372,"stem":373},"Certified Nodes","\u002Fhandbook\u002Fengineering\u002Fcontributing\u002Fcertified-nodes","handbook\u002Fengineering\u002Fcontributing\u002Fcertified-nodes",{"title":375,"path":376,"stem":377},"FF Tables","\u002Fhandbook\u002Fengineering\u002Fcontributing\u002Fff-tables","handbook\u002Fengineering\u002Fcontributing\u002Fff-tables",{"title":379,"path":380,"stem":381},"Team NPM Registry","\u002Fhandbook\u002Fengineering\u002Fcontributing\u002Fteam-npm-registry","handbook\u002Fengineering\u002Fcontributing\u002Fteam-npm-registry",{"title":383,"path":384,"stem":385},"Dependency Updates","\u002Fhandbook\u002Fengineering\u002Fdependency-updates","handbook\u002Fengineering\u002Fdependency-updates",{"title":387,"path":388,"stem":389},"Feature Flags in PostHog","\u002Fhandbook\u002Fengineering\u002Ffeature-flags","handbook\u002Fengineering\u002Ffeature-flags",{"title":391,"icon":392,"path":393,"stem":394,"children":395},"Front End","i-lucide-layout-dashboard","\u002Fhandbook\u002Fengineering\u002Ffrontend","handbook\u002Fengineering\u002Ffrontend\u002Findex",[396,397,401,405,409],{"title":391,"path":393,"stem":394},{"title":398,"path":399,"stem":400},"Data Attributes","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Fdata-attributes","handbook\u002Fengineering\u002Ffrontend\u002Fdata-attributes",{"title":402,"path":403,"stem":404},"Front-End Layouts","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Flayouts","handbook\u002Fengineering\u002Ffrontend\u002Flayouts",{"title":406,"path":407,"stem":408},"Front-End Services","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Fservices","handbook\u002Fengineering\u002Ffrontend\u002Fservices",{"title":410,"path":411,"stem":412},"Front-End Testing","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Ftesting","handbook\u002Fengineering\u002Ffrontend\u002Ftesting",{"title":5,"icon":414,"path":185,"stem":187,"children":415},"i-lucide-server",[416,417,419,421,423,425,427,430,432],{"title":5,"path":185,"stem":187},{"title":53,"path":52,"stem":418},"handbook\u002Fengineering\u002Fops\u002Fdedicated",{"title":41,"path":40,"stem":420},"handbook\u002Fengineering\u002Fops\u002Fdeployment",{"title":47,"path":46,"stem":422},"handbook\u002Fengineering\u002Fops\u002Fincident-response",{"title":23,"path":22,"stem":424},"handbook\u002Fengineering\u002Fops\u002Fobservability",{"title":35,"path":34,"stem":426},"handbook\u002Fengineering\u002Fops\u002Fproduction",{"title":428,"path":58,"stem":429},"Update Stacks on Production","handbook\u002Fengineering\u002Fops\u002Fproduction-stack-update",{"title":65,"path":64,"stem":431},"handbook\u002Fengineering\u002Fops\u002Fself-hosted-assistant",{"title":29,"path":28,"stem":433},"handbook\u002Fengineering\u002Fops\u002Fstaging",{"title":435,"path":436,"stem":437},"Packaging Guidelines","\u002Fhandbook\u002Fengineering\u002Fpackaging","handbook\u002Fengineering\u002Fpackaging",{"title":439,"icon":440,"path":441,"stem":442,"children":443},"Product","i-lucide-package","\u002Fhandbook\u002Fengineering\u002Fproduct","handbook\u002Fengineering\u002Fproduct\u002Findex",[444,445,449,453,457,461,465,472,476,479,483,486,490,494,498],{"title":439,"path":441,"stem":442},{"title":446,"path":447,"stem":448},"Blueprints","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fblueprints","handbook\u002Fengineering\u002Fproduct\u002Fblueprints",{"title":450,"path":451,"stem":452},"Node-RED Dashboard","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fdashboard","handbook\u002Fengineering\u002Fproduct\u002Fdashboard",{"title":454,"path":455,"stem":456},"Feedback","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Ffeedback","handbook\u002Fengineering\u002Fproduct\u002Ffeedback",{"title":458,"path":459,"stem":460},"Glossary","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fglossary","handbook\u002Fengineering\u002Fproduct\u002Fglossary",{"title":462,"path":463,"stem":464},"Metrics","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fmetrics","handbook\u002Fengineering\u002Fproduct\u002Fmetrics",{"title":466,"path":467,"stem":468,"children":469,"icon":471},"Personas","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fpersonas","handbook\u002Fengineering\u002Fproduct\u002Fpersonas\u002Findex",[470],{"title":466,"path":467,"stem":468},"i-lucide-user-circle",{"title":473,"path":474,"stem":475},"Pricing Principles","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fpricing","handbook\u002Fengineering\u002Fproduct\u002Fpricing",{"title":241,"path":477,"stem":478},"\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fprinciples","handbook\u002Fengineering\u002Fproduct\u002Fprinciples",{"title":480,"path":481,"stem":482},"Product Swimlanes","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fproduct-swimlanes","handbook\u002Fengineering\u002Fproduct\u002Fproduct-swimlanes",{"title":316,"path":484,"stem":485},"\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fstrategy","handbook\u002Fengineering\u002Fproduct\u002Fstrategy",{"title":487,"path":488,"stem":489},"Product Growth","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Ftelemetry","handbook\u002Fengineering\u002Fproduct\u002Ftelemetry",{"title":491,"path":492,"stem":493},"Versioning","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fversioning","handbook\u002Fengineering\u002Fproduct\u002Fversioning",{"title":495,"path":496,"stem":497},"Market Segments","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fverticals","handbook\u002Fengineering\u002Fproduct\u002Fverticals",{"title":499,"path":500,"stem":501},"Vision","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fvision","handbook\u002Fengineering\u002Fproduct\u002Fvision",{"title":503,"path":504,"stem":505},"Project Management","\u002Fhandbook\u002Fengineering\u002Fproject-management","handbook\u002Fengineering\u002Fproject-management",{"title":507,"icon":508,"path":509,"stem":510,"children":511},"Releases","i-lucide-rocket","\u002Fhandbook\u002Fengineering\u002Freleases","handbook\u002Fengineering\u002Freleases\u002Findex",[512,513,517,521,525],{"title":507,"path":509,"stem":510},{"title":514,"path":515,"stem":516},"Dashboard 2.0 Releases","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fdashboard-2","handbook\u002Fengineering\u002Freleases\u002Fdashboard-2",{"title":518,"path":519,"stem":520},"Release Process - Digital Ocean","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fdigital-ocean","handbook\u002Fengineering\u002Freleases\u002Fdigital-ocean",{"title":522,"path":523,"stem":524},"Release Process","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fprocess","handbook\u002Fengineering\u002Freleases\u002Fprocess",{"title":526,"path":527,"stem":528},"Changelog Posts","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fwriting-changelog","handbook\u002Fengineering\u002Freleases\u002Fwriting-changelog",{"title":530,"path":531,"stem":532},"Security Policy","\u002Fhandbook\u002Fengineering\u002Fsecurity","handbook\u002Fengineering\u002Fsecurity",{"title":534,"path":535,"stem":536,"children":537,"icon":547},"Support","\u002Fhandbook\u002Fengineering\u002Fsupport","handbook\u002Fengineering\u002Fsupport\u002Findex",[538,539,543],{"title":534,"path":535,"stem":536},{"title":540,"path":541,"stem":542},"Triage Duty","\u002Fhandbook\u002Fengineering\u002Fsupport\u002Ftriage","handbook\u002Fengineering\u002Fsupport\u002Ftriage",{"title":544,"path":545,"stem":546},"Troubleshooting","\u002Fhandbook\u002Fengineering\u002Fsupport\u002Ftroubleshooting","handbook\u002Fengineering\u002Fsupport\u002Ftroubleshooting","i-lucide-life-buoy",{"title":348,"path":549,"stem":550},"\u002Fhandbook\u002Fengineering\u002Ftools","handbook\u002Fengineering\u002Ftools",{"title":552,"group":553,"icon":554,"order":555,"path":556,"stem":557,"children":558},"Marketing","Marketing department","i-lucide-megaphone",6,"\u002Fhandbook\u002Fmarketing","handbook\u002Fmarketing\u002Findex",[559,560,564,579,598,602,606,610,614,618,622,626,630],{"title":552,"path":556,"stem":557},{"title":561,"path":562,"stem":563},"Brand Voice","\u002Fhandbook\u002Fmarketing\u002Fbrand-voice","handbook\u002Fmarketing\u002Fbrand-voice",{"title":565,"icon":566,"path":567,"stem":568,"children":569},"Community","i-lucide-users-2","\u002Fhandbook\u002Fmarketing\u002Fcommunity","handbook\u002Fmarketing\u002Fcommunity\u002Findex",[570,571,575],{"title":565,"path":567,"stem":568},{"title":572,"path":573,"stem":574},"Community Guidelines","\u002Fhandbook\u002Fmarketing\u002Fcommunity\u002Fcommunity-guidelines","handbook\u002Fmarketing\u002Fcommunity\u002Fcommunity-guidelines",{"title":576,"path":577,"stem":578},"Forums And Support","\u002Fhandbook\u002Fmarketing\u002Fcommunity\u002Fforums-and-support","handbook\u002Fmarketing\u002Fcommunity\u002Fforums-and-support",{"title":580,"icon":581,"path":582,"stem":583,"children":584,"order":200},"Content Strategy","i-lucide-file-text","\u002Fhandbook\u002Fmarketing\u002Fcontent-strategy","handbook\u002Fmarketing\u002Fcontent-strategy\u002Findex",[585,586,590,594],{"title":580,"path":582,"stem":583,"order":200},{"title":587,"path":588,"stem":589},"Blog","\u002Fhandbook\u002Fmarketing\u002Fcontent-strategy\u002Fblog","handbook\u002Fmarketing\u002Fcontent-strategy\u002Fblog",{"title":591,"path":592,"stem":593},"Customer Stories","\u002Fhandbook\u002Fmarketing\u002Fcontent-strategy\u002Fcustomer-stories","handbook\u002Fmarketing\u002Fcontent-strategy\u002Fcustomer-stories",{"title":595,"path":596,"stem":597},"Webinars","\u002Fhandbook\u002Fmarketing\u002Fcontent-strategy\u002Fwebinars","handbook\u002Fmarketing\u002Fcontent-strategy\u002Fwebinars",{"title":599,"path":600,"stem":601},"FlowFuse for Education","\u002Fhandbook\u002Fmarketing\u002Feducation","handbook\u002Fmarketing\u002Feducation",{"title":603,"path":604,"stem":605},"Events","\u002Fhandbook\u002Fmarketing\u002Fevents","handbook\u002Fmarketing\u002Fevents",{"title":607,"path":608,"stem":609},"How we work","\u002Fhandbook\u002Fmarketing\u002Fhow-we-work","handbook\u002Fmarketing\u002Fhow-we-work",{"title":611,"path":612,"stem":613},"Lead Activation","\u002Fhandbook\u002Fmarketing\u002Flead-activation","handbook\u002Fmarketing\u002Flead-activation",{"title":615,"path":616,"stem":617},"Lead Generation","\u002Fhandbook\u002Fmarketing\u002Fleads","handbook\u002Fmarketing\u002Fleads",{"title":619,"path":620,"stem":621},"Company Messaging","\u002Fhandbook\u002Fmarketing\u002Fmessaging","handbook\u002Fmarketing\u002Fmessaging",{"title":623,"path":624,"stem":625},"Marketing Programs","\u002Fhandbook\u002Fmarketing\u002Fprograms","handbook\u002Fmarketing\u002Fprograms",{"title":627,"path":628,"stem":629},"Social Media","\u002Fhandbook\u002Fmarketing\u002Fsocial-media","handbook\u002Fmarketing\u002Fsocial-media",{"title":631,"path":632,"stem":633},"Website","\u002Fhandbook\u002Fmarketing\u002Fwebsite","handbook\u002Fmarketing\u002Fwebsite",{"title":635,"group":198,"icon":636,"order":181,"path":637,"stem":638,"children":639},"Operations","i-lucide-settings-2","\u002Fhandbook\u002Foperations","handbook\u002Foperations\u002Findex",[640,641,645,649,653,676,680,684,688,692],{"title":635,"path":637,"stem":638},{"title":642,"path":643,"stem":644},"Accounting","\u002Fhandbook\u002Foperations\u002Faccounting","handbook\u002Foperations\u002Faccounting",{"title":646,"path":647,"stem":648},"Accounts","\u002Fhandbook\u002Foperations\u002Faccounts","handbook\u002Foperations\u002Faccounts",{"title":650,"path":651,"stem":652},"Billing","\u002Fhandbook\u002Foperations\u002Fbilling","handbook\u002Foperations\u002Fbilling",{"title":654,"icon":655,"path":656,"stem":657,"children":658},"CEO Ops","i-lucide-briefcase","\u002Fhandbook\u002Foperations\u002Fceo-ops","handbook\u002Foperations\u002Fceo-ops\u002Findex",[659,660,664,668,672],{"title":654,"path":656,"stem":657},{"title":661,"path":662,"stem":663},"Calendar Management","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Fcalendar-management","handbook\u002Foperations\u002Fceo-ops\u002Fcalendar-management",{"title":665,"path":666,"stem":667},"Inbox Management","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Finbox-management","handbook\u002Foperations\u002Fceo-ops\u002Finbox-management",{"title":669,"path":670,"stem":671},"Task Management","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Ftask-managment","handbook\u002Foperations\u002Fceo-ops\u002Ftask-managment",{"title":673,"path":674,"stem":675},"Travel Booking","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Ftravel-booking","handbook\u002Foperations\u002Fceo-ops\u002Ftravel-booking",{"title":677,"path":678,"stem":679},"Change Control","\u002Fhandbook\u002Foperations\u002Fchange","handbook\u002Foperations\u002Fchange",{"title":681,"path":682,"stem":683},"Commission Payment","\u002Fhandbook\u002Foperations\u002Fcommission-payment","handbook\u002Foperations\u002Fcommission-payment",{"title":685,"path":686,"stem":687},"Data at FlowFuse","\u002Fhandbook\u002Foperations\u002Fdata","handbook\u002Foperations\u002Fdata",{"title":689,"path":690,"stem":691},"Signatures","\u002Fhandbook\u002Foperations\u002Fsignatures","handbook\u002Foperations\u002Fsignatures",{"title":693,"path":694,"stem":695},"Vendors","\u002Fhandbook\u002Foperations\u002Fvendors","handbook\u002Foperations\u002Fvendors",{"title":697,"group":698,"icon":699,"order":700,"path":701,"stem":702,"children":703},"People Ops","Internal Operations","i-lucide-users",5,"\u002Fhandbook\u002Fpeopleops","handbook\u002Fpeopleops\u002Findex",[704,705,709,713,717,721,725,744,811,815,819,823,827],{"title":697,"path":701,"stem":702},{"title":706,"path":707,"stem":708},"Coaching Plans","\u002Fhandbook\u002Fpeopleops\u002Fcoaching-plans","handbook\u002Fpeopleops\u002Fcoaching-plans",{"title":710,"path":711,"stem":712},"Code of Conduct","\u002Fhandbook\u002Fpeopleops\u002Fcode-of-conduct","handbook\u002Fpeopleops\u002Fcode-of-conduct",{"title":714,"path":715,"stem":716},"Compensation","\u002Fhandbook\u002Fpeopleops\u002Fcompensation","handbook\u002Fpeopleops\u002Fcompensation",{"title":718,"path":719,"stem":720},"Compliance & Regulatory","\u002Fhandbook\u002Fpeopleops\u002Fcompliance","handbook\u002Fpeopleops\u002Fcompliance",{"title":722,"path":723,"stem":724},"Expenses","\u002Fhandbook\u002Fpeopleops\u002Fexpenses","handbook\u002Fpeopleops\u002Fexpenses",{"title":726,"path":727,"stem":728,"children":729,"icon":743},"Hiring","\u002Fhandbook\u002Fpeopleops\u002Fhiring","handbook\u002Fpeopleops\u002Fhiring\u002Findex",[730,731,735,739],{"title":726,"path":727,"stem":728},{"title":732,"path":733,"stem":734},"Working with Recruiters","\u002Fhandbook\u002Fpeopleops\u002Fhiring\u002Frecruiters","handbook\u002Fpeopleops\u002Fhiring\u002Frecruiters",{"title":736,"path":737,"stem":738},"Screening Call","\u002Fhandbook\u002Fpeopleops\u002Fhiring\u002Fscreening-call","handbook\u002Fpeopleops\u002Fhiring\u002Fscreening-call",{"title":740,"path":741,"stem":742},"STAR Questions","\u002Fhandbook\u002Fpeopleops\u002Fhiring\u002Fstar-questions","handbook\u002Fpeopleops\u002Fhiring\u002Fstar-questions","i-lucide-user-plus",{"title":745,"icon":746,"path":747,"stem":748,"children":749},"Job Descriptions","i-lucide-file-badge","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Findex",[750,751,755,759,763,767,771,775,779,783,787,791,795,799,803,807],{"title":745,"path":747,"stem":748},{"title":752,"path":753,"stem":754},"Account Executive","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Faccount-executive","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Faccount-executive",{"title":756,"path":757,"stem":758},"CEO","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fceo","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fceo",{"title":760,"path":761,"stem":762},"Chief of Staff","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fchief-of-staff","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fchief-of-staff",{"title":764,"path":765,"stem":766},"CTO","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fcto","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fcto",{"title":768,"path":769,"stem":770},"Developer Relations Advocate","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fdeveloper-relations-advocate","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fdeveloper-relations-advocate",{"title":772,"path":773,"stem":774},"Engineering Manager","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fengineering-manager","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fengineering-manager",{"title":776,"path":777,"stem":778},"Fullstack Engineer","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer",{"title":780,"path":781,"stem":782},"Fullstack Engineer (AI-Focused)","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer-ai","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer-ai",{"title":784,"path":785,"stem":786},"Head of Marketing","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fhead-of-marketing","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fhead-of-marketing",{"title":788,"path":789,"stem":790},"Product Manager","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-manager","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-manager",{"title":792,"path":793,"stem":794},"Product Marketer","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-marketer","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-marketer",{"title":796,"path":797,"stem":798},"Sales Development Representative (SDR)","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fsales-development-representative","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fsales-development-representative",{"title":800,"path":801,"stem":802},"Solutions Engineer","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fsolutions-engineer","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fsolutions-engineer",{"title":804,"path":805,"stem":806},"Technical Product Manager","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Ftechnical-product-manager","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Ftechnical-product-manager",{"title":808,"path":809,"stem":810},"VP of Sales","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fvp-sales","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fvp-sales",{"title":812,"path":813,"stem":814},"Holiday & Leave","\u002Fhandbook\u002Fpeopleops\u002Fleave","handbook\u002Fpeopleops\u002Fleave",{"title":816,"path":817,"stem":818},"PeopleOps Policies","\u002Fhandbook\u002Fpeopleops\u002Forganization","handbook\u002Fpeopleops\u002Forganization",{"title":820,"path":821,"stem":822},"Performance review","\u002Fhandbook\u002Fpeopleops\u002Fperformance-review","handbook\u002Fpeopleops\u002Fperformance-review",{"title":824,"path":825,"stem":826},"Summit","\u002Fhandbook\u002Fpeopleops\u002Fsummit","handbook\u002Fpeopleops\u002Fsummit",{"title":828,"path":829,"stem":830},"Travel","\u002Fhandbook\u002Fpeopleops\u002Ftravel","handbook\u002Fpeopleops\u002Ftravel",{"title":832,"group":833,"icon":834,"order":835,"path":836,"stem":837,"children":838},"Sales","Sales department","i-lucide-trending-up",7,"\u002Fhandbook\u002Fsales","handbook\u002Fsales\u002Findex",[839,840,847,851,855,859,863,867,871,875,894,898,912,916,923,927,931,935],{"title":832,"path":836,"stem":837},{"title":841,"path":842,"stem":843,"children":844,"icon":846},"Sales Compensation Plan","\u002Fhandbook\u002Fsales\u002Fcommission-plan","handbook\u002Fsales\u002Fcommission-plan\u002Findex",[845],{"title":841,"path":842,"stem":843},"i-lucide-dollar-sign",{"title":848,"path":849,"stem":850},"Customer Success","\u002Fhandbook\u002Fsales\u002Fcustomer-success","handbook\u002Fsales\u002Fcustomer-success",{"title":852,"path":853,"stem":854},"Self Hosted Dashboard v2 Multi User","\u002Fhandbook\u002Fsales\u002Fdashboard-v2","handbook\u002Fsales\u002Fdashboard-v2",{"title":856,"path":857,"stem":858},"Edge Connectivity Sales Process","\u002Fhandbook\u002Fsales\u002Fedge-connect-process","handbook\u002Fsales\u002Fedge-connect-process",{"title":860,"path":861,"stem":862},"Engagements & Pricing","\u002Fhandbook\u002Fsales\u002Fengagements","handbook\u002Fsales\u002Fengagements",{"title":864,"path":865,"stem":866},"Forecast Review","\u002Fhandbook\u002Fsales\u002Fforecast-review","handbook\u002Fsales\u002Fforecast-review",{"title":868,"path":869,"stem":870},"HubSpot","\u002Fhandbook\u002Fsales\u002Fhubspot","handbook\u002Fsales\u002Fhubspot",{"title":872,"path":873,"stem":874},"Legal","\u002Fhandbook\u002Fsales\u002Flegal","handbook\u002Fsales\u002Flegal",{"title":876,"icon":877,"path":878,"stem":879,"children":880},"Sales Meetings","i-lucide-calendar","\u002Fhandbook\u002Fsales\u002Fmeetings","handbook\u002Fsales\u002Fmeetings\u002Findex",[881,882,886,890],{"title":876,"path":878,"stem":879},{"title":883,"path":884,"stem":885},"Demo","\u002Fhandbook\u002Fsales\u002Fmeetings\u002Fdemo","handbook\u002Fsales\u002Fmeetings\u002Fdemo",{"title":887,"path":888,"stem":889},"Discovery Meeting","\u002Fhandbook\u002Fsales\u002Fmeetings\u002Fdiscovery","handbook\u002Fsales\u002Fmeetings\u002Fdiscovery",{"title":891,"path":892,"stem":893},"Proof of Concept","\u002Fhandbook\u002Fsales\u002Fmeetings\u002Fpoc","handbook\u002Fsales\u002Fmeetings\u002Fpoc",{"title":895,"path":896,"stem":897},"Sales Team Operating Principles","\u002Fhandbook\u002Fsales\u002Foperating-principles","handbook\u002Fsales\u002Foperating-principles",{"title":899,"icon":900,"path":901,"stem":902,"children":903},"Commercial Organization","i-lucide-sitemap","\u002Fhandbook\u002Fsales\u002Forg","handbook\u002Fsales\u002Forg\u002Findex",[904,905],{"title":899,"path":901,"stem":902},{"title":906,"path":907,"stem":908,"children":909,"icon":911},"Account Executives","\u002Fhandbook\u002Fsales\u002Forg\u002Faccount-executives","handbook\u002Fsales\u002Forg\u002Faccount-executives\u002Findex",[910],{"title":906,"path":907,"stem":908},"i-lucide-user-check",{"title":913,"path":914,"stem":915},"Partnerships","\u002Fhandbook\u002Fsales\u002Fpartnerships","handbook\u002Fsales\u002Fpartnerships",{"title":917,"path":918,"stem":919,"children":920,"icon":922},"Processes","\u002Fhandbook\u002Fsales\u002Fprocesses","handbook\u002Fsales\u002Fprocesses\u002Findex",[921],{"title":917,"path":918,"stem":919},"i-lucide-workflow",{"title":924,"path":925,"stem":926},"Professional Services","\u002Fhandbook\u002Fsales\u002Fprofessional-services","handbook\u002Fsales\u002Fprofessional-services",{"title":928,"path":929,"stem":930},"Sales Regions","\u002Fhandbook\u002Fsales\u002Fregions","handbook\u002Fsales\u002Fregions",{"title":932,"path":933,"stem":934},"Sales Deck","\u002Fhandbook\u002Fsales\u002Fsales-deck","handbook\u002Fsales\u002Fsales-deck",{"title":936,"path":937,"stem":938},"Subscription Agreement 1.5","\u002Fhandbook\u002Fsales\u002Fsubscription-agreement-1.5","handbook\u002Fsales\u002Fsubscription-agreement-1.5",1781547784637]