[{"data":1,"prerenderedAt":903},["ShallowReactive",2],{"handbook-\u002Fhandbook\u002Fengineering\u002Fops\u002Fdedicated":3,"handbook-nav":192},{"id":4,"title":5,"body":6,"description":16,"extension":185,"meta":186,"navigation":187,"path":188,"seo":189,"stem":190,"__hash__":191},"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},"",2,[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},"md",{"navTitle":5},true,"\u002Fhandbook\u002Fengineering\u002Fops\u002Fdedicated",{"title":5,"description":16},"handbook\u002Fengineering\u002Fops\u002Fdedicated","j5CHyViv3BihHjlsE7QncCJTxh1HtWSkz40NFmOJQt4",[193],{"title":194,"path":195,"stem":196,"children":197},"Handbook","\u002Fhandbook","handbook",[198,201,322,352,547,623,682,808],{"title":199,"path":195,"stem":200},"FlowFuse Handbook","handbook\u002Findex",{"title":202,"path":203,"stem":204,"children":205},"Company","\u002Fhandbook\u002Fcompany","handbook\u002Fcompany\u002Findex",[206,207,211,215,219,237,241,245,249,314,318],{"title":202,"path":203,"stem":204},{"title":208,"path":209,"stem":210},"Board meetings","\u002Fhandbook\u002Fcompany\u002Fboard","handbook\u002Fcompany\u002Fboard",{"title":212,"path":213,"stem":214},"Communication","\u002Fhandbook\u002Fcompany\u002Fcommunication","handbook\u002Fcompany\u002Fcommunication",{"title":216,"path":217,"stem":218},"How we make decisions","\u002Fhandbook\u002Fcompany\u002Fdecisions","handbook\u002Fcompany\u002Fdecisions",{"title":220,"path":221,"stem":222,"children":223},"Guides","\u002Fhandbook\u002Fcompany\u002Fguides","handbook\u002Fcompany\u002Fguides\u002Findex",[224,225,229,233],{"title":220,"path":221,"stem":222},{"title":226,"path":227,"stem":228},"How to use Git","\u002Fhandbook\u002Fcompany\u002Fguides\u002Fgit","handbook\u002Fcompany\u002Fguides\u002Fgit",{"title":230,"path":231,"stem":232},"Google Workspace","\u002Fhandbook\u002Fcompany\u002Fguides\u002Fgworkspace","handbook\u002Fcompany\u002Fguides\u002Fgworkspace",{"title":234,"path":235,"stem":236},"Markdown Guide","\u002Fhandbook\u002Fcompany\u002Fguides\u002Fmarkdown","handbook\u002Fcompany\u002Fguides\u002Fmarkdown",{"title":238,"path":239,"stem":240},"Organizational Structure","\u002Fhandbook\u002Fcompany\u002Forganizational-structure","handbook\u002Fcompany\u002Forganizational-structure",{"title":242,"path":243,"stem":244},"Principles","\u002Fhandbook\u002Fcompany\u002Fprinciples","handbook\u002Fcompany\u002Fprinciples",{"title":246,"path":247,"stem":248},"Remote Work","\u002Fhandbook\u002Fcompany\u002Fremote","handbook\u002Fcompany\u002Fremote",{"title":250,"path":251,"stem":252,"children":253},"Security","\u002Fhandbook\u002Fcompany\u002Fsecurity","handbook\u002Fcompany\u002Fsecurity\u002Findex",[254,255,259,263,267,271,275,279,283,287,291,295,299,303,306,310],{"title":250,"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},"Computer Security","\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":280,"path":304,"stem":305},"\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Frisk-management","handbook\u002Fcompany\u002Fsecurity\u002Frisk-management",{"title":307,"path":308,"stem":309},"Secure Development Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fsecure-development","handbook\u002Fcompany\u002Fsecurity\u002Fsecure-development",{"title":311,"path":312,"stem":313},"Third-Party Risk Management Policy","\u002Fhandbook\u002Fcompany\u002Fsecurity\u002Fthird-party-risk-management","handbook\u002Fcompany\u002Fsecurity\u002Fthird-party-risk-management",{"title":315,"path":316,"stem":317},"Strategy","\u002Fhandbook\u002Fcompany\u002Fstrategy","handbook\u002Fcompany\u002Fstrategy",{"title":319,"path":320,"stem":321},"Values","\u002Fhandbook\u002Fcompany\u002Fvalues","handbook\u002Fcompany\u002Fvalues",{"title":323,"path":324,"stem":325,"children":326},"Design","\u002Fhandbook\u002Fdesign","handbook\u002Fdesign\u002Findex",[327,328,332,336,340,344,348],{"title":323,"path":324,"stem":325},{"title":329,"path":330,"stem":331},"Art Requests","\u002Fhandbook\u002Fdesign\u002Fart-requests","handbook\u002Fdesign\u002Fart-requests",{"title":333,"path":334,"stem":335},"FlowFuse Branding Guidelines","\u002Fhandbook\u002Fdesign\u002Fbranding","handbook\u002Fdesign\u002Fbranding",{"title":337,"path":338,"stem":339},"Design Thinking","\u002Fhandbook\u002Fdesign\u002Fdesign-thinking","handbook\u002Fdesign\u002Fdesign-thinking",{"title":341,"path":342,"stem":343},"Process","\u002Fhandbook\u002Fdesign\u002Fprocess","handbook\u002Fdesign\u002Fprocess",{"title":345,"path":346,"stem":347},"Tools","\u002Fhandbook\u002Fdesign\u002Ftools","handbook\u002Fdesign\u002Ftools",{"title":349,"path":350,"stem":351},"Videos","\u002Fhandbook\u002Fdesign\u002Fvideos","handbook\u002Fdesign\u002Fvideos",{"title":353,"path":354,"stem":355,"children":356},"Engineering","\u002Fhandbook\u002Fengineering","handbook\u002Fengineering\u002Findex",[357,358,376,380,402,437,441,500,504,526,530,544],{"title":353,"path":354,"stem":355},{"title":359,"path":360,"stem":361,"children":362},"Contributing","\u002Fhandbook\u002Fengineering\u002Fcontributing","handbook\u002Fengineering\u002Fcontributing\u002Findex",[363,364,368,372],{"title":359,"path":360,"stem":361},{"title":365,"path":366,"stem":367},"Certified Nodes","\u002Fhandbook\u002Fengineering\u002Fcontributing\u002Fcertified-nodes","handbook\u002Fengineering\u002Fcontributing\u002Fcertified-nodes",{"title":369,"path":370,"stem":371},"Setting up a local FF Tables test environment","\u002Fhandbook\u002Fengineering\u002Fcontributing\u002Fff-tables","handbook\u002Fengineering\u002Fcontributing\u002Fff-tables",{"title":373,"path":374,"stem":375},"FlowFuse Team NPM Registry","\u002Fhandbook\u002Fengineering\u002Fcontributing\u002Fteam-npm-registry","handbook\u002Fengineering\u002Fcontributing\u002Fteam-npm-registry",{"title":377,"path":378,"stem":379},"Dependency Updates","\u002Fhandbook\u002Fengineering\u002Fdependency-updates","handbook\u002Fengineering\u002Fdependency-updates",{"title":381,"path":382,"stem":383,"children":384},"Front-End","\u002Fhandbook\u002Fengineering\u002Ffrontend","handbook\u002Fengineering\u002Ffrontend\u002Findex",[385,386,390,394,398],{"title":381,"path":382,"stem":383},{"title":387,"path":388,"stem":389},"Data Attributes","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Fdata-attributes","handbook\u002Fengineering\u002Ffrontend\u002Fdata-attributes",{"title":391,"path":392,"stem":393},"Front-End Layouts","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Flayouts","handbook\u002Fengineering\u002Ffrontend\u002Flayouts",{"title":395,"path":396,"stem":397},"Services","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Fservices","handbook\u002Fengineering\u002Ffrontend\u002Fservices",{"title":399,"path":400,"stem":401},"Front-End Testing","\u002Fhandbook\u002Fengineering\u002Ffrontend\u002Ftesting","handbook\u002Fengineering\u002Ffrontend\u002Ftesting",{"title":403,"path":404,"stem":405,"children":406},"Platform Ops","\u002Fhandbook\u002Fengineering\u002Fops","handbook\u002Fengineering\u002Fops\u002Findex",[407,408,409,413,417,421,425,429,433],{"title":403,"path":404,"stem":405},{"title":5,"path":188,"stem":190},{"title":410,"path":411,"stem":412},"Dependencies within the CI\u002FCD process","\u002Fhandbook\u002Fengineering\u002Fops\u002Fdeployment","handbook\u002Fengineering\u002Fops\u002Fdeployment",{"title":414,"path":415,"stem":416},"Incident Response","\u002Fhandbook\u002Fengineering\u002Fops\u002Fincident-response","handbook\u002Fengineering\u002Fops\u002Fincident-response",{"title":418,"path":419,"stem":420},"Observability","\u002Fhandbook\u002Fengineering\u002Fops\u002Fobservability","handbook\u002Fengineering\u002Fops\u002Fobservability",{"title":422,"path":423,"stem":424},"Production Environment","\u002Fhandbook\u002Fengineering\u002Fops\u002Fproduction","handbook\u002Fengineering\u002Fops\u002Fproduction",{"title":426,"path":427,"stem":428},"How to Update Stacks on Production","\u002Fhandbook\u002Fengineering\u002Fops\u002Fproduction-stack-update","handbook\u002Fengineering\u002Fops\u002Fproduction-stack-update",{"title":430,"path":431,"stem":432},"FlowFuse Expert","\u002Fhandbook\u002Fengineering\u002Fops\u002Fself-hosted-assistant","handbook\u002Fengineering\u002Fops\u002Fself-hosted-assistant",{"title":434,"path":435,"stem":436},"Staging Environment","\u002Fhandbook\u002Fengineering\u002Fops\u002Fstaging","handbook\u002Fengineering\u002Fops\u002Fstaging",{"title":438,"path":439,"stem":440},"Packaging Guidelines","\u002Fhandbook\u002Fengineering\u002Fpackaging","handbook\u002Fengineering\u002Fpackaging",{"title":442,"path":443,"stem":444,"children":445},"Product","\u002Fhandbook\u002Fengineering\u002Fproduct","handbook\u002Fengineering\u002Fproduct\u002Findex",[446,447,451,455,459,463,467,473,477,480,484,488,492,496],{"title":442,"path":443,"stem":444},{"title":448,"path":449,"stem":450},"Blueprints","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fblueprints","handbook\u002Fengineering\u002Fproduct\u002Fblueprints",{"title":452,"path":453,"stem":454},"Node-RED Dashboard 2.0 - Project","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fdashboard","handbook\u002Fengineering\u002Fproduct\u002Fdashboard",{"title":456,"path":457,"stem":458},"Product Feedback","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Ffeedback","handbook\u002Fengineering\u002Fproduct\u002Ffeedback",{"title":460,"path":461,"stem":462},"Glossary","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fglossary","handbook\u002Fengineering\u002Fproduct\u002Fglossary",{"title":464,"path":465,"stem":466},"Product Metrics","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fmetrics","handbook\u002Fengineering\u002Fproduct\u002Fmetrics",{"title":468,"path":469,"stem":470,"children":471},"Personas","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fpersonas","handbook\u002Fengineering\u002Fproduct\u002Fpersonas\u002Findex",[472],{"title":468,"path":469,"stem":470},{"title":474,"path":475,"stem":476},"Pricing Principles","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fpricing","handbook\u002Fengineering\u002Fproduct\u002Fpricing",{"title":242,"path":478,"stem":479},"\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fprinciples","handbook\u002Fengineering\u002Fproduct\u002Fprinciples",{"title":481,"path":482,"stem":483},"Product Strategy","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fstrategy","handbook\u002Fengineering\u002Fproduct\u002Fstrategy",{"title":485,"path":486,"stem":487},"Product Growth","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Ftelemetry","handbook\u002Fengineering\u002Fproduct\u002Ftelemetry",{"title":489,"path":490,"stem":491},"Versioning","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fversioning","handbook\u002Fengineering\u002Fproduct\u002Fversioning",{"title":493,"path":494,"stem":495},"Market Segments","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fverticals","handbook\u002Fengineering\u002Fproduct\u002Fverticals",{"title":497,"path":498,"stem":499},"Vision","\u002Fhandbook\u002Fengineering\u002Fproduct\u002Fvision","handbook\u002Fengineering\u002Fproduct\u002Fvision",{"title":501,"path":502,"stem":503},"Project Management","\u002Fhandbook\u002Fengineering\u002Fproject-management","handbook\u002Fengineering\u002Fproject-management",{"title":505,"path":506,"stem":507,"children":508},"Releases","\u002Fhandbook\u002Fengineering\u002Freleases","handbook\u002Fengineering\u002Freleases\u002Findex",[509,510,514,518,522],{"title":505,"path":506,"stem":507},{"title":511,"path":512,"stem":513},"Dashboard 2.0 Release Process","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fdashboard-2","handbook\u002Fengineering\u002Freleases\u002Fdashboard-2",{"title":515,"path":516,"stem":517},"Digital Ocean Release Process","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fdigital-ocean","handbook\u002Fengineering\u002Freleases\u002Fdigital-ocean",{"title":519,"path":520,"stem":521},"Release Process","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fprocess","handbook\u002Fengineering\u002Freleases\u002Fprocess",{"title":523,"path":524,"stem":525},"Writing Changelog Posts","\u002Fhandbook\u002Fengineering\u002Freleases\u002Fwriting-changelog","handbook\u002Fengineering\u002Freleases\u002Fwriting-changelog",{"title":527,"path":528,"stem":529},"Security Reporting Policy","\u002Fhandbook\u002Fengineering\u002Fsecurity","handbook\u002Fengineering\u002Fsecurity",{"title":531,"path":532,"stem":533,"children":534},"Support","\u002Fhandbook\u002Fengineering\u002Fsupport","handbook\u002Fengineering\u002Fsupport\u002Findex",[535,536,540],{"title":531,"path":532,"stem":533},{"title":537,"path":538,"stem":539},"Support Triage Duty","\u002Fhandbook\u002Fengineering\u002Fsupport\u002Ftriage","handbook\u002Fengineering\u002Fsupport\u002Ftriage",{"title":541,"path":542,"stem":543},"Troubleshooting","\u002Fhandbook\u002Fengineering\u002Fsupport\u002Ftroubleshooting","handbook\u002Fengineering\u002Fsupport\u002Ftroubleshooting",{"title":345,"path":545,"stem":546},"\u002Fhandbook\u002Fengineering\u002Ftools","handbook\u002Fengineering\u002Ftools",{"title":548,"path":549,"stem":550,"children":551},"Marketing department","\u002Fhandbook\u002Fmarketing","handbook\u002Fmarketing\u002Findex",[552,553,557,561,575,579,583,587,591,595,599,603,607,611,615,619],{"title":548,"path":549,"stem":550},{"title":554,"path":555,"stem":556},"Blog","\u002Fhandbook\u002Fmarketing\u002Fblog","handbook\u002Fmarketing\u002Fblog",{"title":558,"path":559,"stem":560},"Brand Personality, Tone of Voice & Character","\u002Fhandbook\u002Fmarketing\u002Fbrand-voice","handbook\u002Fmarketing\u002Fbrand-voice",{"title":562,"path":563,"stem":564,"children":565},"Community","\u002Fhandbook\u002Fmarketing\u002Fcommunity","handbook\u002Fmarketing\u002Fcommunity\u002Findex",[566,567,571],{"title":562,"path":563,"stem":564},{"title":568,"path":569,"stem":570},"Community Guidelines","\u002Fhandbook\u002Fmarketing\u002Fcommunity\u002Fcommunity-guidelines","handbook\u002Fmarketing\u002Fcommunity\u002Fcommunity-guidelines",{"title":572,"path":573,"stem":574},"Forums And Support","\u002Fhandbook\u002Fmarketing\u002Fcommunity\u002Fforums-and-support","handbook\u002Fmarketing\u002Fcommunity\u002Fforums-and-support",{"title":576,"path":577,"stem":578},"Customer Stories","\u002Fhandbook\u002Fmarketing\u002Fcustomer-stories","handbook\u002Fmarketing\u002Fcustomer-stories",{"title":580,"path":581,"stem":582},"FlowFuse for Education","\u002Fhandbook\u002Fmarketing\u002Feducation","handbook\u002Fmarketing\u002Feducation",{"title":584,"path":585,"stem":586},"Marketing Email","\u002Fhandbook\u002Fmarketing\u002Femail","handbook\u002Fmarketing\u002Femail",{"title":588,"path":589,"stem":590},"Events","\u002Fhandbook\u002Fmarketing\u002Fevents","handbook\u002Fmarketing\u002Fevents",{"title":592,"path":593,"stem":594},"How the marketing team works at FlowFuse","\u002Fhandbook\u002Fmarketing\u002Fhow-we-work","handbook\u002Fmarketing\u002Fhow-we-work",{"title":596,"path":597,"stem":598},"Lead Activation","\u002Fhandbook\u002Fmarketing\u002Flead-activation","handbook\u002Fmarketing\u002Flead-activation",{"title":600,"path":601,"stem":602},"Lead Generation","\u002Fhandbook\u002Fmarketing\u002Fleads","handbook\u002Fmarketing\u002Fleads",{"title":604,"path":605,"stem":606},"Messaging","\u002Fhandbook\u002Fmarketing\u002Fmessaging","handbook\u002Fmarketing\u002Fmessaging",{"title":608,"path":609,"stem":610},"Marketing Programs","\u002Fhandbook\u002Fmarketing\u002Fprograms","handbook\u002Fmarketing\u002Fprograms",{"title":612,"path":613,"stem":614},"Social Media Channels","\u002Fhandbook\u002Fmarketing\u002Fsocial-media","handbook\u002Fmarketing\u002Fsocial-media",{"title":616,"path":617,"stem":618},"FlowFuse Webinars","\u002Fhandbook\u002Fmarketing\u002Fwebinars","handbook\u002Fmarketing\u002Fwebinars",{"title":620,"path":621,"stem":622},"Marketing Website","\u002Fhandbook\u002Fmarketing\u002Fwebsite","handbook\u002Fmarketing\u002Fwebsite",{"title":624,"path":625,"stem":626,"children":627},"Operations","\u002Fhandbook\u002Foperations","handbook\u002Foperations\u002Findex",[628,629,633,637,641,662,666,670,674,678],{"title":624,"path":625,"stem":626},{"title":630,"path":631,"stem":632},"Tax & Compliance","\u002Fhandbook\u002Foperations\u002Faccounting","handbook\u002Foperations\u002Faccounting",{"title":634,"path":635,"stem":636},"Accounts","\u002Fhandbook\u002Foperations\u002Faccounts","handbook\u002Foperations\u002Faccounts",{"title":638,"path":639,"stem":640},"Billing","\u002Fhandbook\u002Foperations\u002Fbilling","handbook\u002Foperations\u002Fbilling",{"title":177,"path":642,"stem":643,"children":644},"\u002Fhandbook\u002Foperations\u002Fceo-ops","handbook\u002Foperations\u002Fceo-ops\u002Findex",[645,646,650,654,658],{"title":177,"path":642,"stem":643},{"title":647,"path":648,"stem":649},"Calendar Management","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Fcalendar-management","handbook\u002Foperations\u002Fceo-ops\u002Fcalendar-management",{"title":651,"path":652,"stem":653},"Inbox Management","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Finbox-management","handbook\u002Foperations\u002Fceo-ops\u002Finbox-management",{"title":655,"path":656,"stem":657},"Task Managment","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Ftask-managment","handbook\u002Foperations\u002Fceo-ops\u002Ftask-managment",{"title":659,"path":660,"stem":661},"Travel Booking","\u002Fhandbook\u002Foperations\u002Fceo-ops\u002Ftravel-booking","handbook\u002Foperations\u002Fceo-ops\u002Ftravel-booking",{"title":663,"path":664,"stem":665},"Change","\u002Fhandbook\u002Foperations\u002Fchange","handbook\u002Foperations\u002Fchange",{"title":667,"path":668,"stem":669},"Commission Payment","\u002Fhandbook\u002Foperations\u002Fcommission-payment","handbook\u002Foperations\u002Fcommission-payment",{"title":671,"path":672,"stem":673},"Data at FlowFuse","\u002Fhandbook\u002Foperations\u002Fdata","handbook\u002Foperations\u002Fdata",{"title":675,"path":676,"stem":677},"Signatures","\u002Fhandbook\u002Foperations\u002Fsignatures","handbook\u002Foperations\u002Fsignatures",{"title":679,"path":680,"stem":681},"Vendors","\u002Fhandbook\u002Foperations\u002Fvendors","handbook\u002Foperations\u002Fvendors",{"title":683,"path":684,"stem":685,"children":686},"People Operations","\u002Fhandbook\u002Fpeopleops","handbook\u002Fpeopleops\u002Findex",[687,688,692,696,700,704,708,726,788,792,796,800,804],{"title":683,"path":684,"stem":685},{"title":689,"path":690,"stem":691},"Coaching Plans","\u002Fhandbook\u002Fpeopleops\u002Fcoaching-plans","handbook\u002Fpeopleops\u002Fcoaching-plans",{"title":693,"path":694,"stem":695},"Code of Conduct","\u002Fhandbook\u002Fpeopleops\u002Fcode-of-conduct","handbook\u002Fpeopleops\u002Fcode-of-conduct",{"title":697,"path":698,"stem":699},"Compensation","\u002Fhandbook\u002Fpeopleops\u002Fcompensation","handbook\u002Fpeopleops\u002Fcompensation",{"title":701,"path":702,"stem":703},"Compliance & Training (Mineral)","\u002Fhandbook\u002Fpeopleops\u002Fcompliance","handbook\u002Fpeopleops\u002Fcompliance",{"title":705,"path":706,"stem":707},"Expenses","\u002Fhandbook\u002Fpeopleops\u002Fexpenses","handbook\u002Fpeopleops\u002Fexpenses",{"title":709,"path":710,"stem":711,"children":712},"Hiring","\u002Fhandbook\u002Fpeopleops\u002Fhiring","handbook\u002Fpeopleops\u002Fhiring\u002Findex",[713,714,718,722],{"title":709,"path":710,"stem":711},{"title":715,"path":716,"stem":717},"Working with Recruiters","\u002Fhandbook\u002Fpeopleops\u002Fhiring\u002Frecruiters","handbook\u002Fpeopleops\u002Fhiring\u002Frecruiters",{"title":719,"path":720,"stem":721},"Screening Call","\u002Fhandbook\u002Fpeopleops\u002Fhiring\u002Fscreening-call","handbook\u002Fpeopleops\u002Fhiring\u002Fscreening-call",{"title":723,"path":724,"stem":725},"Star Questions","\u002Fhandbook\u002Fpeopleops\u002Fhiring\u002Fstar-questions","handbook\u002Fpeopleops\u002Fhiring\u002Fstar-questions",{"title":727,"path":728,"stem":729,"children":730},"Job Descriptions","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Findex",[731,732,736,740,744,748,752,756,760,764,768,772,776,780,784],{"title":727,"path":728,"stem":729},{"title":733,"path":734,"stem":735},"Account Executive","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Faccount-executive","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Faccount-executive",{"title":737,"path":738,"stem":739},"CEO","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fceo","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fceo",{"title":741,"path":742,"stem":743},"Chief of Staff","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fchief-of-staff","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fchief-of-staff",{"title":745,"path":746,"stem":747},"CTO","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fcto","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fcto",{"title":749,"path":750,"stem":751},"Developer Relations Advocate","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fdeveloper-relations-advocate","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fdeveloper-relations-advocate",{"title":753,"path":754,"stem":755},"Engineering Manager","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fengineering-manager","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fengineering-manager",{"title":757,"path":758,"stem":759},"Fullstack Engineer","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer",{"title":761,"path":762,"stem":763},"Fullstack Engineer (AI-Focused)","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer-ai","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Ffullstack-engineer-ai",{"title":765,"path":766,"stem":767},"Head of Marketing","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fhead-of-marketing","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fhead-of-marketing",{"title":769,"path":770,"stem":771},"Product Manager","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-manager","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-manager",{"title":773,"path":774,"stem":775},"Product Marketer","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-marketer","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fproduct-marketer",{"title":777,"path":778,"stem":779},"Solutions Engineer","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fsolutions-engineer","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fsolutions-engineer",{"title":781,"path":782,"stem":783},"Technical Product Manager","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Ftechnical-product-manager","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Ftechnical-product-manager",{"title":785,"path":786,"stem":787},"VP of Sales","\u002Fhandbook\u002Fpeopleops\u002Fjob-descriptions\u002Fvp-sales","handbook\u002Fpeopleops\u002Fjob-descriptions\u002Fvp-sales",{"title":789,"path":790,"stem":791},"Holiday and Leave","\u002Fhandbook\u002Fpeopleops\u002Fleave","handbook\u002Fpeopleops\u002Fleave",{"title":793,"path":794,"stem":795},"PeopleOps policies","\u002Fhandbook\u002Fpeopleops\u002Forganization","handbook\u002Fpeopleops\u002Forganization",{"title":797,"path":798,"stem":799},"Performance Review","\u002Fhandbook\u002Fpeopleops\u002Fperformance-review","handbook\u002Fpeopleops\u002Fperformance-review",{"title":801,"path":802,"stem":803},"Summit","\u002Fhandbook\u002Fpeopleops\u002Fsummit","handbook\u002Fpeopleops\u002Fsummit",{"title":805,"path":806,"stem":807},"Travel","\u002Fhandbook\u002Fpeopleops\u002Ftravel","handbook\u002Fpeopleops\u002Ftravel",{"title":809,"path":810,"stem":811,"children":812},"Sales department","\u002Fhandbook\u002Fsales","handbook\u002Fsales\u002Findex",[813,814,820,824,828,832,836,840,844,848,865,869,881,885,891,895,899],{"title":809,"path":810,"stem":811},{"title":815,"path":816,"stem":817,"children":818},"FY 2026 SALES COMPENSATION PLAN","\u002Fhandbook\u002Fsales\u002Fcommission-plan","handbook\u002Fsales\u002Fcommission-plan\u002Findex",[819],{"title":815,"path":816,"stem":817},{"title":821,"path":822,"stem":823},"Customer Success","\u002Fhandbook\u002Fsales\u002Fcustomer-success","handbook\u002Fsales\u002Fcustomer-success",{"title":825,"path":826,"stem":827},"Self Hosted Dashboard v2 Multi User Plugin","\u002Fhandbook\u002Fsales\u002Fdashboard-v2","handbook\u002Fsales\u002Fdashboard-v2",{"title":829,"path":830,"stem":831},"Edge Connectivity Sales Process","\u002Fhandbook\u002Fsales\u002Fedge-connect-process","handbook\u002Fsales\u002Fedge-connect-process",{"title":833,"path":834,"stem":835},"Engagements","\u002Fhandbook\u002Fsales\u002Fengagements","handbook\u002Fsales\u002Fengagements",{"title":837,"path":838,"stem":839},"Forecast Review","\u002Fhandbook\u002Fsales\u002Fforecast-review","handbook\u002Fsales\u002Fforecast-review",{"title":841,"path":842,"stem":843},"Hubspot","\u002Fhandbook\u002Fsales\u002Fhubspot","handbook\u002Fsales\u002Fhubspot",{"title":845,"path":846,"stem":847},"Legal","\u002Fhandbook\u002Fsales\u002Flegal","handbook\u002Fsales\u002Flegal",{"title":177,"path":849,"stem":850,"children":851},"\u002Fhandbook\u002Fsales\u002Fmeetings","handbook\u002Fsales\u002Fmeetings\u002Findex",[852,853,857,861],{"title":177,"path":849,"stem":850},{"title":854,"path":855,"stem":856},"Demo","\u002Fhandbook\u002Fsales\u002Fmeetings\u002Fdemo","handbook\u002Fsales\u002Fmeetings\u002Fdemo",{"title":858,"path":859,"stem":860},"Discovery","\u002Fhandbook\u002Fsales\u002Fmeetings\u002Fdiscovery","handbook\u002Fsales\u002Fmeetings\u002Fdiscovery",{"title":862,"path":863,"stem":864},"Poc","\u002Fhandbook\u002Fsales\u002Fmeetings\u002Fpoc","handbook\u002Fsales\u002Fmeetings\u002Fpoc",{"title":866,"path":867,"stem":868},"Sales Team Operating Principles","\u002Fhandbook\u002Fsales\u002Foperating-principles","handbook\u002Fsales\u002Foperating-principles",{"title":870,"path":871,"stem":872,"children":873},"Commercial Organization","\u002Fhandbook\u002Fsales\u002Forg","handbook\u002Fsales\u002Forg\u002Findex",[874,875],{"title":870,"path":871,"stem":872},{"title":876,"path":877,"stem":878,"children":879},"Account Executives","\u002Fhandbook\u002Fsales\u002Forg\u002Faccount-executives","handbook\u002Fsales\u002Forg\u002Faccount-executives\u002Findex",[880],{"title":876,"path":877,"stem":878},{"title":882,"path":883,"stem":884},"Partnerships","\u002Fhandbook\u002Fsales\u002Fpartnerships","handbook\u002Fsales\u002Fpartnerships",{"title":886,"path":887,"stem":888,"children":889},"Processes","\u002Fhandbook\u002Fsales\u002Fprocesses","handbook\u002Fsales\u002Fprocesses\u002Findex",[890],{"title":886,"path":887,"stem":888},{"title":892,"path":893,"stem":894},"Professional Services","\u002Fhandbook\u002Fsales\u002Fprofessional-services","handbook\u002Fsales\u002Fprofessional-services",{"title":896,"path":897,"stem":898},"Regions","\u002Fhandbook\u002Fsales\u002Fregions","handbook\u002Fsales\u002Fregions",{"title":900,"path":901,"stem":902},"Sales Deck","\u002Fhandbook\u002Fsales\u002Fsales-deck","handbook\u002Fsales\u002Fsales-deck",1780070544578]