[{"data":1,"prerenderedAt":1045},["ShallowReactive",2],{"handbook-\u002Fhandbook\u002Fengineering\u002Fops\u002F":3,"handbook-nav":194},{"id":4,"title":5,"body":6,"description":182,"extension":187,"meta":188,"navigation":189,"path":190,"seo":191,"stem":192,"__hash__":193},"handbook\u002Fhandbook\u002Fengineering\u002Fops\u002Findex.md","Platform Ops",{"type":7,"value":8,"toc":181},"minimark",[9,13,72,77,93,154,157],[10,11,5],"h1",{"id":12},"platform-ops",[14,15,16,24,30,36,42,48,54,60,66],"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",[17,67,68],{},[20,69,71],{"href":70},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fcertified-nodes","Certifed Nodes",[73,74,76],"h2",{"id":75},"cicd","CI\u002FCD",[78,79,80,81,87,88,92],"p",{},"As part of our CI\u002FCD pipeline in our ",[20,82,86],{"href":83,"rel":84},"https:\u002F\u002Fgithub.com\u002FFlowFuse\u002Fflowfuse\u002F",[85],"nofollow","@flowfuse\u002Fflowfuse"," repository, we perform the following actions when code is merged to the ",[89,90,91],"code",{},"main"," branch:",[94,95,96,104,122,132,140,151],"ol",{},[17,97,98,99],{},"Several backend and UI tests are executed against the code by ",[20,100,103],{"href":101,"rel":102},"https:\u002F\u002Fgithub.com\u002FFlowFuse\u002Fflowfuse\u002Fblob\u002Fmain\u002F.github\u002Fworkflows\u002Ftests.yml",[85],"this pipeline",[17,105,106,107,112,113,116,117,121],{},"Once all tests complete with success, ",[20,108,111],{"href":109,"rel":110},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@flowfuse\u002Fflowfuse",[85],"FlowFuse npm package"," is built and published to the npm registry with a ",[89,114,115],{},"nightly"," tag by ",[20,118,103],{"href":119,"rel":120},"https:\u002F\u002Fgithub.com\u002FFlowFuse\u002Fflowfuse\u002Factions\u002Fworkflows\u002Fpublish.yml",[85],".",[17,123,124,112,127,116,129,121],{},[20,125,111],{"href":109,"rel":126},[85],[89,128,115],{},[20,130,103],{"href":119,"rel":131},[85],[17,133,134,135],{},"The same pipeline triggers another action, responsible for ",[20,136,139],{"href":137,"rel":138},"https:\u002F\u002Fgithub.com\u002FFlowFuse\u002Fhelm\u002Factions\u002Fworkflows\u002Fflowforge-container.yml",[85],"building a container image",[17,141,142,143,147,148,150],{},"Container image build pipeline uses ",[20,144,146],{"href":109,"rel":145},[85],"flowfuse npm package"," created in step 1 (tagged as ",[89,149,115],{},") to build a fresh container image",[17,152,153],{},"The resulting image is used to perform deployment on both staging and production environments.",[78,155,156],{},"You can read more about our various environments here:",[14,158,159,166,175],{},[17,160,161,165],{},[20,162,164],{"href":163},"\u002Fhandbook\u002Fengineering\u002Fcontributing\u002F#test-changes-in-staging","Pre Staging"," - used for each individual pull request as part of the code review process.",[17,167,168,171,172,174],{},[20,169,170],{"href":28},"Staging"," - triggered by merge to ",[89,173,91],{}," branch, used for testing the full application, without fear of damaging the production environment.",[17,176,177,180],{},[20,178,179],{"href":34},"Production"," - the live environment that our customers use.",{"title":182,"searchDepth":183,"depth":183,"links":184},"",4,[185],{"id":75,"depth":186,"text":76},2,"md",{},null,"\u002Fhandbook\u002Fengineering\u002Fops",{"title":5,"description":182},"handbook\u002Fengineering\u002Fops\u002Findex","SwET3hnYKJ4VefbkMjkBhc52Nb5FXxYJCzF_Qr7GaW0",[195],{"title":196,"path":197,"stem":198,"children":199},"Handbook","\u002Fhandbook","handbook",[200,202,328,360,571,660,722,864,869],{"title":196,"path":197,"stem":201},"handbook\u002Findex",{"title":203,"group":203,"icon":204,"order":205,"path":206,"stem":207,"children":208},"Company","i-lucide-building-2",1,"\u002Fhandbook\u002Fcompany","handbook\u002Fcompany\u002Findex",[209,210,214,218,222,241,245,249,253,320,324],{"title":203,"path":206,"stem":207},{"title":211,"path":212,"stem":213},"Board & Investors","\u002Fhandbook\u002Fcompany\u002Fboard","handbook\u002Fcompany\u002Fboard",{"title":215,"path":216,"stem":217},"Communications","\u002Fhandbook\u002Fcompany\u002Fcommunication","handbook\u002Fcompany\u002Fcommunication",{"title":219,"path":220,"stem":221},"Decision making and project management","\u002Fhandbook\u002Fcompany\u002Fdecisions","handbook\u002Fcompany\u002Fdecisions",{"title":223,"icon":224,"path":225,"stem":226,"children":227},"Guides","i-lucide-book-open","\u002Fhandbook\u002Fcompany\u002Fguides","handbook\u002Fcompany\u002Fguides\u002Findex",[228,229,233,237],{"title":223,"path":225,"stem":226},{"title":230,"path":231,"stem":232},"Editing the Handbook","\u002Fhandbook\u002Fcompany\u002Fguides\u002Fgit","handbook\u002Fcompany\u002Fguides\u002Fgit",{"title":234,"path":235,"stem":236},"Google Workspace","\u002Fhandbook\u002Fcompany\u002Fguides\u002Fgworkspace","handbook\u002Fcompany\u002Fguides\u002Fgworkspace",{"title":238,"path":239,"stem":240},"Markdown Guide","\u002Fhandbook\u002Fcompany\u002Fguides\u002Fmarkdown","handbook\u002Fcompany\u002Fguides\u002Fmarkdown",{"title":242,"path":243,"stem":244},"Organizational Structure","\u002Fhandbook\u002Fcompany\u002Forganizational-structure","handbook\u002Fcompany\u002Forganizational-structure",{"title":246,"path":247,"stem":248},"Principles","\u002Fhandbook\u002Fcompany\u002Fprinciples","handbook\u002Fcompany\u002Fprinciples",{"title":250,"path":251,"stem":252},"Remote Work","\u002Fhandbook\u002Fcompany\u002Fremote","handbook\u002Fcompany\u002Fremote",{"title":254,"icon":255,"path":256,"stem":257,"children":258},"Security","i-lucide-shield","\u002Fhandbook\u002Fcompany\u002Fsecurity","handbook\u002Fcompany\u002Fsecurity\u002Findex",[259,260,264,268,272,276,280,284,288,292,296,300,304,308,312,316],{"title":254,"path":256,"stem":257},{"title":261,"path":262,"stem":263},"Access Control Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Faccess-control","handbook\u002Fcompany\u002Fsecurity\u002Faccess-control",{"title":265,"path":266,"stem":267},"AI Development and Customer Data Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fai-development-and-customer-data","handbook\u002Fcompany\u002Fsecurity\u002Fai-development-and-customer-data",{"title":269,"path":270,"stem":271},"Asset Management Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fasset-management","handbook\u002Fcompany\u002Fsecurity\u002Fasset-management",{"title":273,"path":274,"stem":275},"Business Continuity & Disaster Recovery Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fbusiness-continuity","handbook\u002Fcompany\u002Fsecurity\u002Fbusiness-continuity",{"title":277,"path":278,"stem":279},"Hardware Security Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fcomputer-security","handbook\u002Fcompany\u002Fsecurity\u002Fcomputer-security",{"title":281,"path":282,"stem":283},"Cryptography Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fcryptography","handbook\u002Fcompany\u002Fsecurity\u002Fcryptography",{"title":285,"path":286,"stem":287},"Data Management Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fdata-management","handbook\u002Fcompany\u002Fsecurity\u002Fdata-management",{"title":289,"path":290,"stem":291},"Human Resources Security Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fhuman-resources","handbook\u002Fcompany\u002Fsecurity\u002Fhuman-resources",{"title":293,"path":294,"stem":295},"Incident Response Plan","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fincident-response","handbook\u002Fcompany\u002Fsecurity\u002Fincident-response",{"title":297,"path":298,"stem":299},"Information Security Policy and Acceptable Use Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Finformation-security","handbook\u002Fcompany\u002Fsecurity\u002Finformation-security",{"title":301,"path":302,"stem":303},"Information Security Roles and Responsibilities","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Finformation-security-roles","handbook\u002Fcompany\u002Fsecurity\u002Finformation-security-roles",{"title":305,"path":306,"stem":307},"Operations Security Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Foperations-security","handbook\u002Fcompany\u002Fsecurity\u002Foperations-security",{"title":309,"path":310,"stem":311},"Risk Management Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Frisk-management","handbook\u002Fcompany\u002Fsecurity\u002Frisk-management",{"title":313,"path":314,"stem":315},"Secure Development Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fsecure-development","handbook\u002Fcompany\u002Fsecurity\u002Fsecure-development",{"title":317,"path":318,"stem":319},"Third-Party Risk Management Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fthird-party-risk-management","handbook\u002Fcompany\u002Fsecurity\u002Fthird-party-risk-management",{"title":321,"path":322,"stem":323},"Strategy","\u002Fhandbook\u002Fcompany\u002Fstrategy","handbook\u002Fcompany\u002Fstrategy",{"title":325,"path":326,"stem":327},"Values","\u002Fhandbook\u002Fcompany\u002Fvalues","handbook\u002Fcompany\u002Fvalues",{"title":329,"group":330,"icon":331,"order":183,"path":332,"stem":333,"children":334},"Design","Engineering & Design Practices","i-lucide-pen-tool","\u002Fhandbook\u002Fdesign","handbook\u002Fdesign\u002Findex",[335,336,340,344,348,352,356],{"title":329,"path":332,"stem":333},{"title":337,"path":338,"stem":339},"Art Requests","\u002Fhandbook\u002Fdesign\u002Fart-requests","handbook\u002Fdesign\u002Fart-requests",{"title":341,"path":342,"stem":343},"Branding","\u002Fhandbook\u002Fdesign\u002Fbranding","handbook\u002Fdesign\u002Fbranding",{"title":345,"path":346,"stem":347},"Design Thinking","\u002Fhandbook\u002Fdesign\u002Fdesign-thinking","handbook\u002Fdesign\u002Fdesign-thinking",{"title":349,"path":350,"stem":351},"Process","\u002Fhandbook\u002Fdesign\u002Fprocess","handbook\u002Fdesign\u002Fprocess",{"title":353,"path":354,"stem":355},"Tools","\u002Fhandbook\u002Fdesign\u002Ftools","handbook\u002Fdesign\u002Ftools",{"title":357,"path":358,"stem":359},"Video","\u002Fhandbook\u002Fdesign\u002Fvideos","handbook\u002Fdesign\u002Fvideos",{"title":361,"group":330,"icon":362,"order":363,"path":364,"stem":365,"children":366},"Engineering","i-lucide-code-2",3,"\u002Fhandbook\u002Fengineering","handbook\u002Fengineering\u002Findex",[367,368,372,387,391,395,399,433,457,461,518,522,549,553,568],{"title":361,"path":364,"stem":365},{"title":369,"path":370,"stem":371},"Blueprints","\u002Fhandbook\u002Fengineering\u002Fblueprints","handbook\u002Fengineering\u002Fblueprints",{"title":373,"icon":374,"path":375,"stem":376,"children":377},"Contributing","i-lucide-git-pull-request","\u002Fhandbook\u002Fengineering\u002Fcontributing","handbook\u002Fengineering\u002Fcontributing\u002Findex",[378,379,383],{"title":373,"path":375,"stem":376},{"title":380,"path":381,"stem":382},"FF Tables","\u002Fhandbook\u002Fengineering\u002Fcontributing\u002Fff-tables","handbook\u002Fengineering\u002Fcontributing\u002Fff-tables",{"title":384,"path":385,"stem":386},"Team NPM Registry","\u002Fhandbook\u002Fengineering\u002Fcontributing\u002Fteam-npm-registry","handbook\u002Fengineering\u002Fcontributing\u002Fteam-npm-registry",{"title":388,"path":389,"stem":390},"Node-RED Dashboard","\u002Fhandbook\u002Fengineering\u002Fdashboard","handbook\u002Fengineering\u002Fdashboard",{"title":392,"path":393,"stem":394},"Dependency Updates","\u002Fhandbook\u002Fengineering\u002Fdependency-updates","handbook\u002Fengineering\u002Fdependency-updates",{"title":396,"path":397,"stem":398},"Feature Flags in PostHog","\u002Fhandbook\u002Fengineering\u002Ffeature-flags","handbook\u002Fengineering\u002Ffeature-flags",{"title":400,"icon":401,"path":402,"stem":403,"children":404},"Front End","i-lucide-layout-dashboard","\u002Fhandbook\u002Fengineering\u002Ffrontend","handbook\u002Fengineering\u002Ffrontend\u002Findex",[405,406,410,414,418,422],{"title":400,"path":402,"stem":403},{"title":407,"path":408,"stem":409},"Data Attributes","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Fdata-attributes","handbook\u002Fengineering\u002Ffrontend\u002Fdata-attributes",{"title":411,"path":412,"stem":413},"Front-End Layouts","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Flayouts","handbook\u002Fengineering\u002Ffrontend\u002Flayouts",{"title":415,"path":416,"stem":417},"Front-End Services","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Fservices","handbook\u002Fengineering\u002Ffrontend\u002Fservices",{"title":419,"path":420,"stem":421},"Front-End Testing","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Ftesting","handbook\u002Fengineering\u002Ffrontend\u002Ftesting",{"title":423,"icon":424,"path":425,"stem":426,"children":427},"UI Conventions and Style Guide","i-lucide-palette","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Fui-conventions","handbook\u002Fengineering\u002Ffrontend\u002Fui-conventions\u002Findex",[428,429],{"title":423,"path":425,"stem":426},{"title":430,"path":431,"stem":432},"Feature Flags","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Fui-conventions\u002Ffeature-flags","handbook\u002Fengineering\u002Ffrontend\u002Fui-conventions\u002Ffeature-flags",{"title":5,"icon":434,"path":190,"stem":192,"children":435},"i-lucide-server",[436,437,440,442,444,446,448,450,453,455],{"title":5,"path":190,"stem":192},{"title":438,"path":70,"stem":439},"Certified Nodes","handbook\u002Fengineering\u002Fops\u002Fcertified-nodes",{"title":53,"path":52,"stem":441},"handbook\u002Fengineering\u002Fops\u002Fdedicated",{"title":41,"path":40,"stem":443},"handbook\u002Fengineering\u002Fops\u002Fdeployment",{"title":47,"path":46,"stem":445},"handbook\u002Fengineering\u002Fops\u002Fincident-response",{"title":23,"path":22,"stem":447},"handbook\u002Fengineering\u002Fops\u002Fobservability",{"title":35,"path":34,"stem":449},"handbook\u002Fengineering\u002Fops\u002Fproduction",{"title":451,"path":58,"stem":452},"Update Stacks on Production","handbook\u002Fengineering\u002Fops\u002Fproduction-stack-update",{"title":65,"path":64,"stem":454},"handbook\u002Fengineering\u002Fops\u002Fself-hosted-assistant",{"title":29,"path":28,"stem":456},"handbook\u002Fengineering\u002Fops\u002Fstaging",{"title":458,"path":459,"stem":460},"Packaging Guidelines","\u002Fhandbook\u002Fengineering\u002Fpackaging","handbook\u002Fengineering\u002Fpackaging",{"title":462,"icon":463,"path":464,"stem":465,"children":466},"Product","i-lucide-package","\u002Fhandbook\u002Fengineering\u002Fproduct","handbook\u002Fengineering\u002Fproduct\u002Findex",[467,468,472,476,480,484,488,495,499,502,506,510,514],{"title":462,"path":464,"stem":465},{"title":469,"path":470,"stem":471},"Feature Catalog","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Ffeatures","handbook\u002Fengineering\u002Fproduct\u002Ffeatures",{"title":473,"path":474,"stem":475},"Feedback","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Ffeedback","handbook\u002Fengineering\u002Fproduct\u002Ffeedback",{"title":477,"path":478,"stem":479},"Glossary","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fglossary","handbook\u002Fengineering\u002Fproduct\u002Fglossary",{"title":481,"path":482,"stem":483},"Methodology","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fmethodology","handbook\u002Fengineering\u002Fproduct\u002Fmethodology",{"title":485,"path":486,"stem":487},"Metrics","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fmetrics","handbook\u002Fengineering\u002Fproduct\u002Fmetrics",{"title":489,"path":490,"stem":491,"children":492,"icon":494},"Personas","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fpersonas","handbook\u002Fengineering\u002Fproduct\u002Fpersonas\u002Findex",[493],{"title":489,"path":490,"stem":491},"i-lucide-user-circle",{"title":496,"path":497,"stem":498},"Pricing Principles","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fpricing","handbook\u002Fengineering\u002Fproduct\u002Fpricing",{"title":246,"path":500,"stem":501},"\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fprinciples","handbook\u002Fengineering\u002Fproduct\u002Fprinciples",{"title":503,"path":504,"stem":505},"Product Swimlanes","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fproduct-swimlanes","handbook\u002Fengineering\u002Fproduct\u002Fproduct-swimlanes",{"title":507,"path":508,"stem":509},"Product Growth","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Ftelemetry","handbook\u002Fengineering\u002Fproduct\u002Ftelemetry",{"title":511,"path":512,"stem":513},"Versioning","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fversioning","handbook\u002Fengineering\u002Fproduct\u002Fversioning",{"title":515,"path":516,"stem":517},"Market Segments","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fverticals","handbook\u002Fengineering\u002Fproduct\u002Fverticals",{"title":519,"path":520,"stem":521},"Project Management","\u002Fhandbook\u002Fengineering\u002Fproject-management","handbook\u002Fengineering\u002Fproject-management",{"title":523,"icon":524,"path":525,"stem":526,"children":527},"Releases","i-lucide-rocket","\u002Fhandbook\u002Fengineering\u002Freleases","handbook\u002Fengineering\u002Freleases\u002Findex",[528,529,533,537,541,545],{"title":523,"path":525,"stem":526},{"title":530,"path":531,"stem":532},"Dashboard 2.0 Releases","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fdashboard-2","handbook\u002Fengineering\u002Freleases\u002Fdashboard-2",{"title":534,"path":535,"stem":536},"Release Process - Digital Ocean","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fdigital-ocean","handbook\u002Fengineering\u002Freleases\u002Fdigital-ocean",{"title":538,"path":539,"stem":540},"Release Process","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fprocess","handbook\u002Fengineering\u002Freleases\u002Fprocess",{"title":542,"path":543,"stem":544},"Release Blogs","\u002Fhandbook\u002Fengineering\u002Freleases\u002Frelease-blogs","handbook\u002Fengineering\u002Freleases\u002Frelease-blogs",{"title":546,"path":547,"stem":548},"Changelog Posts","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fwriting-changelog","handbook\u002Fengineering\u002Freleases\u002Fwriting-changelog",{"title":550,"path":551,"stem":552},"Security Policy","\u002Fhandbook\u002Fengineering\u002Fsecurity","handbook\u002Fengineering\u002Fsecurity",{"title":554,"path":555,"stem":556,"children":557,"icon":567},"Support","\u002Fhandbook\u002Fengineering\u002Fsupport","handbook\u002Fengineering\u002Fsupport\u002Findex",[558,559,563],{"title":554,"path":555,"stem":556},{"title":560,"path":561,"stem":562},"Triage Duty","\u002Fhandbook\u002Fengineering\u002Fsupport\u002Ftriage","handbook\u002Fengineering\u002Fsupport\u002Ftriage",{"title":564,"path":565,"stem":566},"Troubleshooting","\u002Fhandbook\u002Fengineering\u002Fsupport\u002Ftroubleshooting","handbook\u002Fengineering\u002Fsupport\u002Ftroubleshooting","i-lucide-life-buoy",{"title":353,"path":569,"stem":570},"\u002Fhandbook\u002Fengineering\u002Ftools","handbook\u002Fengineering\u002Ftools",{"title":572,"group":573,"icon":574,"order":575,"path":576,"stem":577,"children":578},"Marketing","Marketing department","i-lucide-megaphone",6,"\u002Fhandbook\u002Fmarketing","handbook\u002Fmarketing\u002Findex",[579,580,586,590,605,624,628,632,636,640,644,648,652,656],{"title":572,"path":576,"stem":577},{"title":581,"path":582,"stem":583,"children":584},"Account-Based Marketing","\u002Fhandbook\u002Fmarketing\u002Faccount-based-marketing","handbook\u002Fmarketing\u002Faccount-based-marketing\u002Findex",[585],{"title":581,"path":582,"stem":583},{"title":587,"path":588,"stem":589},"Brand Voice","\u002Fhandbook\u002Fmarketing\u002Fbrand-voice","handbook\u002Fmarketing\u002Fbrand-voice",{"title":591,"icon":592,"path":593,"stem":594,"children":595},"Community","i-lucide-users-2","\u002Fhandbook\u002Fmarketing\u002Fcommunity","handbook\u002Fmarketing\u002Fcommunity\u002Findex",[596,597,601],{"title":591,"path":593,"stem":594},{"title":598,"path":599,"stem":600},"Community Guidelines","\u002Fhandbook\u002Fmarketing\u002Fcommunity\u002Fcommunity-guidelines","handbook\u002Fmarketing\u002Fcommunity\u002Fcommunity-guidelines",{"title":602,"path":603,"stem":604},"Forums And Support","\u002Fhandbook\u002Fmarketing\u002Fcommunity\u002Fforums-and-support","handbook\u002Fmarketing\u002Fcommunity\u002Fforums-and-support",{"title":606,"icon":607,"path":608,"stem":609,"children":610,"order":205},"Content Strategy","i-lucide-file-text","\u002Fhandbook\u002Fmarketing\u002Fcontent-strategy","handbook\u002Fmarketing\u002Fcontent-strategy\u002Findex",[611,612,616,620],{"title":606,"path":608,"stem":609,"order":205},{"title":613,"path":614,"stem":615},"Blog","\u002Fhandbook\u002Fmarketing\u002Fcontent-strategy\u002Fblog","handbook\u002Fmarketing\u002Fcontent-strategy\u002Fblog",{"title":617,"path":618,"stem":619},"Customer Stories","\u002Fhandbook\u002Fmarketing\u002Fcontent-strategy\u002Fcustomer-stories","handbook\u002Fmarketing\u002Fcontent-strategy\u002Fcustomer-stories",{"title":621,"path":622,"stem":623},"Webinars","\u002Fhandbook\u002Fmarketing\u002Fcontent-strategy\u002Fwebinars","handbook\u002Fmarketing\u002Fcontent-strategy\u002Fwebinars",{"title":625,"path":626,"stem":627},"Events","\u002Fhandbook\u002Fmarketing\u002Fevents","handbook\u002Fmarketing\u002Fevents",{"title":629,"path":630,"stem":631},"How we work","\u002Fhandbook\u002Fmarketing\u002Fhow-we-work","handbook\u002Fmarketing\u002Fhow-we-work",{"title":633,"path":634,"stem":635},"Lead Activation","\u002Fhandbook\u002Fmarketing\u002Flead-activation","handbook\u002Fmarketing\u002Flead-activation",{"title":637,"path":638,"stem":639},"Lead Generation","\u002Fhandbook\u002Fmarketing\u002Fleads","handbook\u002Fmarketing\u002Fleads",{"title":641,"path":642,"stem":643},"Company Messaging","\u002Fhandbook\u002Fmarketing\u002Fmessaging","handbook\u002Fmarketing\u002Fmessaging",{"title":645,"path":646,"stem":647},"Marketing Programs","\u002Fhandbook\u002Fmarketing\u002Fprograms","handbook\u002Fmarketing\u002Fprograms",{"title":649,"path":650,"stem":651},"Sales Development Representative (SDR)","\u002Fhandbook\u002Fmarketing\u002Fsdr","handbook\u002Fmarketing\u002Fsdr",{"title":653,"path":654,"stem":655},"Social Media","\u002Fhandbook\u002Fmarketing\u002Fsocial-media","handbook\u002Fmarketing\u002Fsocial-media",{"title":657,"path":658,"stem":659},"Website","\u002Fhandbook\u002Fmarketing\u002Fwebsite","handbook\u002Fmarketing\u002Fwebsite",{"title":661,"group":203,"icon":662,"order":186,"path":663,"stem":664,"children":665},"Operations","i-lucide-settings-2","\u002Fhandbook\u002Foperations","handbook\u002Foperations\u002Findex",[666,667,671,675,679,702,706,710,714,718],{"title":661,"path":663,"stem":664},{"title":668,"path":669,"stem":670},"Accounting","\u002Fhandbook\u002Foperations\u002Faccounting","handbook\u002Foperations\u002Faccounting",{"title":672,"path":673,"stem":674},"Accounts","\u002Fhandbook\u002Foperations\u002Faccounts","handbook\u002Foperations\u002Faccounts",{"title":676,"path":677,"stem":678},"Billing","\u002Fhandbook\u002Foperations\u002Fbilling","handbook\u002Foperations\u002Fbilling",{"title":680,"icon":681,"path":682,"stem":683,"children":684},"CEO Ops","i-lucide-briefcase","\u002Fhandbook\u002Foperations\u002Fceo-ops","handbook\u002Foperations\u002Fceo-ops\u002Findex",[685,686,690,694,698],{"title":680,"path":682,"stem":683},{"title":687,"path":688,"stem":689},"Calendar Management","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Fcalendar-management","handbook\u002Foperations\u002Fceo-ops\u002Fcalendar-management",{"title":691,"path":692,"stem":693},"Inbox Management","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Finbox-management","handbook\u002Foperations\u002Fceo-ops\u002Finbox-management",{"title":695,"path":696,"stem":697},"Task Management","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Ftask-managment","handbook\u002Foperations\u002Fceo-ops\u002Ftask-managment",{"title":699,"path":700,"stem":701},"Travel Booking","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Ftravel-booking","handbook\u002Foperations\u002Fceo-ops\u002Ftravel-booking",{"title":703,"path":704,"stem":705},"Change Control","\u002Fhandbook\u002Foperations\u002Fchange","handbook\u002Foperations\u002Fchange",{"title":707,"path":708,"stem":709},"Commission Payment","\u002Fhandbook\u002Foperations\u002Fcommission-payment","handbook\u002Foperations\u002Fcommission-payment",{"title":711,"path":712,"stem":713},"Data at FlowFuse","\u002Fhandbook\u002Foperations\u002Fdata","handbook\u002Foperations\u002Fdata",{"title":715,"path":716,"stem":717},"Signatures","\u002Fhandbook\u002Foperations\u002Fsignatures","handbook\u002Foperations\u002Fsignatures",{"title":719,"path":720,"stem":721},"Vendors","\u002Fhandbook\u002Foperations\u002Fvendors","handbook\u002Foperations\u002Fvendors",{"title":723,"group":724,"icon":725,"order":726,"path":727,"stem":728,"children":729},"People Ops","Internal Operations","i-lucide-users",5,"\u002Fhandbook\u002Fpeopleops","handbook\u002Fpeopleops\u002Findex",[730,731,735,739,743,747,751,774,840,844,848,852,856,860],{"title":723,"path":727,"stem":728},{"title":732,"path":733,"stem":734},"Coaching Plans","\u002Fhandbook\u002Fpeopleops\u002Fcoaching-plans","handbook\u002Fpeopleops\u002Fcoaching-plans",{"title":736,"path":737,"stem":738},"Code of Conduct","\u002Fhandbook\u002Fpeopleops\u002Fcode-of-conduct","handbook\u002Fpeopleops\u002Fcode-of-conduct",{"title":740,"path":741,"stem":742},"Compensation","\u002Fhandbook\u002Fpeopleops\u002Fcompensation","handbook\u002Fpeopleops\u002Fcompensation",{"title":744,"path":745,"stem":746},"Compliance & Regulatory","\u002Fhandbook\u002Fpeopleops\u002Fcompliance","handbook\u002Fpeopleops\u002Fcompliance",{"title":748,"path":749,"stem":750},"Expenses","\u002Fhandbook\u002Fpeopleops\u002Fexpenses","handbook\u002Fpeopleops\u002Fexpenses",{"title":752,"icon":753,"path":754,"stem":755,"children":756},"Hiring","i-lucide-user-plus","\u002Fhandbook\u002Fpeopleops\u002Fhiring","handbook\u002Fpeopleops\u002Fhiring\u002Findex",[757,758,762,766,770],{"title":752,"path":754,"stem":755},{"title":759,"path":760,"stem":761},"GitHub Navigation","\u002Fhandbook\u002Fpeopleops\u002Fhiring\u002Fgithub-navigation","handbook\u002Fpeopleops\u002Fhiring\u002Fgithub-navigation",{"title":763,"path":764,"stem":765},"Working with Recruiters","\u002Fhandbook\u002Fpeopleops\u002Fhiring\u002Frecruiters","handbook\u002Fpeopleops\u002Fhiring\u002Frecruiters",{"title":767,"path":768,"stem":769},"Screening Call","\u002Fhandbook\u002Fpeopleops\u002Fhiring\u002Fscreening-call","handbook\u002Fpeopleops\u002Fhiring\u002Fscreening-call",{"title":771,"path":772,"stem":773},"STAR Questions","\u002Fhandbook\u002Fpeopleops\u002Fhiring\u002Fstar-questions","handbook\u002Fpeopleops\u002Fhiring\u002Fstar-questions",{"title":775,"icon":776,"path":777,"stem":778,"children":779},"Job Descriptions","i-lucide-file-badge","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Findex",[780,781,785,789,793,797,801,805,809,813,817,821,825,829,832,836],{"title":775,"path":777,"stem":778},{"title":782,"path":783,"stem":784},"Account Executive","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Faccount-executive","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Faccount-executive",{"title":786,"path":787,"stem":788},"CEO","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fceo","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fceo",{"title":790,"path":791,"stem":792},"Chief of Staff","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fchief-of-staff","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fchief-of-staff",{"title":794,"path":795,"stem":796},"CTO","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fcto","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fcto",{"title":798,"path":799,"stem":800},"Engineering Levels","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fengineering-levels","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fengineering-levels",{"title":802,"path":803,"stem":804},"Engineering Manager","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fengineering-manager","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fengineering-manager",{"title":806,"path":807,"stem":808},"Fullstack Engineer","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer",{"title":810,"path":811,"stem":812},"Fullstack Engineer (AI-Focused)","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer-ai","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer-ai",{"title":814,"path":815,"stem":816},"Head of Marketing","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fhead-of-marketing","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fhead-of-marketing",{"title":818,"path":819,"stem":820},"Lead Product Manager","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Flead-product-manager","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Flead-product-manager",{"title":822,"path":823,"stem":824},"Product Manager","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-manager","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-manager",{"title":826,"path":827,"stem":828},"Product Marketer","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-marketer","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-marketer",{"title":649,"path":830,"stem":831},"\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fsales-development-representative","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fsales-development-representative",{"title":833,"path":834,"stem":835},"Solutions Engineer","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fsolutions-engineer","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fsolutions-engineer",{"title":837,"path":838,"stem":839},"VP of Sales","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fvp-sales","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fvp-sales",{"title":841,"path":842,"stem":843},"Holiday & Leave","\u002Fhandbook\u002Fpeopleops\u002Fleave","handbook\u002Fpeopleops\u002Fleave",{"title":845,"path":846,"stem":847},"PeopleOps Policies","\u002Fhandbook\u002Fpeopleops\u002Forganization","handbook\u002Fpeopleops\u002Forganization",{"title":849,"path":850,"stem":851},"Performance review","\u002Fhandbook\u002Fpeopleops\u002Fperformance-review","handbook\u002Fpeopleops\u002Fperformance-review",{"title":853,"path":854,"stem":855},"Summit","\u002Fhandbook\u002Fpeopleops\u002Fsummit","handbook\u002Fpeopleops\u002Fsummit",{"title":857,"path":858,"stem":859},"Travel","\u002Fhandbook\u002Fpeopleops\u002Ftravel","handbook\u002Fpeopleops\u002Ftravel",{"title":861,"path":862,"stem":863},"U.S. Compliance Policies","\u002Fhandbook\u002Fpeopleops\u002Fus-compliance","handbook\u002Fpeopleops\u002Fus-compliance",{"title":865,"path":866,"stem":867,"group":196,"order":868},"Recent Updates","\u002Fhandbook\u002Frecent-changes","handbook\u002Frecent-changes",0,{"title":870,"group":870,"icon":871,"order":872,"path":873,"stem":874,"children":875},"Commercial Organization","i-lucide-trending-up",7,"\u002Fhandbook\u002Fsales","handbook\u002Fsales\u002Findex",[876,877,885,890,894,899,905,910,915,920,925,930,935,959,964,968,990,996,1001,1009,1013,1017,1022,1026,1030,1035,1040],{"title":870,"path":873,"stem":874},{"title":878,"path":879,"stem":880,"children":881,"order":883,"icon":884},"Sales Compensation Plan","\u002Fhandbook\u002Fsales\u002Fcommission-plan","handbook\u002Fsales\u002Fcommission-plan\u002Findex",[882],{"title":878,"path":879,"stem":880},22,"i-lucide-dollar-sign",{"title":886,"path":887,"stem":888,"order":889},"Customer Journey Alignment","\u002Fhandbook\u002Fsales\u002Fcustomer-journey","handbook\u002Fsales\u002Fcustomer-journey",10,{"title":891,"path":892,"stem":893,"order":363},"Customer Success","\u002Fhandbook\u002Fsales\u002Fcustomer-success","handbook\u002Fsales\u002Fcustomer-success",{"title":895,"path":896,"stem":897,"order":898},"Self Hosted Dashboard v2 Multi User","\u002Fhandbook\u002Fsales\u002Fdashboard-v2","handbook\u002Fsales\u002Fdashboard-v2",20,{"title":900,"path":901,"stem":902,"order":903,"icon":904},"Demo Apps","\u002Fhandbook\u002Fsales\u002Fdemo-apps","handbook\u002Fsales\u002Fdemo-apps",13.7,"i-lucide-layout-grid",{"title":906,"path":907,"stem":908,"order":909},"Edge Connectivity Sales Process","\u002Fhandbook\u002Fsales\u002Fedge-connect-process","handbook\u002Fsales\u002Fedge-connect-process",19,{"title":911,"path":912,"stem":913,"order":914},"Engagements & Pricing","\u002Fhandbook\u002Fsales\u002Fengagements","handbook\u002Fsales\u002Fengagements",14,{"title":916,"path":917,"stem":918,"order":919,"icon":434},"FlowFuse Trial Environment","\u002Fhandbook\u002Fsales\u002Fflowfuse-trial-environment","handbook\u002Fsales\u002Fflowfuse-trial-environment",13.6,{"title":921,"path":922,"stem":923,"order":924},"Forecast Review","\u002Fhandbook\u002Fsales\u002Fforecast-review","handbook\u002Fsales\u002Fforecast-review",15,{"title":926,"path":927,"stem":928,"order":929},"HubSpot","\u002Fhandbook\u002Fsales\u002Fhubspot","handbook\u002Fsales\u002Fhubspot",16,{"title":931,"path":932,"stem":933,"order":934},"Legal","\u002Fhandbook\u002Fsales\u002Flegal","handbook\u002Fsales\u002Flegal",21,{"title":936,"order":937,"icon":938,"path":939,"stem":940,"children":941},"Sales Meetings",13,"i-lucide-calendar","\u002Fhandbook\u002Fsales\u002Fmeetings","handbook\u002Fsales\u002Fmeetings\u002Findex",[942,943,947,951,955],{"title":936,"path":939,"stem":940},{"title":944,"path":945,"stem":946,"order":186},"Demo","\u002Fhandbook\u002Fsales\u002Fmeetings\u002Fdemo","handbook\u002Fsales\u002Fmeetings\u002Fdemo",{"title":948,"path":949,"stem":950,"order":205},"Discovery Meeting","\u002Fhandbook\u002Fsales\u002Fmeetings\u002Fdiscovery","handbook\u002Fsales\u002Fmeetings\u002Fdiscovery",{"title":952,"path":953,"stem":954,"order":183},"Proof of Value","\u002Fhandbook\u002Fsales\u002Fmeetings\u002Fpov","handbook\u002Fsales\u002Fmeetings\u002Fpov",{"title":956,"path":957,"stem":958,"order":363},"Solution","\u002Fhandbook\u002Fsales\u002Fmeetings\u002Fsolution","handbook\u002Fsales\u002Fmeetings\u002Fsolution",{"title":960,"path":961,"stem":962,"order":963},"Onboarding & Development","\u002Fhandbook\u002Fsales\u002Fonboarding","handbook\u002Fsales\u002Fonboarding",11,{"title":965,"path":966,"stem":967,"order":575},"Commercial Team Operating Principles","\u002Fhandbook\u002Fsales\u002Foperating-principles","handbook\u002Fsales\u002Foperating-principles",{"title":969,"order":726,"icon":970,"path":971,"stem":972,"children":973},"Partnerships","i-lucide-handshake","\u002Fhandbook\u002Fsales\u002Fpartnerships","handbook\u002Fsales\u002Fpartnerships\u002Findex",[974,975,979],{"title":969,"path":971,"stem":972},{"title":976,"path":977,"stem":978,"order":186},"Channel Partners","\u002Fhandbook\u002Fsales\u002Fpartnerships\u002Fchannel-partners","handbook\u002Fsales\u002Fpartnerships\u002Fchannel-partners",{"title":980,"path":981,"stem":982,"children":983,"order":205,"icon":989},"Hardware Partners","\u002Fhandbook\u002Fsales\u002Fpartnerships\u002Fhardware-partners","handbook\u002Fsales\u002Fpartnerships\u002Fhardware-partners\u002Findex",[984,985],{"title":980,"path":981,"stem":982},{"title":986,"path":987,"stem":988,"order":205},"Hardware Partner Workbook","\u002Fhandbook\u002Fsales\u002Fpartnerships\u002Fhardware-partners\u002Fworkbook","handbook\u002Fsales\u002Fpartnerships\u002Fhardware-partners\u002Fworkbook","i-lucide-cpu",{"title":991,"path":992,"stem":993,"order":994,"icon":995},"PoV Workbook","\u002Fhandbook\u002Fsales\u002Fpov-workbook","handbook\u002Fsales\u002Fpov-workbook",13.5,"i-lucide-clipboard-list",{"title":997,"path":998,"stem":999,"order":1000},"Pricing Decks","\u002Fhandbook\u002Fsales\u002Fpricing-decks","handbook\u002Fsales\u002Fpricing-decks",18,{"title":1002,"path":1003,"stem":1004,"children":1005,"order":1007,"icon":1008},"Processes","\u002Fhandbook\u002Fsales\u002Fprocesses","handbook\u002Fsales\u002Fprocesses\u002Findex",[1006],{"title":1002,"path":1003,"stem":1004},12,"i-lucide-workflow",{"title":1010,"path":1011,"stem":1012,"order":183},"Professional Services","\u002Fhandbook\u002Fsales\u002Fprofessional-services","handbook\u002Fsales\u002Fprofessional-services",{"title":1014,"path":1015,"stem":1016,"order":872},"Sales Regions","\u002Fhandbook\u002Fsales\u002Fregions","handbook\u002Fsales\u002Fregions",{"title":1018,"path":1019,"stem":1020,"order":1021},"Sales Deck","\u002Fhandbook\u002Fsales\u002Fsales-deck","handbook\u002Fsales\u002Fsales-deck",17,{"title":1023,"path":1024,"stem":1025,"order":205},"Sales","\u002Fhandbook\u002Fsales\u002Fsales-team","handbook\u002Fsales\u002Fsales-team",{"title":1027,"path":1028,"stem":1029,"order":186},"Solution Engineering","\u002Fhandbook\u002Fsales\u002Fsolution-engineering","handbook\u002Fsales\u002Fsolution-engineering",{"title":1031,"path":1032,"stem":1033,"order":1034},"Subscription Agreement 1.5","\u002Fhandbook\u002Fsales\u002Fsubscription-agreement-1.5","handbook\u002Fsales\u002Fsubscription-agreement-1.5",23,{"title":1036,"path":1037,"stem":1038,"order":1039},"Systems & Tools","\u002Fhandbook\u002Fsales\u002Ftools","handbook\u002Fsales\u002Ftools",8,{"title":1041,"path":1042,"stem":1043,"order":1044},"Working Norms","\u002Fhandbook\u002Fsales\u002Fworking-norms","handbook\u002Fsales\u002Fworking-norms",9,1788365178615]