[{"data":1,"prerenderedAt":959},["ShallowReactive",2],{"handbook-\u002Fhandbook\u002Fengineering\u002Fops\u002Fdedicated\u002F":3,"handbook-nav":195},{"id":4,"title":5,"body":6,"description":16,"extension":188,"meta":189,"navigation":190,"path":191,"seo":192,"stem":193,"__hash__":194},"handbook\u002Fhandbook\u002Fengineering\u002Fops\u002Fdedicated.md","FlowFuse Dedicated",{"type":7,"value":8,"toc":176},"minimark",[9,13,17,20,25,28,103,107,110,113,140,144,147,154,158,161,166,169,173],[10,11,5],"h1",{"id":12},"flowfuse-dedicated",[14,15,16],"p",{},"FlowFuse Dedicated is our product offering where we will host a dedicated instance\nof the platform for a customer.",[14,18,19],{},"This is a guide for the setup and delivery of a dedicated instance.",[21,22,24],"h3",{"id":23},"pre-deployment","Pre-deployment",[14,26,27],{},"In order to create the dedicated instance, some information will be required from the customer.",[29,30,31,75,85,91,97],"ul",{},[32,33,34,38,39],"li",{},[35,36,37],"strong",{},"A domain name or sub domain name to host the platform on",".\n",[29,40,41,49,60,69,72],{},[32,42,43,44,48],{},"By default, we will offer to host the platform under a domain of ",[45,46,47],"code",{},"\u003Ccustomer>.flowfuse.io",".",[32,50,51,52,55,56,59],{},"The core platform (",[45,53,54],{},"app.","), broker (",[45,57,58],{},"mqtt.",") and hosted instances will be made available under this domain.",[32,61,62,63,65,66],{},"The base domain, ",[45,64,47],{},", will redirect to ",[45,67,68],{},"app.\u003Ccustomer>.flowfuse.io",[32,70,71],{},"All traffic to the domain will be on port 443 - including the Device Agent MQTT connection",[32,73,74],{},"If the customer requests to use their own (sub-)domain, they will need to set up their DNS to point\nat the AWS Route53 end-point once it has been created.",[32,76,77,80,81,84],{},[35,78,79],{},"Choice of AWS region",". We default to ",[45,82,83],{},"eu-west-1"," but customers may want to choose one more\nlocal to them. Not all AWS regions are equal and we may need to review their choice for suitability.",[32,86,87,90],{},[35,88,89],{},"Capacity planning",". Whilst the platform will scale to meet demand, we want to sure we provision\nit at a suitable level for their intended usage. Understanding their planned usage and growth rate\nwill help us pick the right node size for the cluster.",[32,92,93,96],{},[35,94,95],{},"Team\u002FInstance types",". We will default to creating equivalent Team and Instance types as\nwe use on FFCloud. If a customer has specific needs in this area, this should be identified prior\nto deployment.",[32,98,99,102],{},[35,100,101],{},"SSO Configuration",". As with FFCloud, if the customer plans to integrate with their SSO provider,\nwe will need to capture the necessary information. This can be done after the initial deployment.",[21,104,106],{"id":105},"deployment","Deployment",[14,108,109],{},"An issue should be raised in the CloudProject repository using the Dedicated Checklist template\nand assigned to the member of the engineering\u002Fops team who will do the setup.",[14,111,112],{},"This checklist covers the follow items:",[114,115,116,119,122,125,128,131,134,137],"ol",{},[32,117,118],{},"Create a new AWS sub-account for each dedicated env.",[32,120,121],{},"Create user accounts for the ops team",[32,123,124],{},"Use Terraform to set up initial cluster",[32,126,127],{},"Setup grafana monitoring - including all the necessary alerting",[32,129,130],{},"Setup initial admin account - store details in 1Password",[32,132,133],{},"Setup initial Stacks, Instance Types and Team Types",[32,135,136],{},"Setup SSO for customer",[32,138,139],{},"Create initial account for customer admin user (if we’re giving them admin access)",[21,141,143],{"id":142},"migration","Migration",[14,145,146],{},"For existing customers of FFCloud who are choosing to move to a FFDedicated environment,\nwe need to consider how to migrate their existing account. This will need to be considered\non a case-by-case basis in discussion with the customer as there are a number of challenges\naround providing a seamless migration.",[14,148,149,150,153],{},"For example, we cannot migrate access tokens between platforms. This will require devices\nto be reprovisioned with new credentials as well as have their ",[45,151,152],{},"device.yml"," updated to point\nto the new platform URL.",[21,155,157],{"id":156},"maintenance","Maintenance",[14,159,160],{},"We will agree a maintenance policy with the customer to fit their needs. We will require\nthe code to be kept up to date - the question is how we schedule updates.",[162,163,165],"h4",{"id":164},"flowfuse-code-updates","FlowFuse Code Updates",[14,167,168],{},"We can either do CI\u002FCD as we do for FF Cloud, or apply updates following each monthly release.",[162,170,172],{"id":171},"k8s-updates","k8s Updates",[14,174,175],{},"We will coordinate maintenance windows with the customer for when we need to apply\nupdates to the underlying k8s infrastructure as this will require restarts of their\nNode-RED instances.",{"title":177,"searchDepth":178,"depth":178,"links":179},"",4,[180,182,183,184],{"id":23,"depth":181,"text":24},3,{"id":105,"depth":181,"text":106},{"id":142,"depth":181,"text":143},{"id":156,"depth":181,"text":157,"children":185},[186,187],{"id":164,"depth":178,"text":165},{"id":171,"depth":178,"text":172},"md",{},null,"\u002Fhandbook\u002Fengineering\u002Fops\u002Fdedicated",{"title":5,"description":16},"handbook\u002Fengineering\u002Fops\u002Fdedicated","FitvTQnE3Qy22cTdc6SmNrjJ1AGWmvRXMkC5_diuF7o",[196],{"title":197,"path":198,"stem":199,"children":200},"Handbook","\u002Fhandbook","handbook",[201,203,329,361,570,653,716,851],{"title":197,"path":198,"stem":202},"handbook\u002Findex",{"title":204,"group":204,"icon":205,"order":206,"path":207,"stem":208,"children":209},"Company","i-lucide-building-2",1,"\u002Fhandbook\u002Fcompany","handbook\u002Fcompany\u002Findex",[210,211,215,219,223,242,246,250,254,321,325],{"title":204,"path":207,"stem":208},{"title":212,"path":213,"stem":214},"Board & Investors","\u002Fhandbook\u002Fcompany\u002Fboard","handbook\u002Fcompany\u002Fboard",{"title":216,"path":217,"stem":218},"Communications","\u002Fhandbook\u002Fcompany\u002Fcommunication","handbook\u002Fcompany\u002Fcommunication",{"title":220,"path":221,"stem":222},"Decision making and project management","\u002Fhandbook\u002Fcompany\u002Fdecisions","handbook\u002Fcompany\u002Fdecisions",{"title":224,"icon":225,"path":226,"stem":227,"children":228},"Guides","i-lucide-book-open","\u002Fhandbook\u002Fcompany\u002Fguides","handbook\u002Fcompany\u002Fguides\u002Findex",[229,230,234,238],{"title":224,"path":226,"stem":227},{"title":231,"path":232,"stem":233},"Editing the Handbook","\u002Fhandbook\u002Fcompany\u002Fguides\u002Fgit","handbook\u002Fcompany\u002Fguides\u002Fgit",{"title":235,"path":236,"stem":237},"Google Workspace","\u002Fhandbook\u002Fcompany\u002Fguides\u002Fgworkspace","handbook\u002Fcompany\u002Fguides\u002Fgworkspace",{"title":239,"path":240,"stem":241},"Markdown Guide","\u002Fhandbook\u002Fcompany\u002Fguides\u002Fmarkdown","handbook\u002Fcompany\u002Fguides\u002Fmarkdown",{"title":243,"path":244,"stem":245},"Organizational Structure","\u002Fhandbook\u002Fcompany\u002Forganizational-structure","handbook\u002Fcompany\u002Forganizational-structure",{"title":247,"path":248,"stem":249},"Principles","\u002Fhandbook\u002Fcompany\u002Fprinciples","handbook\u002Fcompany\u002Fprinciples",{"title":251,"path":252,"stem":253},"Remote Work","\u002Fhandbook\u002Fcompany\u002Fremote","handbook\u002Fcompany\u002Fremote",{"title":255,"icon":256,"path":257,"stem":258,"children":259},"Security","i-lucide-shield","\u002Fhandbook\u002Fcompany\u002Fsecurity","handbook\u002Fcompany\u002Fsecurity\u002Findex",[260,261,265,269,273,277,281,285,289,293,297,301,305,309,313,317],{"title":255,"path":257,"stem":258},{"title":262,"path":263,"stem":264},"Access Control Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Faccess-control","handbook\u002Fcompany\u002Fsecurity\u002Faccess-control",{"title":266,"path":267,"stem":268},"AI Development and Customer Data Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fai-development-and-customer-data","handbook\u002Fcompany\u002Fsecurity\u002Fai-development-and-customer-data",{"title":270,"path":271,"stem":272},"Asset Management Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fasset-management","handbook\u002Fcompany\u002Fsecurity\u002Fasset-management",{"title":274,"path":275,"stem":276},"Business Continuity & Disaster Recovery Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fbusiness-continuity","handbook\u002Fcompany\u002Fsecurity\u002Fbusiness-continuity",{"title":278,"path":279,"stem":280},"Hardware Security Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fcomputer-security","handbook\u002Fcompany\u002Fsecurity\u002Fcomputer-security",{"title":282,"path":283,"stem":284},"Cryptography Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fcryptography","handbook\u002Fcompany\u002Fsecurity\u002Fcryptography",{"title":286,"path":287,"stem":288},"Data Management Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fdata-management","handbook\u002Fcompany\u002Fsecurity\u002Fdata-management",{"title":290,"path":291,"stem":292},"Human Resources Security Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fhuman-resources","handbook\u002Fcompany\u002Fsecurity\u002Fhuman-resources",{"title":294,"path":295,"stem":296},"Incident Response Plan","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fincident-response","handbook\u002Fcompany\u002Fsecurity\u002Fincident-response",{"title":298,"path":299,"stem":300},"Information Security Policy and Acceptable Use Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Finformation-security","handbook\u002Fcompany\u002Fsecurity\u002Finformation-security",{"title":302,"path":303,"stem":304},"Information Security Roles and Responsibilities","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Finformation-security-roles","handbook\u002Fcompany\u002Fsecurity\u002Finformation-security-roles",{"title":306,"path":307,"stem":308},"Operations Security Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Foperations-security","handbook\u002Fcompany\u002Fsecurity\u002Foperations-security",{"title":310,"path":311,"stem":312},"Risk Management Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Frisk-management","handbook\u002Fcompany\u002Fsecurity\u002Frisk-management",{"title":314,"path":315,"stem":316},"Secure Development Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fsecure-development","handbook\u002Fcompany\u002Fsecurity\u002Fsecure-development",{"title":318,"path":319,"stem":320},"Third-Party Risk Management Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fthird-party-risk-management","handbook\u002Fcompany\u002Fsecurity\u002Fthird-party-risk-management",{"title":322,"path":323,"stem":324},"Strategy","\u002Fhandbook\u002Fcompany\u002Fstrategy","handbook\u002Fcompany\u002Fstrategy",{"title":326,"path":327,"stem":328},"Values","\u002Fhandbook\u002Fcompany\u002Fvalues","handbook\u002Fcompany\u002Fvalues",{"title":330,"group":331,"icon":332,"order":178,"path":333,"stem":334,"children":335},"Design","Engineering & Design Practices","i-lucide-pen-tool","\u002Fhandbook\u002Fdesign","handbook\u002Fdesign\u002Findex",[336,337,341,345,349,353,357],{"title":330,"path":333,"stem":334},{"title":338,"path":339,"stem":340},"Art Requests","\u002Fhandbook\u002Fdesign\u002Fart-requests","handbook\u002Fdesign\u002Fart-requests",{"title":342,"path":343,"stem":344},"Branding","\u002Fhandbook\u002Fdesign\u002Fbranding","handbook\u002Fdesign\u002Fbranding",{"title":346,"path":347,"stem":348},"Design Thinking","\u002Fhandbook\u002Fdesign\u002Fdesign-thinking","handbook\u002Fdesign\u002Fdesign-thinking",{"title":350,"path":351,"stem":352},"Process","\u002Fhandbook\u002Fdesign\u002Fprocess","handbook\u002Fdesign\u002Fprocess",{"title":354,"path":355,"stem":356},"Tools","\u002Fhandbook\u002Fdesign\u002Ftools","handbook\u002Fdesign\u002Ftools",{"title":358,"path":359,"stem":360},"Video","\u002Fhandbook\u002Fdesign\u002Fvideos","handbook\u002Fdesign\u002Fvideos",{"title":362,"group":331,"icon":363,"order":181,"path":364,"stem":365,"children":366},"Engineering","i-lucide-code-2","\u002Fhandbook\u002Fengineering","handbook\u002Fengineering\u002Findex",[367,368,387,391,395,418,453,457,521,525,548,552,567],{"title":362,"path":364,"stem":365},{"title":369,"icon":370,"path":371,"stem":372,"children":373},"Contributing","i-lucide-git-pull-request","\u002Fhandbook\u002Fengineering\u002Fcontributing","handbook\u002Fengineering\u002Fcontributing\u002Findex",[374,375,379,383],{"title":369,"path":371,"stem":372},{"title":376,"path":377,"stem":378},"Certified Nodes","\u002Fhandbook\u002Fengineering\u002Fcontributing\u002Fcertified-nodes","handbook\u002Fengineering\u002Fcontributing\u002Fcertified-nodes",{"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},"Dependency Updates","\u002Fhandbook\u002Fengineering\u002Fdependency-updates","handbook\u002Fengineering\u002Fdependency-updates",{"title":392,"path":393,"stem":394},"Feature Flags in PostHog","\u002Fhandbook\u002Fengineering\u002Ffeature-flags","handbook\u002Fengineering\u002Ffeature-flags",{"title":396,"icon":397,"path":398,"stem":399,"children":400},"Front End","i-lucide-layout-dashboard","\u002Fhandbook\u002Fengineering\u002Ffrontend","handbook\u002Fengineering\u002Ffrontend\u002Findex",[401,402,406,410,414],{"title":396,"path":398,"stem":399},{"title":403,"path":404,"stem":405},"Data Attributes","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Fdata-attributes","handbook\u002Fengineering\u002Ffrontend\u002Fdata-attributes",{"title":407,"path":408,"stem":409},"Front-End Layouts","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Flayouts","handbook\u002Fengineering\u002Ffrontend\u002Flayouts",{"title":411,"path":412,"stem":413},"Front-End Services","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Fservices","handbook\u002Fengineering\u002Ffrontend\u002Fservices",{"title":415,"path":416,"stem":417},"Front-End Testing","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Ftesting","handbook\u002Fengineering\u002Ffrontend\u002Ftesting",{"title":419,"icon":420,"path":421,"stem":422,"children":423},"Platform Ops","i-lucide-server","\u002Fhandbook\u002Fengineering\u002Fops","handbook\u002Fengineering\u002Fops\u002Findex",[424,425,426,429,433,437,441,445,449],{"title":419,"path":421,"stem":422},{"title":5,"path":191,"stem":193},{"title":106,"path":427,"stem":428},"\u002Fhandbook\u002Fengineering\u002Fops\u002Fdeployment","handbook\u002Fengineering\u002Fops\u002Fdeployment",{"title":430,"path":431,"stem":432},"Incident Response","\u002Fhandbook\u002Fengineering\u002Fops\u002Fincident-response","handbook\u002Fengineering\u002Fops\u002Fincident-response",{"title":434,"path":435,"stem":436},"Observability","\u002Fhandbook\u002Fengineering\u002Fops\u002Fobservability","handbook\u002Fengineering\u002Fops\u002Fobservability",{"title":438,"path":439,"stem":440},"Production Environment","\u002Fhandbook\u002Fengineering\u002Fops\u002Fproduction","handbook\u002Fengineering\u002Fops\u002Fproduction",{"title":442,"path":443,"stem":444},"Update Stacks on Production","\u002Fhandbook\u002Fengineering\u002Fops\u002Fproduction-stack-update","handbook\u002Fengineering\u002Fops\u002Fproduction-stack-update",{"title":446,"path":447,"stem":448},"Self Hosted Assistant","\u002Fhandbook\u002Fengineering\u002Fops\u002Fself-hosted-assistant","handbook\u002Fengineering\u002Fops\u002Fself-hosted-assistant",{"title":450,"path":451,"stem":452},"Staging Environment","\u002Fhandbook\u002Fengineering\u002Fops\u002Fstaging","handbook\u002Fengineering\u002Fops\u002Fstaging",{"title":454,"path":455,"stem":456},"Packaging Guidelines","\u002Fhandbook\u002Fengineering\u002Fpackaging","handbook\u002Fengineering\u002Fpackaging",{"title":458,"icon":459,"path":460,"stem":461,"children":462},"Product","i-lucide-package","\u002Fhandbook\u002Fengineering\u002Fproduct","handbook\u002Fengineering\u002Fproduct\u002Findex",[463,464,468,472,476,480,484,491,495,498,502,505,509,513,517],{"title":458,"path":460,"stem":461},{"title":465,"path":466,"stem":467},"Blueprints","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fblueprints","handbook\u002Fengineering\u002Fproduct\u002Fblueprints",{"title":469,"path":470,"stem":471},"Node-RED Dashboard","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fdashboard","handbook\u002Fengineering\u002Fproduct\u002Fdashboard",{"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},"Metrics","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fmetrics","handbook\u002Fengineering\u002Fproduct\u002Fmetrics",{"title":485,"path":486,"stem":487,"children":488,"icon":490},"Personas","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fpersonas","handbook\u002Fengineering\u002Fproduct\u002Fpersonas\u002Findex",[489],{"title":485,"path":486,"stem":487},"i-lucide-user-circle",{"title":492,"path":493,"stem":494},"Pricing Principles","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fpricing","handbook\u002Fengineering\u002Fproduct\u002Fpricing",{"title":247,"path":496,"stem":497},"\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fprinciples","handbook\u002Fengineering\u002Fproduct\u002Fprinciples",{"title":499,"path":500,"stem":501},"Product Swimlanes","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fproduct-swimlanes","handbook\u002Fengineering\u002Fproduct\u002Fproduct-swimlanes",{"title":322,"path":503,"stem":504},"\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fstrategy","handbook\u002Fengineering\u002Fproduct\u002Fstrategy",{"title":506,"path":507,"stem":508},"Product Growth","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Ftelemetry","handbook\u002Fengineering\u002Fproduct\u002Ftelemetry",{"title":510,"path":511,"stem":512},"Versioning","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fversioning","handbook\u002Fengineering\u002Fproduct\u002Fversioning",{"title":514,"path":515,"stem":516},"Market Segments","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fverticals","handbook\u002Fengineering\u002Fproduct\u002Fverticals",{"title":518,"path":519,"stem":520},"Vision","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fvision","handbook\u002Fengineering\u002Fproduct\u002Fvision",{"title":522,"path":523,"stem":524},"Project Management","\u002Fhandbook\u002Fengineering\u002Fproject-management","handbook\u002Fengineering\u002Fproject-management",{"title":526,"icon":527,"path":528,"stem":529,"children":530},"Releases","i-lucide-rocket","\u002Fhandbook\u002Fengineering\u002Freleases","handbook\u002Fengineering\u002Freleases\u002Findex",[531,532,536,540,544],{"title":526,"path":528,"stem":529},{"title":533,"path":534,"stem":535},"Dashboard 2.0 Releases","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fdashboard-2","handbook\u002Fengineering\u002Freleases\u002Fdashboard-2",{"title":537,"path":538,"stem":539},"Release Process - Digital Ocean","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fdigital-ocean","handbook\u002Fengineering\u002Freleases\u002Fdigital-ocean",{"title":541,"path":542,"stem":543},"Release Process","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fprocess","handbook\u002Fengineering\u002Freleases\u002Fprocess",{"title":545,"path":546,"stem":547},"Changelog Posts","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fwriting-changelog","handbook\u002Fengineering\u002Freleases\u002Fwriting-changelog",{"title":549,"path":550,"stem":551},"Security Policy","\u002Fhandbook\u002Fengineering\u002Fsecurity","handbook\u002Fengineering\u002Fsecurity",{"title":553,"path":554,"stem":555,"children":556,"icon":566},"Support","\u002Fhandbook\u002Fengineering\u002Fsupport","handbook\u002Fengineering\u002Fsupport\u002Findex",[557,558,562],{"title":553,"path":554,"stem":555},{"title":559,"path":560,"stem":561},"Triage Duty","\u002Fhandbook\u002Fengineering\u002Fsupport\u002Ftriage","handbook\u002Fengineering\u002Fsupport\u002Ftriage",{"title":563,"path":564,"stem":565},"Troubleshooting","\u002Fhandbook\u002Fengineering\u002Fsupport\u002Ftroubleshooting","handbook\u002Fengineering\u002Fsupport\u002Ftroubleshooting","i-lucide-life-buoy",{"title":354,"path":568,"stem":569},"\u002Fhandbook\u002Fengineering\u002Ftools","handbook\u002Fengineering\u002Ftools",{"title":571,"group":572,"icon":573,"order":574,"path":575,"stem":576,"children":577},"Marketing","Marketing department","i-lucide-megaphone",6,"\u002Fhandbook\u002Fmarketing","handbook\u002Fmarketing\u002Findex",[578,579,583,598,617,621,625,629,633,637,641,645,649],{"title":571,"path":575,"stem":576},{"title":580,"path":581,"stem":582},"Brand Voice","\u002Fhandbook\u002Fmarketing\u002Fbrand-voice","handbook\u002Fmarketing\u002Fbrand-voice",{"title":584,"icon":585,"path":586,"stem":587,"children":588},"Community","i-lucide-users-2","\u002Fhandbook\u002Fmarketing\u002Fcommunity","handbook\u002Fmarketing\u002Fcommunity\u002Findex",[589,590,594],{"title":584,"path":586,"stem":587},{"title":591,"path":592,"stem":593},"Community Guidelines","\u002Fhandbook\u002Fmarketing\u002Fcommunity\u002Fcommunity-guidelines","handbook\u002Fmarketing\u002Fcommunity\u002Fcommunity-guidelines",{"title":595,"path":596,"stem":597},"Forums And Support","\u002Fhandbook\u002Fmarketing\u002Fcommunity\u002Fforums-and-support","handbook\u002Fmarketing\u002Fcommunity\u002Fforums-and-support",{"title":599,"icon":600,"path":601,"stem":602,"children":603,"order":206},"Content Strategy","i-lucide-file-text","\u002Fhandbook\u002Fmarketing\u002Fcontent-strategy","handbook\u002Fmarketing\u002Fcontent-strategy\u002Findex",[604,605,609,613],{"title":599,"path":601,"stem":602,"order":206},{"title":606,"path":607,"stem":608},"Blog","\u002Fhandbook\u002Fmarketing\u002Fcontent-strategy\u002Fblog","handbook\u002Fmarketing\u002Fcontent-strategy\u002Fblog",{"title":610,"path":611,"stem":612},"Customer Stories","\u002Fhandbook\u002Fmarketing\u002Fcontent-strategy\u002Fcustomer-stories","handbook\u002Fmarketing\u002Fcontent-strategy\u002Fcustomer-stories",{"title":614,"path":615,"stem":616},"Webinars","\u002Fhandbook\u002Fmarketing\u002Fcontent-strategy\u002Fwebinars","handbook\u002Fmarketing\u002Fcontent-strategy\u002Fwebinars",{"title":618,"path":619,"stem":620},"FlowFuse for Education","\u002Fhandbook\u002Fmarketing\u002Feducation","handbook\u002Fmarketing\u002Feducation",{"title":622,"path":623,"stem":624},"Events","\u002Fhandbook\u002Fmarketing\u002Fevents","handbook\u002Fmarketing\u002Fevents",{"title":626,"path":627,"stem":628},"How we work","\u002Fhandbook\u002Fmarketing\u002Fhow-we-work","handbook\u002Fmarketing\u002Fhow-we-work",{"title":630,"path":631,"stem":632},"Lead Activation","\u002Fhandbook\u002Fmarketing\u002Flead-activation","handbook\u002Fmarketing\u002Flead-activation",{"title":634,"path":635,"stem":636},"Lead Generation","\u002Fhandbook\u002Fmarketing\u002Fleads","handbook\u002Fmarketing\u002Fleads",{"title":638,"path":639,"stem":640},"Company Messaging","\u002Fhandbook\u002Fmarketing\u002Fmessaging","handbook\u002Fmarketing\u002Fmessaging",{"title":642,"path":643,"stem":644},"Marketing Programs","\u002Fhandbook\u002Fmarketing\u002Fprograms","handbook\u002Fmarketing\u002Fprograms",{"title":646,"path":647,"stem":648},"Social Media","\u002Fhandbook\u002Fmarketing\u002Fsocial-media","handbook\u002Fmarketing\u002Fsocial-media",{"title":650,"path":651,"stem":652},"Website","\u002Fhandbook\u002Fmarketing\u002Fwebsite","handbook\u002Fmarketing\u002Fwebsite",{"title":654,"group":204,"icon":655,"order":656,"path":657,"stem":658,"children":659},"Operations","i-lucide-settings-2",2,"\u002Fhandbook\u002Foperations","handbook\u002Foperations\u002Findex",[660,661,665,669,673,696,700,704,708,712],{"title":654,"path":657,"stem":658},{"title":662,"path":663,"stem":664},"Accounting","\u002Fhandbook\u002Foperations\u002Faccounting","handbook\u002Foperations\u002Faccounting",{"title":666,"path":667,"stem":668},"Accounts","\u002Fhandbook\u002Foperations\u002Faccounts","handbook\u002Foperations\u002Faccounts",{"title":670,"path":671,"stem":672},"Billing","\u002Fhandbook\u002Foperations\u002Fbilling","handbook\u002Foperations\u002Fbilling",{"title":674,"icon":675,"path":676,"stem":677,"children":678},"CEO Ops","i-lucide-briefcase","\u002Fhandbook\u002Foperations\u002Fceo-ops","handbook\u002Foperations\u002Fceo-ops\u002Findex",[679,680,684,688,692],{"title":674,"path":676,"stem":677},{"title":681,"path":682,"stem":683},"Calendar Management","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Fcalendar-management","handbook\u002Foperations\u002Fceo-ops\u002Fcalendar-management",{"title":685,"path":686,"stem":687},"Inbox Management","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Finbox-management","handbook\u002Foperations\u002Fceo-ops\u002Finbox-management",{"title":689,"path":690,"stem":691},"Task Management","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Ftask-managment","handbook\u002Foperations\u002Fceo-ops\u002Ftask-managment",{"title":693,"path":694,"stem":695},"Travel Booking","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Ftravel-booking","handbook\u002Foperations\u002Fceo-ops\u002Ftravel-booking",{"title":697,"path":698,"stem":699},"Change Control","\u002Fhandbook\u002Foperations\u002Fchange","handbook\u002Foperations\u002Fchange",{"title":701,"path":702,"stem":703},"Commission Payment","\u002Fhandbook\u002Foperations\u002Fcommission-payment","handbook\u002Foperations\u002Fcommission-payment",{"title":705,"path":706,"stem":707},"Data at FlowFuse","\u002Fhandbook\u002Foperations\u002Fdata","handbook\u002Foperations\u002Fdata",{"title":709,"path":710,"stem":711},"Signatures","\u002Fhandbook\u002Foperations\u002Fsignatures","handbook\u002Foperations\u002Fsignatures",{"title":713,"path":714,"stem":715},"Vendors","\u002Fhandbook\u002Foperations\u002Fvendors","handbook\u002Foperations\u002Fvendors",{"title":717,"group":718,"icon":719,"order":720,"path":721,"stem":722,"children":723},"People Ops","Internal Operations","i-lucide-users",5,"\u002Fhandbook\u002Fpeopleops","handbook\u002Fpeopleops\u002Findex",[724,725,729,733,737,741,745,764,831,835,839,843,847],{"title":717,"path":721,"stem":722},{"title":726,"path":727,"stem":728},"Coaching Plans","\u002Fhandbook\u002Fpeopleops\u002Fcoaching-plans","handbook\u002Fpeopleops\u002Fcoaching-plans",{"title":730,"path":731,"stem":732},"Code of Conduct","\u002Fhandbook\u002Fpeopleops\u002Fcode-of-conduct","handbook\u002Fpeopleops\u002Fcode-of-conduct",{"title":734,"path":735,"stem":736},"Compensation","\u002Fhandbook\u002Fpeopleops\u002Fcompensation","handbook\u002Fpeopleops\u002Fcompensation",{"title":738,"path":739,"stem":740},"Compliance & Regulatory","\u002Fhandbook\u002Fpeopleops\u002Fcompliance","handbook\u002Fpeopleops\u002Fcompliance",{"title":742,"path":743,"stem":744},"Expenses","\u002Fhandbook\u002Fpeopleops\u002Fexpenses","handbook\u002Fpeopleops\u002Fexpenses",{"title":746,"path":747,"stem":748,"children":749,"icon":763},"Hiring","\u002Fhandbook\u002Fpeopleops\u002Fhiring","handbook\u002Fpeopleops\u002Fhiring\u002Findex",[750,751,755,759],{"title":746,"path":747,"stem":748},{"title":752,"path":753,"stem":754},"Working with Recruiters","\u002Fhandbook\u002Fpeopleops\u002Fhiring\u002Frecruiters","handbook\u002Fpeopleops\u002Fhiring\u002Frecruiters",{"title":756,"path":757,"stem":758},"Screening Call","\u002Fhandbook\u002Fpeopleops\u002Fhiring\u002Fscreening-call","handbook\u002Fpeopleops\u002Fhiring\u002Fscreening-call",{"title":760,"path":761,"stem":762},"STAR Questions","\u002Fhandbook\u002Fpeopleops\u002Fhiring\u002Fstar-questions","handbook\u002Fpeopleops\u002Fhiring\u002Fstar-questions","i-lucide-user-plus",{"title":765,"icon":766,"path":767,"stem":768,"children":769},"Job Descriptions","i-lucide-file-badge","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Findex",[770,771,775,779,783,787,791,795,799,803,807,811,815,819,823,827],{"title":765,"path":767,"stem":768},{"title":772,"path":773,"stem":774},"Account Executive","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Faccount-executive","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Faccount-executive",{"title":776,"path":777,"stem":778},"CEO","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fceo","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fceo",{"title":780,"path":781,"stem":782},"Chief of Staff","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fchief-of-staff","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fchief-of-staff",{"title":784,"path":785,"stem":786},"CTO","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fcto","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fcto",{"title":788,"path":789,"stem":790},"Developer Relations Advocate","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fdeveloper-relations-advocate","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fdeveloper-relations-advocate",{"title":792,"path":793,"stem":794},"Engineering Manager","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fengineering-manager","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fengineering-manager",{"title":796,"path":797,"stem":798},"Fullstack Engineer","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer",{"title":800,"path":801,"stem":802},"Fullstack Engineer (AI-Focused)","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer-ai","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer-ai",{"title":804,"path":805,"stem":806},"Head of Marketing","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fhead-of-marketing","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fhead-of-marketing",{"title":808,"path":809,"stem":810},"Product Manager","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-manager","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-manager",{"title":812,"path":813,"stem":814},"Product Marketer","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-marketer","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-marketer",{"title":816,"path":817,"stem":818},"Sales Development Representative (SDR)","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fsales-development-representative","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fsales-development-representative",{"title":820,"path":821,"stem":822},"Solutions Engineer","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fsolutions-engineer","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fsolutions-engineer",{"title":824,"path":825,"stem":826},"Technical Product Manager","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Ftechnical-product-manager","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Ftechnical-product-manager",{"title":828,"path":829,"stem":830},"VP of Sales","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fvp-sales","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fvp-sales",{"title":832,"path":833,"stem":834},"Holiday & Leave","\u002Fhandbook\u002Fpeopleops\u002Fleave","handbook\u002Fpeopleops\u002Fleave",{"title":836,"path":837,"stem":838},"PeopleOps Policies","\u002Fhandbook\u002Fpeopleops\u002Forganization","handbook\u002Fpeopleops\u002Forganization",{"title":840,"path":841,"stem":842},"Performance review","\u002Fhandbook\u002Fpeopleops\u002Fperformance-review","handbook\u002Fpeopleops\u002Fperformance-review",{"title":844,"path":845,"stem":846},"Summit","\u002Fhandbook\u002Fpeopleops\u002Fsummit","handbook\u002Fpeopleops\u002Fsummit",{"title":848,"path":849,"stem":850},"Travel","\u002Fhandbook\u002Fpeopleops\u002Ftravel","handbook\u002Fpeopleops\u002Ftravel",{"title":852,"group":853,"icon":854,"order":855,"path":856,"stem":857,"children":858},"Sales","Sales department","i-lucide-trending-up",7,"\u002Fhandbook\u002Fsales","handbook\u002Fsales\u002Findex",[859,860,867,871,875,879,883,887,891,895,914,918,932,936,943,947,951,955],{"title":852,"path":856,"stem":857},{"title":861,"path":862,"stem":863,"children":864,"icon":866},"Sales Compensation Plan","\u002Fhandbook\u002Fsales\u002Fcommission-plan","handbook\u002Fsales\u002Fcommission-plan\u002Findex",[865],{"title":861,"path":862,"stem":863},"i-lucide-dollar-sign",{"title":868,"path":869,"stem":870},"Customer Success","\u002Fhandbook\u002Fsales\u002Fcustomer-success","handbook\u002Fsales\u002Fcustomer-success",{"title":872,"path":873,"stem":874},"Self Hosted Dashboard v2 Multi User","\u002Fhandbook\u002Fsales\u002Fdashboard-v2","handbook\u002Fsales\u002Fdashboard-v2",{"title":876,"path":877,"stem":878},"Edge Connectivity Sales Process","\u002Fhandbook\u002Fsales\u002Fedge-connect-process","handbook\u002Fsales\u002Fedge-connect-process",{"title":880,"path":881,"stem":882},"Engagements & Pricing","\u002Fhandbook\u002Fsales\u002Fengagements","handbook\u002Fsales\u002Fengagements",{"title":884,"path":885,"stem":886},"Forecast Review","\u002Fhandbook\u002Fsales\u002Fforecast-review","handbook\u002Fsales\u002Fforecast-review",{"title":888,"path":889,"stem":890},"HubSpot","\u002Fhandbook\u002Fsales\u002Fhubspot","handbook\u002Fsales\u002Fhubspot",{"title":892,"path":893,"stem":894},"Legal","\u002Fhandbook\u002Fsales\u002Flegal","handbook\u002Fsales\u002Flegal",{"title":896,"icon":897,"path":898,"stem":899,"children":900},"Sales Meetings","i-lucide-calendar","\u002Fhandbook\u002Fsales\u002Fmeetings","handbook\u002Fsales\u002Fmeetings\u002Findex",[901,902,906,910],{"title":896,"path":898,"stem":899},{"title":903,"path":904,"stem":905},"Demo","\u002Fhandbook\u002Fsales\u002Fmeetings\u002Fdemo","handbook\u002Fsales\u002Fmeetings\u002Fdemo",{"title":907,"path":908,"stem":909},"Discovery Meeting","\u002Fhandbook\u002Fsales\u002Fmeetings\u002Fdiscovery","handbook\u002Fsales\u002Fmeetings\u002Fdiscovery",{"title":911,"path":912,"stem":913},"Proof of Concept","\u002Fhandbook\u002Fsales\u002Fmeetings\u002Fpoc","handbook\u002Fsales\u002Fmeetings\u002Fpoc",{"title":915,"path":916,"stem":917},"Sales Team Operating Principles","\u002Fhandbook\u002Fsales\u002Foperating-principles","handbook\u002Fsales\u002Foperating-principles",{"title":919,"icon":920,"path":921,"stem":922,"children":923},"Commercial Organization","i-lucide-sitemap","\u002Fhandbook\u002Fsales\u002Forg","handbook\u002Fsales\u002Forg\u002Findex",[924,925],{"title":919,"path":921,"stem":922},{"title":926,"path":927,"stem":928,"children":929,"icon":931},"Account Executives","\u002Fhandbook\u002Fsales\u002Forg\u002Faccount-executives","handbook\u002Fsales\u002Forg\u002Faccount-executives\u002Findex",[930],{"title":926,"path":927,"stem":928},"i-lucide-user-check",{"title":933,"path":934,"stem":935},"Partnerships","\u002Fhandbook\u002Fsales\u002Fpartnerships","handbook\u002Fsales\u002Fpartnerships",{"title":937,"path":938,"stem":939,"children":940,"icon":942},"Processes","\u002Fhandbook\u002Fsales\u002Fprocesses","handbook\u002Fsales\u002Fprocesses\u002Findex",[941],{"title":937,"path":938,"stem":939},"i-lucide-workflow",{"title":944,"path":945,"stem":946},"Professional Services","\u002Fhandbook\u002Fsales\u002Fprofessional-services","handbook\u002Fsales\u002Fprofessional-services",{"title":948,"path":949,"stem":950},"Sales Regions","\u002Fhandbook\u002Fsales\u002Fregions","handbook\u002Fsales\u002Fregions",{"title":952,"path":953,"stem":954},"Sales Deck","\u002Fhandbook\u002Fsales\u002Fsales-deck","handbook\u002Fsales\u002Fsales-deck",{"title":956,"path":957,"stem":958},"Subscription Agreement 1.5","\u002Fhandbook\u002Fsales\u002Fsubscription-agreement-1.5","handbook\u002Fsales\u002Fsubscription-agreement-1.5",1781607303992]