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