[{"data":1,"prerenderedAt":2296},["ShallowReactive",2],{"navigation_docs":3,"-integrations-and-extensibility-webhooks-troubleshooting-and-best-practices":1582,"-integrations-and-extensibility-webhooks-troubleshooting-and-best-practices-surround":2291},[4,237,583,622,898,988,1106,1240,1578],{"title":5,"path":6,"stem":7,"children":8,"page":84},"Getting Started","/getting-started","01.getting-started",[9,15,226,231],{"title":10,"path":11,"stem":12,"children":13},"Creating Your Account","/getting-started/creating-your-account","01.getting-started/00.creating-your-account/index",[14],{"title":10,"path":11,"stem":12},{"title":16,"order":17,"path":18,"stem":19,"children":20,"page":84},"Admin Onboarding: Getting Started",1,"/getting-started/admin-onboarding-getting-started","01.getting-started/01.admin-onboarding-getting-started",[21,25,29,33,40,44,51,85,134,147,158,162,175,179,188,205,213,219],{"title":22,"path":23,"stem":24},"Setting the Stage: How Predictability becomes Reality in DevStride","/getting-started/admin-onboarding-getting-started/setting-the-stage","01.getting-started/01.admin-onboarding-getting-started/01.setting-the-stage",{"title":26,"path":27,"stem":28},"Admin Onboarding - Getting Started","/getting-started/admin-onboarding-getting-started/admin-onboarding-guide","01.getting-started/01.admin-onboarding-getting-started/02.admin-onboarding-guide",{"title":30,"path":31,"stem":32},"Basic Terms","/getting-started/admin-onboarding-getting-started/basic-terms","01.getting-started/01.admin-onboarding-getting-started/03.basic-terms",{"title":34,"path":35,"stem":36,"children":37},"Setting Up Users and Teams","/getting-started/admin-onboarding-getting-started/setting-up-users-and-teams","01.getting-started/01.admin-onboarding-getting-started/04.setting-up-users-and-teams/index",[38],{"title":39,"path":35,"stem":36},"Admin Onboarding - Setting up Users and Teams",{"title":41,"path":42,"stem":43},"Admin Onboarding - Configuring Your Work Model","/getting-started/admin-onboarding-getting-started/configuring-your-work-model","01.getting-started/01.admin-onboarding-getting-started/05.configuring-your-work-model",{"title":45,"path":46,"stem":47,"children":48},"Map Value: WorkStreams","/getting-started/admin-onboarding-getting-started/map-value-workstreams","01.getting-started/01.admin-onboarding-getting-started/06.map-value-workstreams/index",[49],{"title":50,"path":46,"stem":47},"Admin Onboarding: Understanding Workstreams",{"title":52,"path":53,"stem":54,"children":55,"page":84},"Items","/getting-started/admin-onboarding-getting-started/items","01.getting-started/01.admin-onboarding-getting-started/07.items",[56,60,67,73,80],{"title":57,"path":58,"stem":59},"Setting up Your Item Type Hierarchy","/getting-started/admin-onboarding-getting-started/items/setting-up-item-type-hierarchy","01.getting-started/01.admin-onboarding-getting-started/07.items/01.setting-up-item-type-hierarchy",{"title":61,"path":62,"stem":63,"children":64},"Items: Setting Up Custom Fields","/getting-started/admin-onboarding-getting-started/items/setting-up-custom-fields","01.getting-started/01.admin-onboarding-getting-started/07.items/02.setting-up-custom-fields/index",[65],{"title":66,"path":62,"stem":63},"Admin Onboarding - Setting up Custom Fields",{"title":68,"path":69,"stem":70,"children":71},"Admin Onboarding - Setting up Tags","/getting-started/admin-onboarding-getting-started/items/setting-up-tags","01.getting-started/01.admin-onboarding-getting-started/07.items/03.setting-up-tags/index",[72],{"title":68,"path":69,"stem":70},{"title":74,"path":75,"stem":76,"children":77},"Items: Creating and Managing Forms","/getting-started/admin-onboarding-getting-started/items/creating-and-managing-forms","01.getting-started/01.admin-onboarding-getting-started/07.items/04.creating-and-managing-forms/index",[78],{"title":79,"path":75,"stem":76},"Admin Onboarding - Creating and Managing Forms",{"title":81,"path":82,"stem":83},"Create Items with AI","/getting-started/admin-onboarding-getting-started/items/create-items-with-ai","01.getting-started/01.admin-onboarding-getting-started/07.items/05.create-items-with-ai",false,{"title":86,"path":87,"stem":88,"children":89,"page":84},"Item Workspace Tour","/getting-started/admin-onboarding-getting-started/item-workspace-tour","01.getting-started/01.admin-onboarding-getting-started/08.item-workspace-tour",[90,94,98,102,106,110,114,118,122,126,130],{"title":91,"path":92,"stem":93},"Admin Onboarding - Item Workspace Header","/getting-started/admin-onboarding-getting-started/item-workspace-tour/header","01.getting-started/01.admin-onboarding-getting-started/08.item-workspace-tour/01.header",{"title":95,"path":96,"stem":97},"Admin Onboarding - Item Workspace Tabs","/getting-started/admin-onboarding-getting-started/item-workspace-tour/tabs","01.getting-started/01.admin-onboarding-getting-started/08.item-workspace-tour/02.tabs",{"title":99,"path":100,"stem":101},"Item Workspace Quick Links","/getting-started/admin-onboarding-getting-started/item-workspace-tour/quick-links","01.getting-started/01.admin-onboarding-getting-started/08.item-workspace-tour/03.quick-links",{"title":103,"path":104,"stem":105},"Admin Onboarding - Item Workspace - Right Bar: Team through Status","/getting-started/admin-onboarding-getting-started/item-workspace-tour/right-bar-team-through-status","01.getting-started/01.admin-onboarding-getting-started/08.item-workspace-tour/04.right-bar-team-through-status",{"title":107,"path":108,"stem":109},"Admin Onboarding - Item Workspace - Right Bar: Point Estimates","/getting-started/admin-onboarding-getting-started/item-workspace-tour/right-bar-point-estimates","01.getting-started/01.admin-onboarding-getting-started/08.item-workspace-tour/05.right-bar-point-estimates",{"title":111,"path":112,"stem":113},"Admin Onboarding - Item Workspace - Right Bar: Time Estimates","/getting-started/admin-onboarding-getting-started/item-workspace-tour/right-bar-time-estimates","01.getting-started/01.admin-onboarding-getting-started/08.item-workspace-tour/06.right-bar-time-estimates",{"title":115,"path":116,"stem":117},"Admin Onboarding - Item Workspace -Right Bar: Best Practice time estimates","/getting-started/admin-onboarding-getting-started/item-workspace-tour/right-bar-best-practice-time-estimates","01.getting-started/01.admin-onboarding-getting-started/08.item-workspace-tour/07.right-bar-best-practice-time-estimates",{"title":119,"path":120,"stem":121},"Admin Onboarding - Item Workspace - Right Bar: Time Spent","/getting-started/admin-onboarding-getting-started/item-workspace-tour/right-bar-time-spent","01.getting-started/01.admin-onboarding-getting-started/08.item-workspace-tour/08.right-bar-time-spent",{"title":123,"path":124,"stem":125},"Admin Onboarding - Item Workspace - Right Bar: Priority","/getting-started/admin-onboarding-getting-started/item-workspace-tour/right-bar-priority","01.getting-started/01.admin-onboarding-getting-started/08.item-workspace-tour/09.right-bar-priority",{"title":127,"path":128,"stem":129},"Admin Onboarding - Item Workspace - Right Bar: Start Dates and Due Dates","/getting-started/admin-onboarding-getting-started/item-workspace-tour/right-bar-start-dates-and-due-dates","01.getting-started/01.admin-onboarding-getting-started/08.item-workspace-tour/10.right-bar-start-dates-and-due-dates",{"title":131,"path":132,"stem":133},"Admin Onboarding - Item Workspace - Right Bar: Progress Tracking","/getting-started/admin-onboarding-getting-started/item-workspace-tour/right-bar-progress-tracking","01.getting-started/01.admin-onboarding-getting-started/08.item-workspace-tour/11.right-bar-progress-tracking",{"title":135,"path":136,"stem":137,"children":138,"page":84},"Creating and Using Statuses","/getting-started/admin-onboarding-getting-started/creating-and-using-statuses","01.getting-started/01.admin-onboarding-getting-started/09.creating-and-using-statuses",[139,143],{"title":140,"path":141,"stem":142},"Admin Onboarding - Setting Up Workflow Statuses","/getting-started/admin-onboarding-getting-started/creating-and-using-statuses/setting-up-workflow-statuses","01.getting-started/01.admin-onboarding-getting-started/09.creating-and-using-statuses/01.setting-up-workflow-statuses",{"title":144,"path":145,"stem":146},"Admin Onboarding - Create Custom Status Collections","/getting-started/admin-onboarding-getting-started/creating-and-using-statuses/create-custom-status-collections","01.getting-started/01.admin-onboarding-getting-started/09.creating-and-using-statuses/02.create-custom-status-collections",{"title":148,"path":149,"stem":150,"children":151},"Populating and Managing WorkStreams","/getting-started/admin-onboarding-getting-started/populating-and-managing-workstreams","01.getting-started/01.admin-onboarding-getting-started/10.populating-and-managing-workstreams/index",[152,154],{"title":153,"path":149,"stem":150},"Admin Onboarding - Populating and Managing Workstreams",{"title":155,"path":156,"stem":157},"Import Templates","/getting-started/admin-onboarding-getting-started/populating-and-managing-workstreams/import-templates","01.getting-started/01.admin-onboarding-getting-started/10.populating-and-managing-workstreams/01.import-templates",{"title":159,"path":160,"stem":161},"Boards: Managing Workflow and Statuses","/getting-started/admin-onboarding-getting-started/boards-managing-workflow-and-statuses","01.getting-started/01.admin-onboarding-getting-started/11.boards-managing-workflow-and-statuses",{"title":163,"path":164,"stem":165,"children":166,"page":84},"Creating Cadences","/getting-started/admin-onboarding-getting-started/creating-cadences","01.getting-started/01.admin-onboarding-getting-started/12.creating-cadences",[167,171],{"title":168,"path":169,"stem":170},"Admin Onboarding - Organizing the When: Understanding Planning Cadences","/getting-started/admin-onboarding-getting-started/creating-cadences/understanding-planning-cadences","01.getting-started/01.admin-onboarding-getting-started/12.creating-cadences/01.understanding-planning-cadences",{"title":172,"path":173,"stem":174},"Admin Onboarding - Setting Up Cadences and Timeboxes","/getting-started/admin-onboarding-getting-started/creating-cadences/setting-up-cadences-and-timeboxes","01.getting-started/01.admin-onboarding-getting-started/12.creating-cadences/02.setting-up-cadences-and-timeboxes",{"title":176,"path":177,"stem":178},"Track Progress - Gantt Charts","/getting-started/admin-onboarding-getting-started/track-progress-gantt-charts","01.getting-started/01.admin-onboarding-getting-started/13.track-progress-gantt-charts",{"title":180,"path":181,"stem":182,"children":183,"page":84},"Using AI in DevStride","/getting-started/admin-onboarding-getting-started/using-ai-in-devstride","01.getting-started/01.admin-onboarding-getting-started/14.using-ai-in-devstride",[184],{"title":185,"path":186,"stem":187},"Creating Items with AI","/getting-started/admin-onboarding-getting-started/using-ai-in-devstride/create-items-with-ai","01.getting-started/01.admin-onboarding-getting-started/14.using-ai-in-devstride/01.create-items-with-ai",{"title":189,"path":190,"stem":191,"children":192,"page":84},"More on Permissions","/getting-started/admin-onboarding-getting-started/permissions","01.getting-started/01.admin-onboarding-getting-started/15.permissions",[193,197,201],{"title":194,"path":195,"stem":196},"Understanding Permissions","/getting-started/admin-onboarding-getting-started/permissions/understanding-permissions","01.getting-started/01.admin-onboarding-getting-started/15.permissions/01.understanding-permissions",{"title":198,"path":199,"stem":200},"Roles & Permissions","/getting-started/admin-onboarding-getting-started/permissions/roles-and-permissions","01.getting-started/01.admin-onboarding-getting-started/15.permissions/02.roles-and-permissions",{"title":202,"path":203,"stem":204},"Sharing & Access","/getting-started/admin-onboarding-getting-started/permissions/sharing-and-access","01.getting-started/01.admin-onboarding-getting-started/15.permissions/03.sharing-and-access",{"title":206,"path":207,"stem":208,"children":209,"page":84},"API Keys","/getting-started/admin-onboarding-getting-started/api-keys","01.getting-started/01.admin-onboarding-getting-started/16.api-keys",[210],{"title":206,"path":211,"stem":212},"/getting-started/admin-onboarding-getting-started/api-keys/api-keys","01.getting-started/01.admin-onboarding-getting-started/16.api-keys/01.api-keys",{"title":214,"path":215,"stem":216,"children":217},"Pulling it all together: Planned Value to Delivery","/getting-started/admin-onboarding-getting-started/overall-flow-and-best-practices","01.getting-started/01.admin-onboarding-getting-started/17.overall-flow-and-best-practices/index",[218],{"title":214,"path":215,"stem":216},{"title":220,"path":221,"stem":222,"children":223},"Best Practices for Project Management in DevStride","/getting-started/admin-onboarding-getting-started/best-practices-for-project-management","01.getting-started/01.admin-onboarding-getting-started/18.best-practices-for-project-management/index",[224],{"title":225,"path":221,"stem":222},"Handling incomplete items from Sprint to Sprint",{"title":30,"path":227,"stem":228,"children":229},"/getting-started/basic-terms","01.getting-started/02.basic-terms/index",[230],{"title":30,"path":227,"stem":228},{"title":232,"path":233,"stem":234,"children":235},"Keyboard Shortcuts","/getting-started/keyboard-shortcuts","01.getting-started/03.keyboard-shortcuts/index",[236],{"title":232,"path":233,"stem":234},{"title":238,"path":239,"stem":240,"children":241,"page":84},"Major Modules","/major-modules","02.major-modules",[242,300,354,375,441,502,530],{"title":243,"order":244,"path":245,"stem":246,"children":247,"page":84},"Map Value: Workstreams and Work Items",2,"/major-modules/workstreams-and-work-items","02.major-modules/01.workstreams-and-work-items",[248,252,256,259,263,267,271,275,278],{"title":249,"path":250,"stem":251},"Creating Items","/major-modules/workstreams-and-work-items/creating-work-items","02.major-modules/01.workstreams-and-work-items/01.creating-work-items",{"title":253,"path":254,"stem":255},"The Items Table","/major-modules/workstreams-and-work-items/manage-items-table","02.major-modules/01.workstreams-and-work-items/02.manage-items-table",{"title":185,"path":257,"stem":258},"/major-modules/workstreams-and-work-items/ai-item-creation","02.major-modules/01.workstreams-and-work-items/03.ai-item-creation",{"title":260,"path":261,"stem":262},"Shared Lists","/major-modules/workstreams-and-work-items/published-lists","02.major-modules/01.workstreams-and-work-items/04.published-lists",{"title":264,"path":265,"stem":266},"Using the Map","/major-modules/workstreams-and-work-items/using-the-map","02.major-modules/01.workstreams-and-work-items/05.using-the-map",{"title":268,"path":269,"stem":270},"Dependency Graph","/major-modules/workstreams-and-work-items/dependency-graph","02.major-modules/01.workstreams-and-work-items/06.dependency-graph",{"title":272,"path":273,"stem":274},"Workstream & Item Permissions","/major-modules/workstreams-and-work-items/workstream-and-item-permissions","02.major-modules/01.workstreams-and-work-items/07.workstream-and-item-permissions",{"title":155,"path":276,"stem":277},"/major-modules/workstreams-and-work-items/import-templates","02.major-modules/01.workstreams-and-work-items/08.import-templates",{"title":279,"order":280,"path":281,"stem":282,"children":283,"page":84},"Workspace Capabilities",8,"/major-modules/workstreams-and-work-items/workspace-capabilities","02.major-modules/01.workstreams-and-work-items/09.workspace-capabilities",[284,288,292,296],{"title":285,"path":286,"stem":287},"Explore the Workspace","/major-modules/workstreams-and-work-items/workspace-capabilities/explore-the-workspace","02.major-modules/01.workstreams-and-work-items/09.workspace-capabilities/01.explore-the-workspace",{"title":289,"path":290,"stem":291},"Workspace Editor & Collaboration","/major-modules/workstreams-and-work-items/workspace-capabilities/workspace-sidebar","02.major-modules/01.workstreams-and-work-items/09.workspace-capabilities/02.workspace-sidebar",{"title":293,"path":294,"stem":295},"Themes & Appearance","/major-modules/workstreams-and-work-items/workspace-capabilities/themes-and-appearance","02.major-modules/01.workstreams-and-work-items/09.workspace-capabilities/03.themes-and-appearance",{"title":297,"path":298,"stem":299},"Getting Help & Support","/major-modules/workstreams-and-work-items/workspace-capabilities/getting-help-and-support","02.major-modules/01.workstreams-and-work-items/09.workspace-capabilities/04.getting-help-and-support",{"title":301,"order":302,"path":303,"stem":304,"children":305,"page":84},"Plan Delivery: Boards",3,"/major-modules/boards","02.major-modules/02.boards",[306,310,314,318,322,326,330,334,338,342,346,350],{"title":307,"path":308,"stem":309},"How DevStride manages the When: Perpetual vs. Cycle-based Boards","/major-modules/boards/how-devstride-manages-the-when","02.major-modules/02.boards/01.how-devstride-manages-the-when",{"title":311,"path":312,"stem":313},"Working Group Folders: Organizing the Who of the work","/major-modules/boards/working-group-folders","02.major-modules/02.boards/02.working-group-folders",{"title":315,"path":316,"stem":317},"Understanding Board Views","/major-modules/boards/understanding-board-views","02.major-modules/02.boards/03.understanding-board-views",{"title":319,"path":320,"stem":321},"Import Stories and Epics into Boards","/major-modules/boards/import-stories-and-epics-into-boards","02.major-modules/02.boards/04.import-stories-and-epics-into-boards",{"title":323,"path":324,"stem":325},"Adding a Folder","/major-modules/boards/adding-a-folder","02.major-modules/02.boards/05.adding-a-folder",{"title":327,"path":328,"stem":329},"Manage and Edit Dependencies","/major-modules/boards/manage-and-edit-dependencies","02.major-modules/02.boards/06.manage-and-edit-dependencies",{"title":331,"path":332,"stem":333},"Creating Subfolders in DevStride","/major-modules/boards/creating-subfolders-in-devstride","02.major-modules/02.boards/07.creating-subfolders-in-devstride",{"title":335,"path":336,"stem":337},"Setting up and Using Perpetual Boards","/major-modules/boards/setting-up-and-using-perpetual-boards","02.major-modules/02.boards/08.setting-up-and-using-perpetual-boards",{"title":339,"path":340,"stem":341},"Using Cycle Boards","/major-modules/boards/using-cycle-boards","02.major-modules/02.boards/09.using-cycle-boards",{"title":343,"path":344,"stem":345},"Track and Move Work with Board Views","/major-modules/boards/track-and-move-work-with-board-views","02.major-modules/02.boards/10.track-and-move-work-with-board-views",{"title":347,"path":348,"stem":349},"Boards and WIP Limiters","/major-modules/boards/boards-and-wip-limiters","02.major-modules/02.boards/11.boards-and-wip-limiters",{"title":351,"path":352,"stem":353},"Board & Folder Permissions","/major-modules/boards/board-and-folder-permissions","02.major-modules/02.boards/12.board-and-folder-permissions",{"title":355,"path":356,"stem":357,"children":358,"page":84},"Track Progress: Gantts","/major-modules/track-progress-gantts","02.major-modules/03.track-progress-gantts",[359,363,367,371],{"title":360,"path":361,"stem":362},"Track Progress: Setting Up Gantt Charts","/major-modules/track-progress-gantts/setting-up-gantt-charts","02.major-modules/03.track-progress-gantts/01.setting-up-gantt-charts",{"title":364,"path":365,"stem":366},"Viewing Gantt Charts","/major-modules/track-progress-gantts/viewing-gantt-charts","02.major-modules/03.track-progress-gantts/02.viewing-gantt-charts",{"title":368,"path":369,"stem":370},"Using Gantt Charts: Navigating the timeline","/major-modules/track-progress-gantts/navigating-the-timeline","02.major-modules/03.track-progress-gantts/03.navigating-the-timeline",{"title":372,"path":373,"stem":374},"Using Gantt Charts: Navigating the table","/major-modules/track-progress-gantts/navigating-the-table","02.major-modules/03.track-progress-gantts/04.navigating-the-table",{"title":376,"order":377,"path":378,"stem":379,"children":380,"page":84},"Measure Performance: Reports",4,"/major-modules/measure-performance-reports","02.major-modules/04.measure-performance-reports",[381,385,389,393,397,401,405,409,413,417,421,425,429,433,437],{"title":382,"path":383,"stem":384},"Reports Overview","/major-modules/measure-performance-reports/viewing-optimization","02.major-modules/04.measure-performance-reports/01.viewing-optimization",{"title":386,"path":387,"stem":388},"Using AI for powerful reports","/major-modules/measure-performance-reports/using-ai-for-powerful-reports","02.major-modules/04.measure-performance-reports/02.using-ai-for-powerful-reports",{"title":390,"path":391,"stem":392},"Report Customization Options","/major-modules/measure-performance-reports/report-filters-and-options","02.major-modules/04.measure-performance-reports/03.report-filters-and-options",{"title":394,"path":395,"stem":396},"Report: Current Progress","/major-modules/measure-performance-reports/current-progress","02.major-modules/04.measure-performance-reports/04.current-progress",{"title":398,"path":399,"stem":400},"Report: Trending Progress","/major-modules/measure-performance-reports/trending-progress","02.major-modules/04.measure-performance-reports/05.trending-progress",{"title":402,"path":403,"stem":404},"Report: Cycle Time","/major-modules/measure-performance-reports/cycle-time","02.major-modules/04.measure-performance-reports/06.cycle-time",{"title":406,"path":407,"stem":408},"Report: Throughput","/major-modules/measure-performance-reports/throughput","02.major-modules/04.measure-performance-reports/07.throughput",{"title":410,"path":411,"stem":412},"Report: Cumulative Flow","/major-modules/measure-performance-reports/cumulative-flow","02.major-modules/04.measure-performance-reports/08.cumulative-flow",{"title":414,"path":415,"stem":416},"Report: Velocity","/major-modules/measure-performance-reports/velocity","02.major-modules/04.measure-performance-reports/09.velocity",{"title":418,"path":419,"stem":420},"Report: Burn Up","/major-modules/measure-performance-reports/burn-up","02.major-modules/04.measure-performance-reports/10.burn-up",{"title":422,"path":423,"stem":424},"Report: Burn Down","/major-modules/measure-performance-reports/burn-down","02.major-modules/04.measure-performance-reports/11.burn-down",{"title":426,"path":427,"stem":428},"Report: User Time Completed","/major-modules/measure-performance-reports/user-time-completed","02.major-modules/04.measure-performance-reports/12.user-time-completed",{"title":430,"path":431,"stem":432},"Report: Churn","/major-modules/measure-performance-reports/churn","02.major-modules/04.measure-performance-reports/13.churn",{"title":434,"path":435,"stem":436},"Report: Time Allocation Matrix","/major-modules/measure-performance-reports/time-allocation-matrix","02.major-modules/04.measure-performance-reports/14.time-allocation-matrix",{"title":438,"path":439,"stem":440},"Report: Cycle Carry-Forward","/major-modules/measure-performance-reports/cycle-carry-forward","02.major-modules/04.measure-performance-reports/15.cycle-carry-forward",{"title":442,"order":280,"path":443,"stem":444,"children":445,"page":84},"Service Desk","/major-modules/service-desk","02.major-modules/05.service-desk",[446,450,454,458,462,466,470,474,478,482,486,490,494,498],{"title":447,"path":448,"stem":449},"Overview","/major-modules/service-desk/overview","02.major-modules/05.service-desk/01.overview",{"title":451,"path":452,"stem":453},"Enabling Service Desk","/major-modules/service-desk/enabling-service-desk","02.major-modules/05.service-desk/02.enabling-service-desk",{"title":455,"path":456,"stem":457},"Email Channels & Setup","/major-modules/service-desk/email-channels","02.major-modules/05.service-desk/03.email-channels",{"title":459,"path":460,"stem":461},"Requesters & Companies","/major-modules/service-desk/requesters-and-companies","02.major-modules/05.service-desk/04.requesters-and-companies",{"title":463,"path":464,"stem":465},"Customer Support Portal","/major-modules/service-desk/customer-support-portal","02.major-modules/05.service-desk/05.customer-support-portal",{"title":467,"path":468,"stem":469},"Working a Ticket","/major-modules/service-desk/working-a-ticket","02.major-modules/05.service-desk/06.working-a-ticket",{"title":471,"path":472,"stem":473},"Request Forms","/major-modules/service-desk/request-forms","02.major-modules/05.service-desk/07.request-forms",{"title":475,"path":476,"stem":477},"The Suspended Queue","/major-modules/service-desk/suspended-messages","02.major-modules/05.service-desk/08.suspended-messages",{"title":479,"path":480,"stem":481},"Finding & Filtering Tickets","/major-modules/service-desk/finding-and-filtering-tickets","02.major-modules/05.service-desk/09.finding-and-filtering-tickets",{"title":483,"path":484,"stem":485},"Permissions","/major-modules/service-desk/permissions","02.major-modules/05.service-desk/10.permissions",{"title":487,"path":488,"stem":489},"Service Level Agreements (SLA)","/major-modules/service-desk/sla","02.major-modules/05.service-desk/10.sla",{"title":491,"path":492,"stem":493},"Time-Based Ticket Automations","/major-modules/service-desk/time-based-automations","02.major-modules/05.service-desk/11.time-based-automations",{"title":495,"path":496,"stem":497},"Reports","/major-modules/service-desk/reports","02.major-modules/05.service-desk/12.reports",{"title":499,"path":500,"stem":501},"How email replies find their ticket","/major-modules/service-desk/how-email-replies-find-their-ticket","02.major-modules/05.service-desk/13.how-email-replies-find-their-ticket",{"title":503,"path":504,"stem":505,"children":506,"page":84},"Templates","/major-modules/templates","02.major-modules/06.templates",[507,510,514,518,522,526],{"title":447,"path":508,"stem":509},"/major-modules/templates/overview","02.major-modules/06.templates/01.overview",{"title":511,"path":512,"stem":513},"Creating a template","/major-modules/templates/creating-a-template","02.major-modules/06.templates/02.creating-a-template",{"title":515,"path":516,"stem":517},"Variables","/major-modules/templates/variables","02.major-modules/06.templates/03.variables",{"title":519,"path":520,"stem":521},"Applying a template","/major-modules/templates/applying-a-template","02.major-modules/06.templates/04.applying-a-template",{"title":523,"path":524,"stem":525},"Sharing templates","/major-modules/templates/sharing-templates","02.major-modules/06.templates/05.sharing-templates",{"title":527,"path":528,"stem":529},"Template health","/major-modules/templates/template-health","02.major-modules/06.templates/06.template-health",{"title":531,"path":532,"stem":533,"children":534,"page":84},"Knowledge Base","/major-modules/knowledge-base","02.major-modules/07.knowledge-base",[535,539,543,547,551,555,559,563,567,571,575,579],{"title":536,"path":537,"stem":538},"Knowledge Base Overview","/major-modules/knowledge-base/overview","02.major-modules/07.knowledge-base/01.overview",{"title":540,"path":541,"stem":542},"Write and Publish Your First Article","/major-modules/knowledge-base/write-and-publish-your-first-article","02.major-modules/07.knowledge-base/02.write-and-publish-your-first-article",{"title":544,"path":545,"stem":546},"Organizing with Categories","/major-modules/knowledge-base/organizing-with-categories","02.major-modules/07.knowledge-base/03.organizing-with-categories",{"title":548,"path":549,"stem":550},"Who Can See an Article","/major-modules/knowledge-base/who-can-see-an-article","02.major-modules/07.knowledge-base/04.who-can-see-an-article",{"title":552,"path":553,"stem":554},"The Article Lifecycle and URLs","/major-modules/knowledge-base/article-lifecycle-and-urls","02.major-modules/07.knowledge-base/05.article-lifecycle-and-urls",{"title":556,"path":557,"stem":558},"Article History and Restore","/major-modules/knowledge-base/article-history-and-restore","02.major-modules/07.knowledge-base/06.article-history-and-restore",{"title":560,"path":561,"stem":562},"Searching and Browsing","/major-modules/knowledge-base/searching-and-browsing","02.major-modules/07.knowledge-base/07.searching-and-browsing",{"title":564,"path":565,"stem":566},"The Customer Help Center","/major-modules/knowledge-base/the-customer-help-center","02.major-modules/07.knowledge-base/08.the-customer-help-center",{"title":568,"path":569,"stem":570},"Sharing Articles and Categories","/major-modules/knowledge-base/sharing-articles-and-categories","02.major-modules/07.knowledge-base/09.sharing-articles-and-categories",{"title":572,"path":573,"stem":574},"Article Review Comments","/major-modules/knowledge-base/article-review-comments","02.major-modules/07.knowledge-base/10.article-review-comments",{"title":576,"path":577,"stem":578},"Knowledge Base Permissions","/major-modules/knowledge-base/knowledge-base-permissions","02.major-modules/07.knowledge-base/11.knowledge-base-permissions",{"title":580,"path":581,"stem":582},"Customer Comments on Articles","/major-modules/knowledge-base/customer-comments-on-articles","02.major-modules/07.knowledge-base/12.customer-comments-on-articles",{"title":584,"path":585,"stem":586,"children":587,"page":84},"Personal Workspace","/personal-workspace","03.personal-workspace",[588,594,608,619],{"title":589,"path":590,"stem":591,"children":592},"My Work","/personal-workspace/my-work","03.personal-workspace/01.my-work/index",[593],{"title":589,"path":590,"stem":591},{"title":595,"order":596,"path":597,"stem":598,"children":599,"page":84},"Notifications",7,"/personal-workspace/notifications","03.personal-workspace/02.notifications",[600,604],{"title":601,"path":602,"stem":603},"Notifications in DevStride","/personal-workspace/notifications/overview-of-notification-options","03.personal-workspace/02.notifications/01.overview-of-notification-options",{"title":605,"path":606,"stem":607},"Customizing Notification Settings","/personal-workspace/notifications/customizing-notification-settings-for-individuals-and-teams","03.personal-workspace/02.notifications/02.customizing-notification-settings-for-individuals-and-teams",{"title":609,"path":610,"stem":611,"children":612,"page":84},"My Account","/personal-workspace/my-account","03.personal-workspace/03.my-account",[613,616],{"title":447,"path":614,"stem":615},"/personal-workspace/my-account/overview","03.personal-workspace/03.my-account/01.overview",{"title":206,"path":617,"stem":618},"/personal-workspace/my-account/api-keys","03.personal-workspace/03.my-account/02.api-keys",{"title":232,"path":620,"stem":621},"/personal-workspace/keyboard-shortcuts","03.personal-workspace/04.keyboard-shortcuts",{"title":623,"path":624,"stem":625,"children":626,"page":84},"Workspace Administration","/workspace-administration","04.workspace-administration",[627,647,657,802,815,894],{"title":628,"path":629,"stem":630,"children":631,"page":84},"Manage Items Module","/workspace-administration/manage-items","04.workspace-administration/01.manage-items",[632,635,639,643],{"title":447,"path":633,"stem":634},"/workspace-administration/manage-items/overview","04.workspace-administration/01.manage-items/01.overview",{"title":636,"path":637,"stem":638},"Finding & Filtering Items","/workspace-administration/manage-items/finding-and-filtering-items","04.workspace-administration/01.manage-items/02.finding-and-filtering-items",{"title":640,"path":641,"stem":642},"Creating & Sharing Views","/workspace-administration/manage-items/creating-and-sharing-views","04.workspace-administration/01.manage-items/03.creating-and-sharing-views",{"title":644,"path":645,"stem":646},"Item Hierarchy","/workspace-administration/manage-items/item-hierarchy","04.workspace-administration/01.manage-items/04.item-hierarchy",{"title":648,"order":649,"path":650,"stem":651,"children":652,"page":84},"Automate Workflows",5,"/workspace-administration/automations","04.workspace-administration/02.automations",[653],{"title":654,"path":655,"stem":656},"Setting Up Basic Automations","/workspace-administration/automations/setting-up-basic-automations","04.workspace-administration/02.automations/01.setting-up-basic-automations",{"title":658,"order":659,"path":660,"stem":661,"children":662,"page":84},"Configure Settings",6,"/workspace-administration/settings","04.workspace-administration/03.settings",[663,708,745,754,798],{"title":664,"path":665,"stem":666,"children":667,"page":84},"Organization","/workspace-administration/settings/organization","04.workspace-administration/03.settings/01.organization",[668,672,676,680,684,688,692,696,700,704],{"title":669,"path":670,"stem":671},"Org Configuration","/workspace-administration/settings/organization/org-profile","04.workspace-administration/03.settings/01.organization/01.org-profile",{"title":673,"path":674,"stem":675},"Users, Roles & MFA","/workspace-administration/settings/organization/users-roles-and-mfa","04.workspace-administration/03.settings/01.organization/02.users-roles-and-mfa",{"title":677,"path":678,"stem":679},"Time Tracking Lock & Soft Close","/workspace-administration/settings/organization/time-tracking-lock","04.workspace-administration/03.settings/01.organization/03.time-tracking-lock",{"title":681,"path":682,"stem":683},"Training Sandboxes","/workspace-administration/settings/organization/training-sandboxes","04.workspace-administration/03.settings/01.organization/04.training-sandboxes",{"title":685,"path":686,"stem":687},"Training Sandbox Guide","/workspace-administration/settings/organization/training-sandbox-guide","04.workspace-administration/03.settings/01.organization/05.training-sandbox-guide",{"title":689,"path":690,"stem":691},"Personas","/workspace-administration/settings/organization/personas","04.workspace-administration/03.settings/01.organization/06.personas",{"title":693,"path":694,"stem":695},"Teams","/workspace-administration/settings/organization/teams","04.workspace-administration/03.settings/01.organization/07.teams",{"title":697,"path":698,"stem":699},"Import History","/workspace-administration/settings/organization/import-history","04.workspace-administration/03.settings/01.organization/08.import-history",{"title":701,"path":702,"stem":703},"Formatting Rules","/workspace-administration/settings/organization/formatting-rules","04.workspace-administration/03.settings/01.organization/09.formatting-rules",{"title":705,"path":706,"stem":707},"Subtask Statuses","/workspace-administration/settings/organization/subtask-statuses","04.workspace-administration/03.settings/01.organization/10.subtask-statuses",{"title":709,"path":710,"stem":711,"children":712,"page":84},"Data Model","/workspace-administration/settings/data-model","04.workspace-administration/03.settings/02.data-model",[713,717,721,725,729,733,737,741],{"title":714,"path":715,"stem":716},"Cadences","/workspace-administration/settings/data-model/cadences","04.workspace-administration/03.settings/02.data-model/01.cadences",{"title":718,"path":719,"stem":720},"Item Types","/workspace-administration/settings/data-model/item-types","04.workspace-administration/03.settings/02.data-model/02.item-types",{"title":722,"path":723,"stem":724},"Tags","/workspace-administration/settings/data-model/tags","04.workspace-administration/03.settings/02.data-model/03.tags",{"title":726,"path":727,"stem":728},"Custom Fields","/workspace-administration/settings/data-model/custom-fields","04.workspace-administration/03.settings/02.data-model/04.custom-fields",{"title":730,"path":731,"stem":732},"Priority Levels","/workspace-administration/settings/data-model/priority-levels","04.workspace-administration/03.settings/02.data-model/05.priority-levels",{"title":734,"path":735,"stem":736},"Effort Points and Time Estimation","/workspace-administration/settings/data-model/effort-points-and-time-estimation","04.workspace-administration/03.settings/02.data-model/06.effort-points-and-time-estimation",{"title":738,"path":739,"stem":740},"Statuses and WIP Limiters","/workspace-administration/settings/data-model/statuses-and-wip-limiters","04.workspace-administration/03.settings/02.data-model/07.statuses-and-wip-limiters",{"title":742,"path":743,"stem":744},"Customizing the Item Drawer","/workspace-administration/settings/data-model/customizing-the-item-drawer","04.workspace-administration/03.settings/02.data-model/08.customizing-the-item-drawer",{"title":746,"path":747,"stem":748,"children":749,"page":84},"Forms","/workspace-administration/settings/forms","04.workspace-administration/03.settings/03.forms",[750],{"title":751,"path":752,"stem":753},"Item Request Forms","/workspace-administration/settings/forms/item-request-forms","04.workspace-administration/03.settings/03.forms/item-request-forms",{"title":755,"path":756,"stem":757,"children":758,"page":84},"Integrations","/workspace-administration/settings/integrations","04.workspace-administration/03.settings/04.integrations",[759,763,767,771,775,778,782,786,790,794],{"title":760,"path":761,"stem":762},"GitHub","/workspace-administration/settings/integrations/github","04.workspace-administration/03.settings/04.integrations/01.github",{"title":764,"path":765,"stem":766},"Connect AI & the MCP Server","/workspace-administration/settings/integrations/connect-ai-and-mcp","04.workspace-administration/03.settings/04.integrations/02.connect-ai-and-mcp",{"title":768,"path":769,"stem":770},"Database Access for BI Tools","/workspace-administration/settings/integrations/database-access","04.workspace-administration/03.settings/04.integrations/03.database-access",{"title":772,"path":773,"stem":774},"Jira Integration","/workspace-administration/settings/integrations/jira","04.workspace-administration/03.settings/04.integrations/04.jira",{"title":206,"path":776,"stem":777},"/workspace-administration/settings/integrations/api-keys","04.workspace-administration/03.settings/04.integrations/05.api-keys",{"title":779,"path":780,"stem":781},"Enterprise SSO","/workspace-administration/settings/integrations/enterprise-sso","04.workspace-administration/03.settings/04.integrations/06.enterprise-sso",{"title":783,"path":784,"stem":785},"Microsoft Teams","/workspace-administration/settings/integrations/microsoft-teams","04.workspace-administration/03.settings/04.integrations/07.microsoft-teams",{"title":787,"path":788,"stem":789},"Slack","/workspace-administration/settings/integrations/slack","04.workspace-administration/03.settings/04.integrations/08.slack",{"title":791,"path":792,"stem":793},"Connected Apps","/workspace-administration/settings/integrations/connected-apps","04.workspace-administration/03.settings/04.integrations/09.connected-apps",{"title":795,"path":796,"stem":797},"Azure DevOps Integration","/workspace-administration/settings/integrations/azure-devops","04.workspace-administration/03.settings/04.integrations/10.azure-devops",{"title":799,"path":800,"stem":801},"Subscription & Billing","/workspace-administration/settings/subscription-and-billing","04.workspace-administration/03.settings/05.subscription-and-billing",{"title":483,"path":803,"stem":804,"children":805,"page":84},"/workspace-administration/permissions","04.workspace-administration/04.permissions",[806,809,812],{"title":194,"path":807,"stem":808},"/workspace-administration/permissions/understanding-permissions","04.workspace-administration/04.permissions/01.understanding-permissions",{"title":198,"path":810,"stem":811},"/workspace-administration/permissions/roles-and-permissions","04.workspace-administration/04.permissions/02.roles-and-permissions",{"title":202,"path":813,"stem":814},"/workspace-administration/permissions/sharing-and-access","04.workspace-administration/04.permissions/03.sharing-and-access",{"title":816,"order":817,"path":818,"stem":819,"children":820,"page":84},"Filters",10,"/workspace-administration/filters","04.workspace-administration/05.filters",[821,824,827,831,835,839,843,846,849,853,873],{"title":589,"path":822,"stem":823},"/workspace-administration/filters/my-work","04.workspace-administration/05.filters/01.my-work",{"title":595,"path":825,"stem":826},"/workspace-administration/filters/notifications","04.workspace-administration/05.filters/02.notifications",{"title":828,"path":829,"stem":830},"Workstreams","/workspace-administration/filters/workstreams","04.workspace-administration/05.filters/03.workstreams",{"title":832,"path":833,"stem":834},"Cycles","/workspace-administration/filters/cycles","04.workspace-administration/05.filters/04.cycles",{"title":836,"path":837,"stem":838},"Boards","/workspace-administration/filters/boards","04.workspace-administration/05.filters/05.boards",{"title":840,"path":841,"stem":842},"Gantt","/workspace-administration/filters/gantt","04.workspace-administration/05.filters/06.gantt",{"title":52,"path":844,"stem":845},"/workspace-administration/filters/items","04.workspace-administration/05.filters/07.items",{"title":495,"path":847,"stem":848},"/workspace-administration/filters/reports","04.workspace-administration/05.filters/08.reports",{"title":850,"path":851,"stem":852},"Automations","/workspace-administration/filters/automations","04.workspace-administration/05.filters/09.automations",{"title":854,"path":855,"stem":856,"children":857,"page":84},"Sort ","/workspace-administration/filters/sort","04.workspace-administration/05.filters/10.sort",[858,861,864,867,870],{"title":589,"path":859,"stem":860},"/workspace-administration/filters/sort/my-work","04.workspace-administration/05.filters/10.sort/01.my-work",{"title":828,"path":862,"stem":863},"/workspace-administration/filters/sort/workstreams","04.workspace-administration/05.filters/10.sort/02.workstreams",{"title":832,"path":865,"stem":866},"/workspace-administration/filters/sort/cycles","04.workspace-administration/05.filters/10.sort/03.cycles",{"title":836,"path":868,"stem":869},"/workspace-administration/filters/sort/boards","04.workspace-administration/05.filters/10.sort/04.boards",{"title":52,"path":871,"stem":872},"/workspace-administration/filters/sort/items","04.workspace-administration/05.filters/10.sort/05.items",{"title":874,"path":875,"stem":876,"children":877,"page":84},"Options","/workspace-administration/filters/options","04.workspace-administration/05.filters/11.options",[878,881,884,888,891],{"title":589,"path":879,"stem":880},"/workspace-administration/filters/options/my-work","04.workspace-administration/05.filters/11.options/01.my-work",{"title":828,"path":882,"stem":883},"/workspace-administration/filters/options/workstreams","04.workspace-administration/05.filters/11.options/02.workstreams",{"title":885,"path":886,"stem":887},"Cycle","/workspace-administration/filters/options/cycle","04.workspace-administration/05.filters/11.options/03.cycle",{"title":836,"path":889,"stem":890},"/workspace-administration/filters/options/boards","04.workspace-administration/05.filters/11.options/04.boards",{"title":52,"path":892,"stem":893},"/workspace-administration/filters/options/items","04.workspace-administration/05.filters/11.options/05.items",{"title":895,"path":896,"stem":897},"AI Assistant","/workspace-administration/ai-assistant","04.workspace-administration/06.ai-assistant",{"title":899,"path":900,"stem":901,"children":902,"page":84},"Planning Concepts & Use Cases","/planning-concepts-and-use-cases","05.planning-concepts-and-use-cases",[903,959],{"title":904,"order":905,"path":906,"stem":907,"children":908,"page":84},"Understanding Project Planning Tools",9,"/planning-concepts-and-use-cases/project-planning-tools","05.planning-concepts-and-use-cases/01.project-planning-tools",[909,942],{"title":910,"path":911,"stem":912,"children":913,"page":84},"Gantt Charts","/planning-concepts-and-use-cases/project-planning-tools/gantt-charts","05.planning-concepts-and-use-cases/01.project-planning-tools/gantt-charts",[914,918,922,926,930,934,938],{"title":915,"path":916,"stem":917},"Gantt Charts Basics","/planning-concepts-and-use-cases/project-planning-tools/gantt-charts/gantt-charts-basics","05.planning-concepts-and-use-cases/01.project-planning-tools/gantt-charts/01.gantt-charts-basics",{"title":919,"path":920,"stem":921},"Create New Gantt","/planning-concepts-and-use-cases/project-planning-tools/gantt-charts/create-new-gantt","05.planning-concepts-and-use-cases/01.project-planning-tools/gantt-charts/02.create-new-gantt",{"title":923,"path":924,"stem":925},"Add to Gantt","/planning-concepts-and-use-cases/project-planning-tools/gantt-charts/add-to-gantt","05.planning-concepts-and-use-cases/01.project-planning-tools/gantt-charts/03.add-to-gantt",{"title":927,"path":928,"stem":929},"Gantt Charts Toolbar","/planning-concepts-and-use-cases/project-planning-tools/gantt-charts/gantt-charts-toolbar","05.planning-concepts-and-use-cases/01.project-planning-tools/gantt-charts/04.gantt-charts-toolbar",{"title":931,"path":932,"stem":933},"Scenario Planning","/planning-concepts-and-use-cases/project-planning-tools/gantt-charts/scenario-planning","05.planning-concepts-and-use-cases/01.project-planning-tools/gantt-charts/05.scenario-planning",{"title":935,"path":936,"stem":937},"Tips for Effective Gantt Chart Planning","/planning-concepts-and-use-cases/project-planning-tools/gantt-charts/tips-for-effective-gantt-chart-planning","05.planning-concepts-and-use-cases/01.project-planning-tools/gantt-charts/06.tips-for-effective-gantt-chart-planning",{"title":939,"path":940,"stem":941},"Link Mode","/planning-concepts-and-use-cases/project-planning-tools/gantt-charts/link-mode","05.planning-concepts-and-use-cases/01.project-planning-tools/gantt-charts/07.link-mode",{"title":943,"path":944,"stem":945,"children":946,"page":84},"Kanban Boards","/planning-concepts-and-use-cases/project-planning-tools/kanban-boards","05.planning-concepts-and-use-cases/01.project-planning-tools/kanban-boards",[947,951,955],{"title":948,"path":949,"stem":950},"Setting Up Your Kanban Board","/planning-concepts-and-use-cases/project-planning-tools/kanban-boards/setting-up-your-kanban-board","05.planning-concepts-and-use-cases/01.project-planning-tools/kanban-boards/01.setting-up-your-kanban-board",{"title":952,"path":953,"stem":954},"Using Kanban for Workflow Visualization","/planning-concepts-and-use-cases/project-planning-tools/kanban-boards/using-kanban-for-workflow-visualization","05.planning-concepts-and-use-cases/01.project-planning-tools/kanban-boards/02.using-kanban-for-workflow-visualization",{"title":956,"path":957,"stem":958},"Kanban Best Practices","/planning-concepts-and-use-cases/project-planning-tools/kanban-boards/kanban-best-practices","05.planning-concepts-and-use-cases/01.project-planning-tools/kanban-boards/03.kanban-best-practices",{"title":960,"order":961,"path":962,"stem":963,"children":964,"page":84},"Use Cases",12,"/planning-concepts-and-use-cases/use-cases","05.planning-concepts-and-use-cases/02.use-cases",[965,968,972,976,980,984],{"title":910,"path":966,"stem":967},"/planning-concepts-and-use-cases/use-cases/gantt-charts","05.planning-concepts-and-use-cases/02.use-cases/01.gantt-charts",{"title":969,"path":970,"stem":971},"Plan a Sprint","/planning-concepts-and-use-cases/use-cases/plan-a-sprint","05.planning-concepts-and-use-cases/02.use-cases/02.plan-a-sprint",{"title":973,"path":974,"stem":975},"Conduct a Standup","/planning-concepts-and-use-cases/use-cases/conduct-a-standup","05.planning-concepts-and-use-cases/02.use-cases/03.conduct-a-standup",{"title":977,"path":978,"stem":979},"Manage Cadences","/planning-concepts-and-use-cases/use-cases/manage-cadences","05.planning-concepts-and-use-cases/02.use-cases/04.manage-cadences",{"title":981,"path":982,"stem":983},"Customizing Item Types","/planning-concepts-and-use-cases/use-cases/customizing-item-types","05.planning-concepts-and-use-cases/02.use-cases/05.customizing-item-types",{"title":985,"path":986,"stem":987},"Backlog Refinement","/planning-concepts-and-use-cases/use-cases/backlog-refinement","05.planning-concepts-and-use-cases/02.use-cases/06.backlog-refinement",{"title":989,"path":990,"stem":991,"children":992,"page":84},"Integrations & Extensibility","/integrations-and-extensibility","06.integrations-and-extensibility",[993,1018,1076],{"title":994,"path":995,"stem":996,"children":997,"page":84},"DevStride MCP Server","/integrations-and-extensibility/devstride-mcp-server","06.integrations-and-extensibility/01.devstride-mcp-server",[998,1002,1006,1010,1014],{"title":999,"path":1000,"stem":1001},"What Is the DevStride MCP Server?","/integrations-and-extensibility/devstride-mcp-server/what-is-the-devstride-mcp-server","06.integrations-and-extensibility/01.devstride-mcp-server/01.what-is-the-devstride-mcp-server",{"title":1003,"path":1004,"stem":1005},"Setting Up Your Connection","/integrations-and-extensibility/devstride-mcp-server/setting-up-your-connection","06.integrations-and-extensibility/01.devstride-mcp-server/02.setting-up-your-connection",{"title":1007,"path":1008,"stem":1009},"Doing Real Work with the DevStride MCP Server","/integrations-and-extensibility/devstride-mcp-server/doing-real-work-with-the-devstride-mcp-server","06.integrations-and-extensibility/01.devstride-mcp-server/03.doing-real-work-with-the-devstride-mcp-server",{"title":1011,"path":1012,"stem":1013},"Best Practices & Tips","/integrations-and-extensibility/devstride-mcp-server/best-practices-and-tips","06.integrations-and-extensibility/01.devstride-mcp-server/04.best-practices-and-tips",{"title":1015,"path":1016,"stem":1017},"Tool Reference","/integrations-and-extensibility/devstride-mcp-server/tool-reference","06.integrations-and-extensibility/01.devstride-mcp-server/05.tool-reference",{"title":1019,"path":1020,"stem":1021,"children":1022},"Plugins","/integrations-and-extensibility/plugins","06.integrations-and-extensibility/02.plugins/index",[1023,1025],{"title":1024,"path":1020,"stem":1021},"Getting Started With Plugins",{"title":1026,"path":1027,"stem":1028,"children":1029,"page":84},"Weekly Logs","/integrations-and-extensibility/plugins/weekly-logs","06.integrations-and-extensibility/02.plugins/01.weekly-logs",[1030,1033,1037,1041,1045,1049,1053,1057,1060,1064,1068,1072],{"title":447,"path":1031,"stem":1032},"/integrations-and-extensibility/plugins/weekly-logs/overview","06.integrations-and-extensibility/02.plugins/01.weekly-logs/01.overview",{"title":1034,"path":1035,"stem":1036},"Grid","/integrations-and-extensibility/plugins/weekly-logs/grid","06.integrations-and-extensibility/02.plugins/01.weekly-logs/02.grid",{"title":1038,"path":1039,"stem":1040},"Views","/integrations-and-extensibility/plugins/weekly-logs/views","06.integrations-and-extensibility/02.plugins/01.weekly-logs/03.views",{"title":1042,"path":1043,"stem":1044},"Navigation","/integrations-and-extensibility/plugins/weekly-logs/navigation","06.integrations-and-extensibility/02.plugins/01.weekly-logs/04.navigation",{"title":1046,"path":1047,"stem":1048},"Proposed Items","/integrations-and-extensibility/plugins/weekly-logs/proposed-items","06.integrations-and-extensibility/02.plugins/01.weekly-logs/05.proposed-items",{"title":1050,"path":1051,"stem":1052},"Search","/integrations-and-extensibility/plugins/weekly-logs/search","06.integrations-and-extensibility/02.plugins/01.weekly-logs/06.search",{"title":1054,"path":1055,"stem":1056},"Time Logging","/integrations-and-extensibility/plugins/weekly-logs/logging","06.integrations-and-extensibility/02.plugins/01.weekly-logs/07.logging",{"title":816,"path":1058,"stem":1059},"/integrations-and-extensibility/plugins/weekly-logs/filtering","06.integrations-and-extensibility/02.plugins/01.weekly-logs/08.filtering",{"title":1061,"path":1062,"stem":1063},"Team Logs","/integrations-and-extensibility/plugins/weekly-logs/team-logs","06.integrations-and-extensibility/02.plugins/01.weekly-logs/09.team-logs",{"title":1065,"path":1066,"stem":1067},"Organization Switch","/integrations-and-extensibility/plugins/weekly-logs/organization-switch","06.integrations-and-extensibility/02.plugins/01.weekly-logs/10.organization-switch",{"title":1069,"path":1070,"stem":1071},"Export","/integrations-and-extensibility/plugins/weekly-logs/export","06.integrations-and-extensibility/02.plugins/01.weekly-logs/11.export",{"title":1073,"path":1074,"stem":1075},"Meetings","/integrations-and-extensibility/plugins/weekly-logs/meetings","06.integrations-and-extensibility/02.plugins/01.weekly-logs/12.meetings",{"title":1077,"path":1078,"stem":1079,"children":1080},"Webhooks","/integrations-and-extensibility/webhooks","06.integrations-and-extensibility/03.webhooks/index",[1081,1082,1086,1090,1094,1098,1102],{"title":1077,"path":1078,"stem":1079},{"title":1083,"path":1084,"stem":1085},"Quickstart","/integrations-and-extensibility/webhooks/quickstart","06.integrations-and-extensibility/03.webhooks/01.quickstart",{"title":1087,"path":1088,"stem":1089},"Events & Payloads","/integrations-and-extensibility/webhooks/events-and-payloads","06.integrations-and-extensibility/03.webhooks/02.events-and-payloads",{"title":1091,"path":1092,"stem":1093},"Verifying Signatures","/integrations-and-extensibility/webhooks/verifying-signatures","06.integrations-and-extensibility/03.webhooks/03.verifying-signatures",{"title":1095,"path":1096,"stem":1097},"Delivery, Retries & Ordering","/integrations-and-extensibility/webhooks/delivery-retries-and-ordering","06.integrations-and-extensibility/03.webhooks/04.delivery-retries-and-ordering",{"title":1099,"path":1100,"stem":1101},"Managing Endpoints","/integrations-and-extensibility/webhooks/managing-endpoints","06.integrations-and-extensibility/03.webhooks/05.managing-endpoints",{"title":1103,"path":1104,"stem":1105},"Troubleshooting & Best Practices","/integrations-and-extensibility/webhooks/troubleshooting-and-best-practices","06.integrations-and-extensibility/03.webhooks/06.troubleshooting-and-best-practices",{"title":1107,"path":1108,"stem":1109,"children":1110,"page":84},"Developer Experience","/developer-experience","07.developer-experience",[1111,1147,1203],{"title":1112,"path":1113,"stem":1114,"children":1115,"page":84},"Developer Guide","/developer-experience/guide","07.developer-experience/00.guide",[1116,1119,1123,1127,1131,1135,1139,1143],{"title":447,"path":1117,"stem":1118},"/developer-experience/guide/overview","07.developer-experience/00.guide/01.overview",{"title":1120,"path":1121,"stem":1122},"Set up your machine","/developer-experience/guide/set-up-your-machine","07.developer-experience/00.guide/02.set-up-your-machine",{"title":1124,"path":1125,"stem":1126},"Credentials and access","/developer-experience/guide/credentials-and-access","07.developer-experience/00.guide/03.credentials-and-access",{"title":1128,"path":1129,"stem":1130},"Plan work","/developer-experience/guide/plan-work","07.developer-experience/00.guide/04.plan-work",{"title":1132,"path":1133,"stem":1134},"Develop","/developer-experience/guide/develop","07.developer-experience/00.guide/05.develop",{"title":1136,"path":1137,"stem":1138},"Release","/developer-experience/guide/release","07.developer-experience/00.guide/06.release",{"title":1140,"path":1141,"stem":1142},"Troubleshooting","/developer-experience/guide/troubleshooting","07.developer-experience/00.guide/07.troubleshooting",{"title":1144,"path":1145,"stem":1146},"For admins: access, keys and stages","/developer-experience/guide/for-admins","07.developer-experience/00.guide/08.for-admins",{"title":1148,"path":1149,"stem":1150,"children":1151,"page":84},"Intro","/developer-experience/intro","07.developer-experience/01.intro",[1152,1156,1159,1163,1167,1171,1175,1179,1183,1187,1191,1195,1199],{"title":1153,"path":1154,"stem":1155},"How DevStride Is Built, and Why","/developer-experience/intro/how-we-build","07.developer-experience/01.intro/00.how-we-build",{"title":5,"path":1157,"stem":1158},"/developer-experience/intro/getting-started","07.developer-experience/01.intro/01.getting-started",{"title":1160,"path":1161,"stem":1162},"Introduction to the ds CLI","/developer-experience/intro/introduction","07.developer-experience/01.intro/02.introduction",{"title":1164,"path":1165,"stem":1166},"Command Reference","/developer-experience/intro/command-reference","07.developer-experience/01.intro/03.command-reference",{"title":1168,"path":1169,"stem":1170},"Local Development","/developer-experience/intro/local-development","07.developer-experience/01.intro/04.local-development",{"title":1172,"path":1173,"stem":1174},"Dockerized Worktree Development","/developer-experience/intro/dockerized-worktree-development","07.developer-experience/01.intro/05.dockerized-worktree-development",{"title":1176,"path":1177,"stem":1178},"Golden Dataset","/developer-experience/intro/golden-dataset","07.developer-experience/01.intro/06.golden-dataset",{"title":1180,"path":1181,"stem":1182},"Deployment","/developer-experience/intro/deployment","07.developer-experience/01.intro/07.deployment",{"title":1184,"path":1185,"stem":1186},"API Development","/developer-experience/intro/api-development","07.developer-experience/01.intro/08.api-development",{"title":1188,"path":1189,"stem":1190},"Stripe Integration","/developer-experience/intro/stripe-integration","07.developer-experience/01.intro/09.stripe-integration",{"title":1192,"path":1193,"stem":1194},"Maintenance & Codebase Checks","/developer-experience/intro/maintenance-and-codebase-checks","07.developer-experience/01.intro/10.maintenance-and-codebase-checks",{"title":1196,"path":1197,"stem":1198},"AI Development","/developer-experience/intro/ai-development","07.developer-experience/01.intro/11.ai-development",{"title":1200,"path":1201,"stem":1202},"Data Conversion Utilities","/developer-experience/intro/data-conversion-utilities","07.developer-experience/01.intro/12.data-conversion-utilities",{"title":1204,"path":1205,"stem":1206,"children":1207,"page":84},"Agentic Skills","/developer-experience/agentic-skills","07.developer-experience/02.agentic-skills",[1208,1212,1216,1220,1224,1228,1232,1236],{"title":1209,"path":1210,"stem":1211},"The Idea Behind the Loop","/developer-experience/agentic-skills/the-idea-behind-the-loop","07.developer-experience/02.agentic-skills/00.the-idea-behind-the-loop",{"title":1213,"path":1214,"stem":1215},"DevStride for Claude Code","/developer-experience/agentic-skills/claude-code-skills-overview","07.developer-experience/02.agentic-skills/01.claude-code-skills-overview",{"title":1217,"path":1218,"stem":1219},"Getting the Skills","/developer-experience/agentic-skills/getting-the-skills","07.developer-experience/02.agentic-skills/02.getting-the-skills",{"title":1221,"path":1222,"stem":1223},"Guided Setup","/developer-experience/agentic-skills/setup-guide","07.developer-experience/02.agentic-skills/03.setup-guide",{"title":1225,"path":1226,"stem":1227},"Skill Audit","/developer-experience/agentic-skills/skill-audit","07.developer-experience/02.agentic-skills/04.skill-audit",{"title":1229,"path":1230,"stem":1231},"The Planning Loop","/developer-experience/agentic-skills/claude-skills-planning-loop","07.developer-experience/02.agentic-skills/05.claude-skills-planning-loop",{"title":1233,"path":1234,"stem":1235},"The Delivery Loop","/developer-experience/agentic-skills/claude-skills-delivery-loop","07.developer-experience/02.agentic-skills/06.claude-skills-delivery-loop",{"title":1237,"path":1238,"stem":1239},"Configuration Reference","/developer-experience/agentic-skills/configuration-reference","07.developer-experience/02.agentic-skills/07.configuration-reference",{"title":1241,"order":1242,"path":1243,"stem":1244,"children":1245,"page":84},"Release Notes",11,"/release-notes","08.release-notes",[1246,1250,1254,1258,1262,1266,1270,1274,1278,1282,1286,1290,1294,1298,1302,1306,1310,1314,1318,1322,1326,1330,1334,1338,1342,1346,1350,1354,1358,1362,1366,1370,1374,1378,1382,1386,1390,1394,1398,1402,1406,1410,1414,1418,1422,1426,1430,1434,1438,1442,1446,1450,1454,1458,1462,1466,1470,1474,1478,1482,1486,1490,1494,1498,1502,1506,1510,1514,1518,1522,1526,1530,1534,1538,1542,1546,1550,1554,1558,1562,1566,1570,1574],{"title":1247,"path":1248,"stem":1249},"2026-10-12","/release-notes/2026-10-12","08.release-notes/83.2026-10-12",{"title":1251,"path":1252,"stem":1253},"2026-10-03","/release-notes/2026-10-03","08.release-notes/82.2026-10-03",{"title":1255,"path":1256,"stem":1257},"2026-09-17","/release-notes/2026-09-17","08.release-notes/81.2026-09-17",{"title":1259,"path":1260,"stem":1261},"2026-09-13","/release-notes/2026-09-13","08.release-notes/80.2026-09-13",{"title":1263,"path":1264,"stem":1265},"2026-09-11","/release-notes/2026-09-11","08.release-notes/79.2026-09-11",{"title":1267,"path":1268,"stem":1269},"2026-09-01","/release-notes/2026-09-01","08.release-notes/78.2026-09-01",{"title":1271,"path":1272,"stem":1273},"2026-08-29","/release-notes/2026-08-29","08.release-notes/77.2026-08-29",{"title":1275,"path":1276,"stem":1277},"2026-08-27","/release-notes/2026-08-27","08.release-notes/76.2026-08-27",{"title":1279,"path":1280,"stem":1281},"2026-08-25","/release-notes/2026-08-25","08.release-notes/75.2026-08-25",{"title":1283,"path":1284,"stem":1285},"2026-08-22","/release-notes/2026-08-22","08.release-notes/74.2026-08-22",{"title":1287,"path":1288,"stem":1289},"2026-08-21","/release-notes/2026-08-21","08.release-notes/73.2026-08-21",{"title":1291,"path":1292,"stem":1293},"2026-08-17","/release-notes/2026-08-17","08.release-notes/72.2026-08-17",{"title":1295,"path":1296,"stem":1297},"2026-08-16","/release-notes/2026-08-16","08.release-notes/71.2026-08-16",{"title":1299,"path":1300,"stem":1301},"2026-08-14","/release-notes/2026-08-14","08.release-notes/70.2026-08-14",{"title":1303,"path":1304,"stem":1305},"2026-08-11","/release-notes/2026-08-11","08.release-notes/69.2026-08-11",{"title":1307,"path":1308,"stem":1309},"2026-08-07","/release-notes/2026-08-07","08.release-notes/68.2026-08-07",{"title":1311,"path":1312,"stem":1313},"2026-08-05","/release-notes/2026-08-05","08.release-notes/67.2026-08-05",{"title":1315,"path":1316,"stem":1317},"2026-08-01","/release-notes/2026-08-01","08.release-notes/66.2026-08-01",{"title":1319,"path":1320,"stem":1321},"2026-07-30","/release-notes/2026-07-30","08.release-notes/65.2026-07-30",{"title":1323,"path":1324,"stem":1325},"2026-07-28","/release-notes/2026-07-28","08.release-notes/64.2026-07-28",{"title":1327,"path":1328,"stem":1329},"2026-07-22","/release-notes/2026-07-22","08.release-notes/63.2026-07-22",{"title":1331,"path":1332,"stem":1333},"2026-07-19","/release-notes/2026-07-19","08.release-notes/62.2026-07-19",{"title":1335,"path":1336,"stem":1337},"2026-07-17","/release-notes/2026-07-17","08.release-notes/61.2026-07-17",{"title":1339,"path":1340,"stem":1341},"2026-07-15","/release-notes/2026-07-15","08.release-notes/60.2026-07-15",{"title":1343,"path":1344,"stem":1345},"2026-07-12","/release-notes/2026-07-12","08.release-notes/59.2026-07-12",{"title":1347,"path":1348,"stem":1349},"2026-07-11","/release-notes/2026-07-11","08.release-notes/58.2026-07-11",{"title":1351,"path":1352,"stem":1353},"2026-07-09","/release-notes/2026-07-09","08.release-notes/57.2026-07-09",{"title":1355,"path":1356,"stem":1357},"2026-07-07","/release-notes/2026-07-07","08.release-notes/56.2026-07-07",{"title":1359,"path":1360,"stem":1361},"2026-07-06","/release-notes/2026-07-06","08.release-notes/55.2026-07-06",{"title":1363,"path":1364,"stem":1365},"2026-07-02","/release-notes/2026-07-02","08.release-notes/54.2026-07-02",{"title":1367,"path":1368,"stem":1369},"2026-06-30","/release-notes/2026-06-30","08.release-notes/53.2026-06-30",{"title":1371,"path":1372,"stem":1373},"2026-06-17","/release-notes/2026-06-17","08.release-notes/52.2026-06-17",{"title":1375,"path":1376,"stem":1377},"2026-06-12","/release-notes/2026-06-12","08.release-notes/51.2026-06-12",{"title":1379,"path":1380,"stem":1381},"2026-05-29","/release-notes/2026-05-29","08.release-notes/50.2026-05-29",{"title":1383,"path":1384,"stem":1385},"2026-05-13","/release-notes/2026-05-13","08.release-notes/49.2026-05-13",{"title":1387,"path":1388,"stem":1389},"2026-04-29","/release-notes/2026-04-29","08.release-notes/48.2026-04-29",{"title":1391,"path":1392,"stem":1393},"2026-04-14","/release-notes/2026-04-14","08.release-notes/47.2026-04-14",{"title":1395,"path":1396,"stem":1397},"2026-04-09","/release-notes/2026-04-09","08.release-notes/46.2026-04-09",{"title":1399,"path":1400,"stem":1401},"2026-03-13","/release-notes/2026-03-13","08.release-notes/45.2026-03-13",{"title":1403,"path":1404,"stem":1405},"2026-02-16","/release-notes/2026-02-16","08.release-notes/44.2026-02-16",{"title":1407,"path":1408,"stem":1409},"2026-02-06","/release-notes/2026-02-06","08.release-notes/43.2026-02-06",{"title":1411,"path":1412,"stem":1413},"2026-01-30","/release-notes/2026-01-30","08.release-notes/42.2026-01-30",{"title":1415,"path":1416,"stem":1417},"2026-01-19","/release-notes/2026-01-19","08.release-notes/41.2026-01-19",{"title":1419,"path":1420,"stem":1421},"2025-09-27","/release-notes/2025-09-27","08.release-notes/40.2025-09-27",{"title":1423,"path":1424,"stem":1425},"2025-07-07","/release-notes/2025-07-07","08.release-notes/39.2025-07-07",{"title":1427,"path":1428,"stem":1429},"2025-06-16","/release-notes/2025-06-16","08.release-notes/38.2025-06-16",{"title":1431,"path":1432,"stem":1433},"2025-05-29","/release-notes/2025-05-29","08.release-notes/37.2025-05-29",{"title":1435,"path":1436,"stem":1437},"2025-04-28","/release-notes/2025-04-28","08.release-notes/36.2025-04-28",{"title":1439,"path":1440,"stem":1441},"2025-03-24","/release-notes/2025-03-24","08.release-notes/35.2025-03-24",{"title":1443,"path":1444,"stem":1445},"2024-12-20","/release-notes/2024-12-20","08.release-notes/34.2024-12-20",{"title":1447,"path":1448,"stem":1449},"2024-10-21","/release-notes/2024-10-21","08.release-notes/33.2024-10-21",{"title":1451,"path":1452,"stem":1453},"2024-10-11","/release-notes/2024-10-11","08.release-notes/32.2024-10-11",{"title":1455,"path":1456,"stem":1457},"2024-09-11","/release-notes/2024-09-11","08.release-notes/31.2024-09-11",{"title":1459,"path":1460,"stem":1461},"2024-08-28","/release-notes/2024-08-28","08.release-notes/30.2024-08-28",{"title":1463,"path":1464,"stem":1465},"2024-07-10","/release-notes/2024-07-10","08.release-notes/29.2024-07-10",{"title":1467,"path":1468,"stem":1469},"2024-06-24","/release-notes/2024-06-24","08.release-notes/28.2024-06-24",{"title":1471,"path":1472,"stem":1473},"2024-05-15","/release-notes/2024-05-15","08.release-notes/27.2024-05-15",{"title":1475,"path":1476,"stem":1477},"2024-04-29","/release-notes/2024-04-29","08.release-notes/26.2024-04-29",{"title":1479,"path":1480,"stem":1481},"2024-03-18","/release-notes/2024-03-18","08.release-notes/25.2024-03-18",{"title":1483,"path":1484,"stem":1485},"2024-03-04","/release-notes/2024-03-04","08.release-notes/24.2024-03-04",{"title":1487,"path":1488,"stem":1489},"2024-02-26","/release-notes/2024-02-26","08.release-notes/23.2024-02-26",{"title":1491,"path":1492,"stem":1493},"2024-01-17","/release-notes/2024-01-17","08.release-notes/22.2024-01-17",{"title":1495,"path":1496,"stem":1497},"2023-12-27","/release-notes/2023-12-27","08.release-notes/21.2023-12-27",{"title":1499,"path":1500,"stem":1501},"2023-11-08","/release-notes/2023-11-08","08.release-notes/20.2023-11-08",{"title":1503,"path":1504,"stem":1505},"2023-10-10","/release-notes/2023-10-10","08.release-notes/19.2023-10-10",{"title":1507,"path":1508,"stem":1509},"2023-09-27","/release-notes/2023-09-27","08.release-notes/18.2023-09-27",{"title":1511,"path":1512,"stem":1513},"2023-09-18","/release-notes/2023-09-18","08.release-notes/17.2023-09-18",{"title":1515,"path":1516,"stem":1517},"2023-09-04","/release-notes/2023-09-04","08.release-notes/16.2023-09-04",{"title":1519,"path":1520,"stem":1521},"2023-08-04","/release-notes/2023-08-04","08.release-notes/15.2023-08-04",{"title":1523,"path":1524,"stem":1525},"2023-07-11","/release-notes/2023-07-11","08.release-notes/14.2023-07-11",{"title":1527,"path":1528,"stem":1529},"2023-06-21","/release-notes/2023-06-21","08.release-notes/13.2023-06-21",{"title":1531,"path":1532,"stem":1533},"2023-05-24","/release-notes/2023-05-24","08.release-notes/12.2023-05-24",{"title":1535,"path":1536,"stem":1537},"2023-04-24","/release-notes/2023-04-24","08.release-notes/11.2023-04-24",{"title":1539,"path":1540,"stem":1541},"2023-04-20","/release-notes/2023-04-20","08.release-notes/10.2023-04-20",{"title":1543,"path":1544,"stem":1545},"2023-03-20","/release-notes/2023-03-20","08.release-notes/09.2023-03-20",{"title":1547,"path":1548,"stem":1549},"2023-02-28","/release-notes/2023-02-28","08.release-notes/08.2023-02-28",{"title":1551,"path":1552,"stem":1553},"2023-01-17","/release-notes/2023-01-17","08.release-notes/07.2023-01-17",{"title":1555,"path":1556,"stem":1557},"2023-01-23","/release-notes/2023-01-23","08.release-notes/06.2023-01-23",{"title":1559,"path":1560,"stem":1561},"2022-12-21","/release-notes/2022-12-21","08.release-notes/05.2022-12-21",{"title":1563,"path":1564,"stem":1565},"2022-12-06","/release-notes/2022-12-06","08.release-notes/04.2022-12-06",{"title":1567,"path":1568,"stem":1569},"2022-11-15","/release-notes/2022-11-15","08.release-notes/03.2022-11-15",{"title":1571,"path":1572,"stem":1573},"2022-11-02","/release-notes/2022-11-02","08.release-notes/02.2022-11-02",{"title":1575,"path":1576,"stem":1577},"2022-10-17","/release-notes/2022-10-17","08.release-notes/01.2022-10-17",{"title":1579,"path":1580,"target":1581},"API","https://api-docs.devstride.com/","_blank",{"id":1583,"title":1103,"body":1584,"description":2285,"extension":2286,"links":2287,"meta":2288,"navigation":1700,"path":1104,"seo":2289,"stem":1105,"__hash__":2290},"docs/06.integrations-and-extensibility/03.webhooks/06.troubleshooting-and-best-practices.md",{"type":1585,"value":1586,"toc":2268},"minimark",[1587,1592,1597,1610,1628,1631,1635,1654,1658,1665,1722,1729,1733,1743,1763,1767,1770,1795,1799,1811,1815,1837,1841,1849,1853,1867,1871,1885,1889,1917,1921,2216,2220,2223,2251,2254,2264],[1588,1589,1591],"h2",{"id":1590},"best-practices","Best practices",[1593,1594,1596],"h3",{"id":1595},"acknowledge-fast-process-later","Acknowledge fast, process later",[1598,1599,1600,1601,1605,1606,1609],"p",{},"DevStride waits at most ",[1602,1603,1604],"strong",{},"10 seconds"," for an answer, and sends deliveries to one endpoint ",[1602,1607,1608],{},"one at a time",", so the time your receiver takes to answer is the speed of its queue. Do the minimum in the request:",[1611,1612,1613,1617,1620],"ol",{},[1614,1615,1616],"li",{},"verify the signature;",[1614,1618,1619],{},"store the event (a job queue, a database row, a message on SQS, Pub/Sub or Kafka);",[1614,1621,1622,1623,1627],{},"answer ",[1624,1625,1626],"code",{},"2xx"," with an empty body.",[1598,1629,1630],{},"Then do the real work (calling other APIs, updating records, posting to chat) in a separate worker. Answering before the event is stored safely risks losing it if your process crashes in between; answering after storing it is the safe order.",[1593,1632,1634],{"id":1633},"verify-before-you-trust-anything","Verify before you trust anything",[1598,1636,1637,1638,1641,1642,1645,1646,1649,1650,1653],{},"Check ",[1624,1639,1640],{},"X-DevStride-Signature"," on ",[1602,1643,1644],{},"every"," request, against the raw body, before you parse it or act on it. Reject failures with ",[1624,1647,1648],{},"401",". A request that fails verification is either not from DevStride or was altered on the way; nothing in it should reach your systems. The ",[1651,1652,1091],"a",{"href":1092}," page has tested code for six languages.",[1593,1655,1657],{"id":1656},"deduplicate-by-event-id","Deduplicate by event id",[1598,1659,1660,1661,1664],{},"Delivery is at least once, so the same event can arrive twice. Record every event ",[1624,1662,1663],{},"id"," you have processed and skip repeats:",[1666,1667,1672],"pre",{"className":1668,"code":1669,"language":1670,"meta":1671,"style":1671},"language-sql shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","CREATE TABLE devstride_webhook_events (\n  event_id    uuid        PRIMARY KEY,\n  received_at timestamptz NOT NULL DEFAULT now()\n);\n\n-- In the same transaction as the work the event causes:\nINSERT INTO devstride_webhook_events (event_id) VALUES ($1)\nON CONFLICT (event_id) DO NOTHING;\n-- 0 rows inserted: you have already handled this event; skip it.\n","sql","",[1624,1673,1674,1681,1686,1691,1696,1702,1707,1712,1717],{"__ignoreMap":1671},[1675,1676,1678],"span",{"class":1677,"line":17},"line",[1675,1679,1680],{},"CREATE TABLE devstride_webhook_events (\n",[1675,1682,1683],{"class":1677,"line":244},[1675,1684,1685],{},"  event_id    uuid        PRIMARY KEY,\n",[1675,1687,1688],{"class":1677,"line":302},[1675,1689,1690],{},"  received_at timestamptz NOT NULL DEFAULT now()\n",[1675,1692,1693],{"class":1677,"line":377},[1675,1694,1695],{},");\n",[1675,1697,1698],{"class":1677,"line":649},[1675,1699,1701],{"emptyLinePlaceholder":1700},true,"\n",[1675,1703,1704],{"class":1677,"line":659},[1675,1705,1706],{},"-- In the same transaction as the work the event causes:\n",[1675,1708,1709],{"class":1677,"line":596},[1675,1710,1711],{},"INSERT INTO devstride_webhook_events (event_id) VALUES ($1)\n",[1675,1713,1714],{"class":1677,"line":280},[1675,1715,1716],{},"ON CONFLICT (event_id) DO NOTHING;\n",[1675,1718,1719],{"class":1677,"line":905},[1675,1720,1721],{},"-- 0 rows inserted: you have already handled this event; skip it.\n",[1598,1723,1724,1725,1728],{},"Keep ids for ",[1602,1726,1727],{},"at least 30 days",", the period over which a delivery can be replayed, then delete old rows. The id is the same on every retry and replay, and the same for every endpoint that receives the event.",[1593,1730,1732],{"id":1731},"answer-2xx-to-everything-you-verified","Answer 2xx to everything you verified",[1598,1734,1735,1736,1738,1739,1742],{},"Any status other than ",[1624,1737,1626],{}," is retried for about a day and, while it is, ",[1602,1740,1741],{},"holds up every newer delivery to that endpoint",". So:",[1744,1745,1746,1755,1760],"ul",{},[1614,1747,1622,1748,1750,1751,1754],{},[1624,1749,1626],{}," to event types you do not handle, including ",[1624,1752,1753],{},"ping"," and types added in future;",[1614,1756,1622,1757,1759],{},[1624,1758,1626],{}," to an event your code cannot process (a bug, an unexpected value), store it, and alert yourself, rather than letting it block the queue;",[1614,1761,1762],{},"reserve error statuses for \"try again later\" situations you expect to clear, such as your database being briefly unavailable.",[1593,1764,1766],{"id":1765},"be-ready-for-any-order","Be ready for any order",[1598,1768,1769],{},"Within one endpoint deliveries arrive in the order DevStride queued them, but across endpoints there is no order at all, and two changes made almost at once can be queued the other way round. When order matters:",[1744,1771,1772,1779,1786],{},[1614,1773,1774,1775,1778],{},"compare ",[1624,1776,1777],{},"occurredAt"," and ignore an event older than the state you already hold;",[1614,1780,1781,1782,1785],{},"for status changes, check that ",[1624,1783,1784],{},"previousStatusId"," matches the status you have on record;",[1614,1787,1788,1789,1794],{},"when in doubt, treat the event as a signal and read the current state from the ",[1651,1790,1579],{"href":1791,"rel":1792},"https://api-docs.devstride.com",[1793],"nofollow"," by the ids it carries.",[1593,1796,1798],{"id":1797},"ignore-what-you-do-not-recognize","Ignore what you do not recognize",[1598,1800,1801,1802,1805,1806,1810],{},"New fields and event types are added without notice. Read the fields you need, ignore unknown keys, and never fail on an unknown ",[1624,1803,1804],{},"type",". See ",[1651,1807,1809],{"href":1808},"/integrations-and-extensibility/webhooks/events-and-payloads#compatibility","Compatibility",".",[1593,1812,1814],{"id":1813},"filter-internal-notes-and-drop-your-own-echoes","Filter internal notes and drop your own echoes",[1598,1816,1817,1820,1821,1824,1825,1828,1829,1832,1833,1836],{},[1624,1818,1819],{},"comment.created"," includes ",[1602,1822,1823],{},"internal notes",": check ",[1624,1826,1827],{},"visibility"," is ",[1624,1830,1831],{},"public"," before showing a comment to anyone outside your team. If your integration also writes to DevStride (for example syncing comments back), run it as a dedicated member and skip events whose ",[1624,1834,1835],{},"origin.actorId"," is that member's username, so you do not process your own writes as new ones.",[1593,1838,1840],{"id":1839},"protect-the-secret","Protect the secret",[1598,1842,1843,1844,1848],{},"Keep each endpoint's secret in a secret manager or environment variable, never in source code or logs. Use a different endpoint, and so a different secret, for each system and environment (production and staging should never share one). Rotate on a schedule and whenever someone who had access leaves; if a secret may have leaked, rotate twice to retire it immediately (",[1651,1845,1847],{"href":1846},"/integrations-and-extensibility/webhooks/managing-endpoints#rotate-the-signing-secret","why",").",[1593,1850,1852],{"id":1851},"keep-responses-small","Keep responses small",[1598,1854,1855,1856,1859,1860,1862,1863,1866],{},"DevStride reads at most 64 KB of your response; a larger one counts as a ",[1602,1857,1858],{},"failure"," even with a ",[1624,1861,1626],{}," status. An empty ",[1624,1864,1865],{},"204 No Content"," is ideal.",[1593,1868,1870],{"id":1869},"watch-the-health-signals","Watch the health signals",[1598,1872,1873,1874,1877,1878,1880,1881,1810],{},"The failing and recovered emails go to everyone with ",[1602,1875,1876],{},"Manage Webhooks",": make sure that includes someone who will act on them. The red banner and the delivery log on the ",[1602,1879,1077],{}," page show what is failing and why. See ",[1651,1882,1884],{"href":1883},"/integrations-and-extensibility/webhooks/delivery-retries-and-ordering#failing-and-recovered-alerts","Failing and recovered alerts",[1588,1886,1888],{"id":1887},"network-and-firewall-notes","Network and firewall notes",[1744,1890,1891,1897,1903,1909],{},[1614,1892,1893,1896],{},[1602,1894,1895],{},"Allow-list by signature, not by IP address."," Deliveries do not come from a fixed, published set of IP addresses, so source-IP filtering is not a reliable way to accept DevStride and refuse everyone else. Authenticate each request by its signature.",[1614,1898,1899,1902],{},[1602,1900,1901],{},"Your endpoint must be reachable from the public internet"," on HTTPS, with a certificate a standard client trusts (not expired, not self-signed, matching the host name).",[1614,1904,1905,1908],{},[1602,1906,1907],{},"DevStride will not call private addresses."," URLs whose host resolves to a private network, loopback, link-local or cloud-metadata address are refused when you save the endpoint and on every attempt. To deliver into a private network, expose a small public relay that verifies the signature and forwards inward.",[1614,1910,1911,1916],{},[1602,1912,1913],{},[1624,1914,1915],{},"User-Agent: DevStride-Webhooks/1"," identifies the requests in your logs and WAF rules. Anyone can send that header, so never treat it as proof.",[1588,1918,1920],{"id":1919},"common-problems","Common problems",[1922,1923,1924,1940],"table",{},[1925,1926,1927],"thead",{},[1928,1929,1930,1934,1937],"tr",{},[1931,1932,1933],"th",{},"Symptom",[1931,1935,1936],{},"Likely cause",[1931,1938,1939],{},"Fix",[1941,1942,1943,1975,1986,1997,2008,2022,2058,2076,2094,2109,2124,2137,2156,2170,2188,2203],"tbody",{},[1928,1944,1945,1952,1955],{},[1946,1947,1948,1949,1951],"td",{},"Every delivery gets ",[1624,1950,1648],{}," from your receiver",[1946,1953,1954],{},"The body was parsed and re-serialized before verifying, or the wrong secret is configured.",[1946,1956,1957,1958,1962,1963,1966,1967,1970,1971,1810],{},"Verify the raw bytes (",[1651,1959,1961],{"href":1960},"/integrations-and-extensibility/webhooks/verifying-signatures#raw-body-pitfalls","pitfalls by framework","); check you copied the whole secret, ",[1624,1964,1965],{},"whsec_"," prefix included, for ",[1602,1968,1969],{},"this"," endpoint. Run your code against the ",[1651,1972,1974],{"href":1973},"/integrations-and-extensibility/webhooks/verifying-signatures#test-your-verifier","test vector",[1928,1976,1977,1980,1983],{},[1946,1978,1979],{},"Signatures fail only on some events",[1946,1981,1982],{},"Characters outside plain ASCII (accented names, emoji) are being re-encoded, or a size limit truncates large comment events.",[1946,1984,1985],{},"Hash the bytes as received, not a decoded and re-encoded string; allow request bodies of at least 1 MB.",[1928,1987,1988,1991,1994],{},[1946,1989,1990],{},"Signatures fail on every event after a while, or intermittently",[1946,1992,1993],{},"Your server's clock has drifted more than 5 minutes.",[1946,1995,1996],{},"Synchronize the clock with NTP.",[1928,1998,1999,2002,2005],{},[1946,2000,2001],{},"Signatures start failing about a day after a rotation",[1946,2003,2004],{},"The receiver still has the previous secret, which stopped being sent 24 hours after the rotation.",[1946,2006,2007],{},"Deploy the current secret, or rotate again and deploy that one.",[1928,2009,2010,2016,2019],{},[1946,2011,2012,2013],{},"Deliveries fail with ",[1624,2014,2015],{},"413",[1946,2017,2018],{},"Your server or proxy limits request size (Express defaults to 100 KB).",[1946,2020,2021],{},"Raise the limit to at least 1 MB on the webhook route.",[1928,2023,2024,2041,2055],{},[1946,2025,2026,2029,2030,2033,2034,2037,2038],{},[1602,2027,2028],{},"Last response"," ",[1624,2031,2032],{},"301",", ",[1624,2035,2036],{},"302"," or ",[1624,2039,2040],{},"303",[1946,2042,2043,2044,2047,2048,2051,2052,1810],{},"The URL redirects (for example a trailing slash, or ",[1624,2045,2046],{},"www"," to the apex), and DevStride does not follow redirects that would turn the ",[1624,2049,2050],{},"POST"," into a ",[1624,2053,2054],{},"GET",[1946,2056,2057],{},"Register the final URL.",[1928,2059,2060,2070,2073],{},[1946,2061,2062,2065,2066],{},[1602,2063,2064],{},"No response:"," a timeout or ",[2067,2068,2069],"em",{},"Fetch deadline exceeded",[1946,2071,2072],{},"The receiver took longer than 10 seconds to answer, or the whole request took more than 15 seconds.",[1946,2074,2075],{},"Answer first and process in the background.",[1928,2077,2078,2085,2091],{},[1946,2079,2080,2029,2082],{},[1602,2081,2064],{},[2067,2083,2084],{},"Blocked url scheme 'http:'",[1946,2086,2087,2088,1810],{},"A redirect sent the request to plain ",[1624,2089,2090],{},"http://",[1946,2092,2093],{},"Serve the endpoint, and any redirect target, over HTTPS only.",[1928,2095,2096,2103,2106],{},[1946,2097,2098,2029,2100],{},[1602,2099,2064],{},[2067,2101,2102],{},"Blocked request to non-public address",[1946,2104,2105],{},"The host now resolves to a private or internal address.",[1946,2107,2108],{},"Point the name at a public address, or use a public relay.",[1928,2110,2111,2118,2121],{},[1946,2112,2113,2029,2115],{},[1602,2114,2064],{},[2067,2116,2117],{},"Host could not be resolved",[1946,2119,2120],{},"The DNS name does not exist (or no longer does).",[1946,2122,2123],{},"Fix the DNS record or the endpoint URL.",[1928,2125,2126,2131,2134],{},[1946,2127,2128,2130],{},[1602,2129,2064],{}," a certificate error",[1946,2132,2133],{},"The certificate is expired, self-signed or for another name.",[1946,2135,2136],{},"Install a certificate from a public certificate authority.",[1928,2138,2139,2142,2149],{},[1946,2140,2141],{},"Creating or saving an endpoint is refused",[1946,2143,2144,2145,2148],{},"The URL is not ",[1624,2146,2147],{},"https://",", does not resolve, resolves to a refused address, or the organization already has 20 endpoints.",[1946,2150,2151,2152,2155],{},"Read the message under ",[1602,2153,2154],{},"Endpoint URL","; fix the URL or delete an unused endpoint.",[1928,2157,2158,2164,2167],{},[1946,2159,2160,2161,2163],{},"A ",[1624,2162,1626],{}," response still counts as failed",[1946,2165,2166],{},"The response body is over 64 KB.",[1946,2168,2169],{},"Answer with an empty or short body.",[1928,2171,2172,2175,2178],{},[1946,2173,2174],{},"Events stopped arriving and nothing shows as failing",[1946,2176,2177],{},"The endpoint is disabled (changes are not queued while it is), or it is no longer subscribed to that event type.",[1946,2179,1637,2180,2183,2184,2187],{},[1602,2181,2182],{},"Enabled"," and ",[1602,2185,2186],{},"Events"," in its row. Changes made while it was disabled are not sent; catch up through the API.",[1928,2189,2190,2193,2196],{},[1946,2191,2192],{},"New events arrive hours late",[1946,2194,2195],{},"An older delivery to the same endpoint is failing and waiting for retries, which holds back the ones behind it.",[1946,2197,2198,2199,2202],{},"Find the oldest ",[1624,2200,2201],{},"pending"," row in the delivery log, fix whatever makes it fail, and the queue drains in order.",[1928,2204,2205,2208,2211],{},[1946,2206,2207],{},"The same event processed twice",[1946,2209,2210],{},"A retry or replay after your receiver had already handled it.",[1946,2212,2213,1810],{},[1651,2214,1657],{"href":2215},"#deduplicate-by-event-id",[1588,2217,2219],{"id":2218},"privacy-erasure-and-redaction","Privacy: erasure and redaction",[1598,2221,2222],{},"Webhook deliveries are copies of your data, so DevStride's privacy tools reach them too:",[1744,2224,2225,2242],{},[1614,2226,2227,2230,2231,2235,2236,2183,2239,2241],{},[1602,2228,2229],{},"Erasing a requester"," (",[1651,2232,2234],{"href":2233},"/major-modules/service-desk/requesters-and-companies#erasing-a-requester-privacy-requests","Anonymize…",") deletes every stored ",[1624,2237,2238],{},"item.created",[1624,2240,1819],{}," delivery that carries that requester's tickets or words, including those of requesters merged into them, from the delivery log. Deliveries still waiting to be sent are deleted too, so they are never sent.",[1614,2243,2244,2247,2248,2250],{},[1602,2245,2246],{},"Redacting a comment"," deletes that comment's stored ",[1624,2249,1819],{}," deliveries the same way.",[1598,2252,2253],{},"Once deleted, those deliveries can no longer be viewed or replayed. Status and SLA events carry only ids, and are not affected.",[2255,2256,2259,2260,2263],"alert",{"title":2257,"type":2258},"Copies already delivered are yours to erase","warning","DevStride cannot reach into your systems. An event your endpoint already received stays wherever you stored it, and ",[1602,2261,2262],{},"no event is sent when a requester is erased or a comment is redacted",". If you store comment text or ticket titles from webhooks, include those stores in your own privacy process, and keep only what you need.",[2265,2266,2267],"style",{},"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":1671,"searchDepth":244,"depth":244,"links":2269},[2270,2282,2283,2284],{"id":1590,"depth":244,"text":1591,"children":2271},[2272,2273,2274,2275,2276,2277,2278,2279,2280,2281],{"id":1595,"depth":302,"text":1596},{"id":1633,"depth":302,"text":1634},{"id":1656,"depth":302,"text":1657},{"id":1731,"depth":302,"text":1732},{"id":1765,"depth":302,"text":1766},{"id":1797,"depth":302,"text":1798},{"id":1813,"depth":302,"text":1814},{"id":1839,"depth":302,"text":1840},{"id":1851,"depth":302,"text":1852},{"id":1869,"depth":302,"text":1870},{"id":1887,"depth":244,"text":1888},{"id":1919,"depth":244,"text":1920},{"id":2218,"depth":244,"text":2219},"Build a webhook receiver that never loses or double-counts an event: acknowledge fast, verify first, deduplicate by event id, cope with ordering, keep secrets safe, and fix the common failures: signature mismatches, clock skew, redirects, timeouts and refused URLs.","md",null,{},{"title":1103,"description":2285},"XwAlX30P-mIscACWw930IMcbQnobVvysE1wlVGhPrM4",[2292,2294],{"title":1099,"path":1100,"stem":1101,"description":2293,"children":-1},"Edit, enable, disable, test and delete webhook endpoints, rotate signing secrets with a 24-hour overlap, read the delivery log, and replay one or all failed deliveries, from Settings → Webhooks, the REST API or the DevStride MCP server.",{"title":447,"path":1117,"stem":1118,"description":2295,"children":-1},"The developer guide's path from a Mac with nothing on it to your first merged story: what you will have at the end, how long it takes, and where you are needed.",1792296218317]