1 2 3<!DOCTYPE html> 4<html lang="en"> 5 6<head> 7 <meta charset="utf-8"/> 8 <title>Help Center</title> 9 <meta name="viewport" content="width=device-width, maximum-scale=1"/> 10 <meta name="apple-mobile-web-app-capable" content="yes"/> 11 <meta name="format-detection" content="telephone=no"> 12 <meta name="description" content="Common questions and support documentation"/> 13 <meta name="author" content="HeyTaco"/> 14 15 16 17 18 <link rel="stylesheet" href="https://d3eto7onm69fcz.cloudfront.net/assets/stylesheets/launch-1790673877579.css"> 19 20 <style> 21 body { background: #ffffff; } 22 .navbar .navbar-inner { background: #f5f5f5; } 23 .navbar .nav li a, 24 .navbar .icon-private-w { color: #c0c0c0; } 25 .navbar .brand, 26 .navbar .nav li a:hover, 27 .navbar .nav li a:focus, 28 .navbar .nav .active a, 29 .navbar .nav .active a:hover, 30 .navbar .nav .active a:focus { color: #000000; } 31 .navbar a:hover .icon-private-w, 32 .navbar a:focus .icon-private-w, 33 .navbar .active a .icon-private-w, 34 .navbar .active a:hover .icon-private-w, 35 .navbar .active a:focus .icon-private-w { color: #000000; } 36 #serp-dd .result a:hover, 37 #serp-dd .result > li.active, 38 #fullArticle strong a, 39 #fullArticle a strong, 40 .collection a, 41 .contentWrapper a, 42 .most-pop-articles .popArticles a, 43 .most-pop-articles .popArticles a:hover span, 44 .category-list .category .article-count, 45 .category-list .category:hover .article-count { color: #4381b5; } 46 #fullArticle, 47 #fullArticle p, 48 #fullArticle ul, 49 #fullArticle ol, 50 #fullArticle li, 51 #fullArticle div, 52 #fullArticle blockquote, 53 #fullArticle dd, 54 #fullArticle table { color:#585858; } 55 </style> 56 57 <link rel="apple-touch-icon-precomposed" href="https://d33v4339jhl8k0.cloudfront.net/docs/assets/5c64be462c7d3a66e32e6cd2/images/60ab9f3827c86942e806b06d/icon.png"> 58 <link rel="shortcut icon" type="image/png" href="https://d33v4339jhl8k0.cloudfront.net/docs/assets/5c64be462c7d3a66e32e6cd2/images/60ab9f38dca0fd46b9358534/icon.png"> 59 <!--[if lt IE 9]> 60 61
61<script src="//d3eto7onm69fcz.cloudfront.net/assets/javascripts/html5shiv.min.js"></script>
61 62 63 <![endif]--> 64 65
65<script type="application/ld+json"> 66 {"@context":"https://schema.org","@type":"WebSite","url":"https://heytaco.helpscoutdocs.com","potentialAction":{"@type":"SearchAction","target":"https://heytaco.helpscoutdocs.com/search?query={query}","query-input":"required name=query"}} 67 </script>
67 68 69 70 <style type="text/css">@font-face {font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;src:url(/cf-fonts/v/plus-jakarta-sans/5.2.8/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;src:url(/cf-fonts/v/plus-jakarta-sans/5.2.8/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;src:url(/cf-fonts/v/plus-jakarta-sans/5.2.8/cyrillic-ext/wght/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;src:url(/cf-fonts/v/plus-jakarta-sans/5.2.8/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;src:url(/cf-fonts/v/plus-jakarta-sans/5.2.8/cyrillic-ext/wght/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;src:url(/cf-fonts/v/plus-jakarta-sans/5.2.8/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;src:url(/cf-fonts/v/plus-jakarta-sans/5.2.8/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;src:url(/cf-fonts/v/plus-jakarta-sans/5.2.8/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;src:url(/cf-fonts/v/plus-jakarta-sans/5.2.8/cyrillic-ext/wght/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;src:url(/cf-fonts/v/plus-jakarta-sans/5.2.8/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;src:url(/cf-fonts/v/plus-jakarta-sans/5.2.8/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;src:url(/cf-fonts/v/plus-jakarta-sans/5.2.8/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Montserrat';font-style:normal;font-weight:400;src:url(/cf-fonts/v/montserrat/5.2.8/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1D
70BF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Montserrat';font-style:normal;font-weight:400;src:url(/cf-fonts/v/montserrat/5.2.8/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Montserrat';font-style:normal;font-weight:400;src:url(/cf-fonts/v/montserrat/5.2.8/cyrillic-ext/wght/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}@font-face {font-family:'Montserrat';font-style:normal;font-weight:400;src:url(/cf-fonts/v/montserrat/5.2.8/cyrillic/wght/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'Montserrat';font-style:normal;font-weight:400;src:url(/cf-fonts/v/montserrat/5.2.8/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Montserrat';font-style:normal;font-weight:500;src:url(/cf-fonts/v/montserrat/5.2.8/latin/wght/normal.woff2);unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;font-display:swap;}@font-face {font-family:'Montserrat';font-style:normal;font-weight:500;src:url(/cf-fonts/v/montserrat/5.2.8/cyrillic/wght/normal.woff2);unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-display:swap;}@font-face {font-family:'Montserrat';font-style:normal;font-weight:500;src:url(/cf-fonts/v/montserrat/5.2.8/vietnamese/wght/normal.woff2);unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;font-display:swap;}@font-face {font-family:'Montserrat';font-style:normal;font-weight:500;src:url(/cf-fonts/v/montserrat/5.2.8/latin-ext/wght/normal.woff2);unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;font-display:swap;}@font-face {font-family:'Montserrat';font-style:normal;font-weight:500;src:url(/cf-fonts/v/montserrat/5.2.8/cyrillic-ext/wght/normal.woff2);unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-display:swap;}</style> 71<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" integrity="sha512-DTOQO9RWCH3ppGqcWaEA1BIZOC6xxalwEsw9c2QQeAIftl+Vegovlnee1c9QX4TctnWMn13TZye+giMm8e2LwA==" crossorigin="anonymous" referrerpolicy="no-referrer"> 72<!-- Tabler Icons webfont â used for the icons in the Topics dropdown. 73 Loaded from jsDelivr (npm package) rather than cdnjs; no integrity 74 hash pinned here, so the version in the URL is what pins it. --> 75<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@tabler/[email protected]/dist/tabler-icons.min.css" crossorigin="anonymous" referrerpolicy="no-referrer"> 76
77<script> 78 document.addEventListener('DOMContentLoaded', function () { 79 var icons = { 80 'rateAction--positive': 'ti-mood-smile', 81 'rateAction--negative': 'ti-mood-sad' 82 }; 83 document.querySelectorAll('.rateAction').forEach(function (btn) { 84 if (btn.querySelector('i.ti')) return; 85 var match = Object.keys(icons).filter(function (cls) { 86 return btn.classList.contains(cls); 87 })[0]; 88 if (!match) return; 89 var icon = document.createElement('i'); 90 icon.className = 'ti ' + icons[match]; 91 icon.setAttribute('aria-hidden', 'true'); 92 btn.appendChild(icon); 93 }); 94 }); 95</script>
95 96
97<script>
vendor: 344 bytes, lines 97-102
97 98 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 99 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 100 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 101 })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 102 ga('create', '
102UA-73137365-1
vendor: 14 bytes, lines 102-103
102', 'auto'); 103
103ga('require', 'GTM-PDZXLXK'); 104 ga('send', 'pageview'); 105</script>
105 106 107<!-- Adds a "Status" link to the nav, pointing at the status page. It's 108 not a real HelpScout Collection, so it can't appear automatically 109 the way the others do â this appends it once the nav has rendered. -->
110<script> 111 document.addEventListener('DOMContentLoaded', function () { 112 var navList = document.querySelector('#mainNav nav[role="navigation"] ul.nav'); 113 if (!navList || navList.querySelector('a[href="https://heytaco.statuspage.io/"]')) return; 114 var li = document.createElement('li'); 115 li.id = 'statusNavItem'; 116 var a = document.createElement('a'); 117 a.href = 'https://heytaco.statuspage.io/'; 118 a.target = '_blank'; 119 a.rel = 'noopener'; 120 a.textContent = 'Status'; 121 li.appendChild(a); 122 navList.appendChild(li); 123 }); 124</script>
124 125 126<!-- Restructures the nav into Home / Topics (dropdown) / Contact / Status. 127 Runs after the Status script above so it can skip that injected item 128 when it groups the real Collections into the dropdown. The logo keeps 129 its native link to the main heytaco.com site â Home (in the nav) is 130 the way back to the Docs homepage specifically. -->
131<script> 132 document.addEventListener('DOMContentLoaded', function () { 133 var navList = document.querySelector('#mainNav nav[role="navigation"] ul.nav'); 134 if (!navList || document.getElementById('topicsItem')) return; 135 136 // The old "Categories" Collection is empty/unused â drop it rather 137 // than show a dead link in the dropdown. 138 var staleCategories = document.getElementById('categories'); 139 if (staleCategories) staleCategories.remove(); 140 141 // Everything left in the native nav except these ids is a real 142 // Collection â group those into the Topics dropdown. 143 var skipIds = ['home', 'contact', 'contactMobile', 'statusNavItem']; 144 var collectionItems = Array.prototype.slice.call(navList.children).filter(function (li) { 145 return skipIds.indexOf(li.id) === -1; 146 }); 147 if (!collectionItems.length) return; 148 149 var topicsLi = document.createElement('li'); 150 topicsLi.id = 'topicsItem'; 151 152 var toggle = document.createElement('button'); 153 toggle.type = 'button'; 154 toggle.id = 'topicsToggle'; 155 toggle.setAttribute('aria-expanded', 'false'); 156 // The +/- glyph is drawn purely in CSS (content on ::before) so the 157 // markup never has to be swapped on open/close â the .is-open class 158 // on #topicsItem is what flips it. Not named "caret": HelpScout's 159 // base theme still ships Bootstrap 2's own generic .caret triangle 160 // CSS (a width:0/height:0 border trick), and reusing that class name 161 // would drag those leftover border properties in on top of ours. 162 toggle.innerHTML = 'Topics <span class="topics-sign" aria-hidden="true"></span>'; 163 164 var panel = document.createElement('div'); 165 panel.className = 'dropdown-panel'; 166 panel.setAttribute('role', 'menu'); 167 168 // Collection name â Tabler icon. Keyed on the visible label rather 169 // than the href: at this point every link still points at its 170 // Collection page, and only gets rewritten to a Category URL later 171 // by resolveTopicLinks(), so an href-keyed map would miss on first 172 // paint. Labels are normalized (whitespace collapsed, lowercased) 173 // before lookup â the nav markup carries trailing spaces. 174 var topicIcons = { 175 'getting started': 'ti-rocket', 176 'giving recognition': 'ti-heart', 177 'leaderboards': 'ti-trophy', 178 'rewards & taco shop': 'ti-gift', 179 'milestones': 'ti-flag', 180 'billing & plans': 'ti-credit-card', 181 'reporting & analytics': 'ti-chart-bar' 182 }; 183 184 // Second pass, so a renamed or newly added Collection still lands on 185 // something sensible instead of the generic fallback. First keyword 186 // found anywhere in the label wins â order matters, most specific 187 // first ('taco shop' has to beat a bare 'taco' elsewhere). 188 var topicIconKeywords = [ 189 ['start', 'ti-rocket'], 190 ['setup', 'ti-rocket'], 191 ['install', 'ti-rocket'], 192 ['recognition', 'ti-heart'], 193 ['taco shop', 'ti-gift'], 194 ['reward', 'ti-gift'], 195 ['giving', 'ti-heart'], 196 ['leaderboard', 'ti-trophy'], 197 ['milestone', 'ti-flag'], 198 ['billing', 'ti-credit-card'], 199 ['subscription', 'ti-credit-card'], 200 ['plan', 'ti-credit-card'], 201 ['report', 'ti-chart-bar'], 202 ['analytic', 'ti-chart-bar'], 203 ['dashboard', 'ti-chart-bar'], 204 ['integration', 'ti-plug'], 205 ['account', 'ti-user'] 206 ]; 207 var topicIconFallback = 'ti-book'; 208 209 function iconForLabel(label) { 210 var key = label.replace(/\s+/g, ' ').trim().toLowerCase(); 211 if (topicIcons[key]) return topicIcons[key]; 212 for (var i = 0; i < topicIconKeywords.length; i++) { 213 if (key.indexOf(topicIconKeywords[i][0]) !== -1) return topicIconKeywords[i][1]; 214 } 215 return topicIconFallback; 216 } 217 218 var anyActive = false; 219 collectionItems.forEach(function (li) { 220 if (li.classList.contains('active')) anyActive = true; 221 var link = li.querySelector('a'); 222 if (link && !link.querySelector('i.ti')) { 223 // Read the label BEFORE inserting the icon element. 224 var icon = document.createElement('i'); 225 icon.className = 'ti ' + iconForLabel(link.textContent || ''); 226 icon.setAttribute('aria-hidden', 'true'); 227 link.insertBefore(icon, link.firstChild); 228 } 229 panel.appendChild(li); 230 }); 231 if (anyActive) topicsLi.classList.add('active'); 232 233 topicsLi.appendChild(toggle); 234 topicsLi.appendChild(panel); 235 navList.insertBefore(topicsLi, document.getElementById('contact') || null); 236 237 // Each Topic link normally opens its Collection's "Most Popular 238 // Articles" page, which mixes articles from every Category into one 239 // long, unsorted list. The first time someone hovers or opens Topics, 240 // this fetches each Collection's page once, reads the first real 241 // Category out of its own sidebar, and repoints the link there instead 242 // â landing on a focused, organized list rather than a flat grab-bag. 243 // If a click happens before a fetch finishes (or a fetch fails), that 244 // one click just falls back to the original Collection page; every 245 // later click uses the resolved Category link. No hardcoded IDs here, 246 // so this keeps working if Collections or Categories get renamed, 247 // reordered, or added later. 248 var topicLinksResolved = false;
249 function resolveTopicLinks() { 250 if (topicLinksResolved) return; 251 topicLinksResolved = true; 252 panel.querySelectorAll('a').forEach(function (a) { 253 var collectionHref = a.getAttribute('href'); 254 fetch(collectionHref) 255 .then(function (res) { return res.text(); }) 256 .then(function (html) { 257 var doc = new DOMParser().parseFromString(html, 'text/html'); 258 var firstCategoryLink = doc.querySelector('#sidebar a[href*="/docs/category/"]'); 259 if (firstCategoryLink) a.setAttribute('href', firstCategoryLink.getAttribute('href')); 260 }) 261 .catch(function () { /* leave the original Collection link in place */ }); 262 }); 263 } 264 toggle.addEventListener('mouseenter', resolveTopicLinks); 265 toggle.addEventListener('focus', resolveTopicLinks); 266 267 toggle.addEventListener('click', function (e) { 268 e.stopPropagation(); 269 resolveTopicLinks(); 270 var open = topicsLi.classList.toggle('is-open'); 271 toggle.setAttribute('aria-expanded', open ? 'true' : 'false'); 272 }); 273 document.addEventListener('click', function () { 274 topicsLi.classList.remove('is-open'); 275 toggle.setAttribute('aria-expanded', 'false'); 276 }); 277 document.addEventListener('keydown', function (e) { 278 if (e.key === 'Escape') { 279 topicsLi.classList.remove('is-open'); 280 toggle.setAttribute('aria-expanded', 'false'); 281 } 282 }); 283 }); 284</script>
284 285 286<style> 287/* ============================================================= 288 HeyTaco brand theme for HelpScout Docs 289 No injected nav / no marketing megamenu â just the native 290 HelpScout header (logo + collection nav) restyled to match 291 heytaco.com. Collections you add will appear in the nav and 292 in the category grid automatically â no code changes needed. 293 ============================================================= */ 294 295:root{ 296 --taco-yellow:#FFE315; 297 --taco-yellow-light:#FFFDC8; 298 --off-white:#F7F7F3; 299 --border:#eee; 300 --grey-text:#585858; 301 --pastel-yellow:#FFFDC8; 302 --pastel-pink:#FFD5F9; 303 --pastel-green:#CEFCE6; 304 --pastel-cyan:#E7FFFF; 305 --pastel-purple:#EDE8FF; 306 --pastel-lime:#E5FCD3; 307 --pastel-peach:#FFE2D5; 308} 309 310body{ background:#fff; color:#222; } 311 312/* ---------- Header: logo + native HelpScout collection nav ---------- */ 313/* This hides HelpScout's very first bootstrap-2 nav row (kept for 314 accessibility/skip-links) and shows our restyled nav below it. 315 316 Important note: HelpScout's own base theme sets a FIXED height on 317 .navbar/.navbar-inner and a "collapsed" (zero width/height) default 318 state on .nav-collapse â both meant to be overridden by the marketing 319 site's Bootstrap stylesheet we removed. The !important rules below 320 force the header to size itself to its actual content instead of a 321 fixed box, and pin the logo to a fixed width so it can't get shoved 322 out of place. */ 323#mainNav.navbar{ background:#fff; border-bottom:1px solid var(--border); margin-bottom:0; box-shadow:none; height:auto !important; } 324#mainNav .navbar-inner{ background:none; box-shadow:none; height:auto !important; min-height:0 !important; } 325#mainNav .container-fluid{ 326 max-width:1180px; margin:0 auto; padding:1rem 1.5rem; 327 display:flex !important; flex-wrap:nowrap !important; align-items:center !important; 328 justify-content:flex-start !important; height:auto !important; min-height:64px; 329} 330#mainNav .brand{ 331 padding:0; display:flex !important; align-items:center; order:-1 !important; 332 flex:0 0 auto !important; margin:0 1.5rem 0 0 !important; 333} 334#mainNav .brand img{ width:auto !important; height:32px; margin-top:0; } 335 336/* .nav-collapse is normally HelpScout's mobile hamburger-toggle panel, 337 "collapsed" (zero size) by default â force it open so the nav renders 338 on desktop at all now that the marketing site's Bootstrap stylesheet 339 (which used to do this) is gone. */ 340#mainNav .nav-collapse{ 341 display:block !important; height:auto !important; width:auto !important; min-width:0 !important; 342 overflow:visible !important; flex:1 1 auto !important; margin:0 !important; position:static !important; 343} 344#mainNav nav[role="navigation"] ul.nav{ 345 list-style:none; display:flex; align-items:center; justify-content:flex-end; 346 gap:.25rem; margin:0; padding:0; float:none; top:auto; position:relative; 347} 348 349/* Top-level nav: Home, a "Topics" dropdown (built by the script above â 350 groups every real Collection into one menu instead of listing them all 351 in a row), Contact, Status. Using the ">" child combinator throughout 352 this block is what keeps these rules from also matching the Collection 353 links once the script moves them inside the Topics dropdown panel. */ 354#mainNav nav[role="navigation"] ul.nav > li{ float:none; margin:0; font-size:inherit; position:relative; } 355/* HelpScout bakes a "<b class='caret'>" into every native nav link (Home, 356 and each Collection link) â leftover Bootstrap-2 dropdown-indicator 357 markup from their base theme that isn't hidden by anything we've kept. */ 358#mainNav nav[role="navigation"] ul.nav b.caret{ display:none !important; } 359#mainNav nav[role="navigation"] ul.nav > li > a, 360#mainNav nav[role="navigation"] ul.nav > li > button{ 361 display:inline-flex; align-items:center; gap:.35rem; 362 text-decoration:none; color:#000 !important; font-weight:500; background:none; border:none; 363 font-size:.95rem; padding:.55rem 1rem; border-radius:10rem; cursor:pointer; transition:background .15s; 364 font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; 365} 366#mainNav nav[role="navigation"] ul.nav > li > a:hover, 367#mainNav nav[role="navigation"] ul.nav > li > a:focus, 368#mainNav nav[role="navigation"] ul.nav > li > button:hover, 369#mainNav nav[role="navigation"] ul.nav > li.is-open > button{ 370 background:var(--pastel-yellow); color:#000 !important; 371} 372#mainNav nav[role="navigation"] ul.nav > li.active > a, 373#mainNav nav[role="navigation"] ul.nav > li.active > button{ 374 background:#000; color:#fff !important; font-weight:700; 375} 376/* Keeps that black "current section" pill black-on-white even while 377 hovered/open â otherwise the generic yellow hover rule above wins for 378 background (it comes with no !important tug-of-war to lose) while this 379 rule's white text stays, leaving white text on a yellow pill. */ 380#mainNav nav[role="navigation"] ul.nav > li.active > a:hover, 381#mainNav nav[role="navigation"] ul.nav > li.active > button:hover, 382#mainNav nav[role="navigation"] ul.nav > li.active.is-open > button{ 383 background:#000 !important; color:#fff !important; 384} 385/* Home is just a way back to the homepage, not a section like Topics is â 386 it shouldn't get the "current section" black treatment even though 387 HelpScout marks it .active while you're on the homepage. Higher 388 specificity (the #home id) than the rules above, so this always wins. */ 389#mainNav nav[role="navigation"] ul.nav > li#home.active > a{ 390 background:none !important; color:#000 !important; font-weight:500 !important; 391} 392#mainNav nav[role="navigation"] ul.nav > li#home.active > a:hover, 393#mainNav nav[role="navigation"] ul.nav > li#home.active > a:focus{ 394 background:var(--pastel-yellow) !important; color:#000 !important; 395} 396 397/* Topics open/close indicator: "+" when closed, "â" when open. Drawn as 398 text content rather than borders or an icon font so it can't be thrown 399 off by leftover Bootstrap rules and doesn't depend on Tabler loading. 400 Fixed width/height keeps the pill from reflowing as the glyph swaps 401 (U+2212 minus is a different advance width from "+"). */ 402#topicsToggle .topics-sign{ 403 display:inline-flex; align-items:center; justify-content:center; 404 flex:0 0 auto; width:.95em; height:.95em; line-height:1; 405 font-size:1.05em; font-weight:700; 406} 407#topicsToggle .topics-sign::before{ content:"+"; } 408#topicsItem.is-open #topicsToggle .topics-sign::before{ content:"\2212"; } 409
410/* Topics dropdown panel. The script above moves the real Collection <li> 411 elements in here, so these rules restyle them as a two-column menu. 412 Each item carries its own --topic-accent (cycled in the same 6-step 413 rhythm the colored dots used to use); the icon itself stays black and 414 the accent now drives the hover and selected states instead. */ 415#topicsItem .dropdown-panel{ 416 position:absolute; top:calc(100% + 10px); right:0; 417 background:#fff; border:1.5px solid #000; border-radius:1rem; 418 box-shadow:0 10px 30px -8px rgba(0,0,0,.18); padding:.9rem; 419 display:none; grid-template-columns:repeat(2, minmax(180px, 1fr)); gap:.35rem; 420 min-width:460px; z-index:40; list-style:none; 421} 422#topicsItem.is-open .dropdown-panel{ display:grid; } 423#topicsItem .dropdown-panel li{ margin:0; float:none; --topic-accent:var(--pastel-yellow); } 424#topicsItem .dropdown-panel li a{ 425 display:flex; align-items:center; gap:.6rem; padding:.6rem .7rem; border-radius:.7rem; 426 font-size:.92rem; font-weight:600; color:#000 !important; background:none; text-decoration:none; 427 font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; transition:background .15s, box-shadow .15s; 428} 429/* Tabler glyph injected by the script. Black at every state â the color 430 lives in the row background, not the icon. */ 431#topicsItem .dropdown-panel li a i.ti{ 432 flex:0 0 auto; width:1.15rem; font-size:1.15rem; line-height:1; 433 color:#000; text-align:center; 434} 435#topicsItem .dropdown-panel li:nth-child(6n+1){ --topic-accent:var(--pastel-yellow); } 436#topicsItem .dropdown-panel li:nth-child(6n+2){ --topic-accent:var(--pastel-pink); } 437#topicsItem .dropdown-panel li:nth-child(6n+3){ --topic-accent:var(--pastel-green); } 438#topicsItem .dropdown-panel li:nth-child(6n+4){ --topic-accent:var(--pastel-cyan); } 439#topicsItem .dropdown-panel li:nth-child(6n+5){ --topic-accent:var(--pastel-purple); } 440#topicsItem .dropdown-panel li:nth-child(6n+6){ --topic-accent:var(--pastel-peach); } 441#topicsItem .dropdown-panel li a:hover, 442#topicsItem .dropdown-panel li a:focus{ background:var(--topic-accent); } 443/* Selected topic: same accent, plus a thin inset ring and heavier weight 444 so it still reads as "you are here" next to a hovered sibling. Inset 445 box-shadow rather than a border so the row doesn't shift by 1.5px. */ 446#topicsItem .dropdown-panel li.active a{ 447 background:var(--topic-accent); font-weight:700; 448 box-shadow:inset 0 0 0 1.5px #000; 449} 450 451#mainNav .navbar-toggler, 452#mainNav .btn-navbar{ border:1.5px solid #000; background:#fff; box-shadow:none; } 453 454@media (max-width:640px){ 455 #topicsItem .dropdown-panel{ grid-template-columns:1fr; min-width:280px; right:auto; left:0; } 456} 457 458/* The old floating marketing nav (nav.navbar.navbar-expand-lg) is gone â 459 nothing left to inject it, so this rule is just a safety net in case 460 any cached markup remains. */ 461#mainNav nav.navbar-expand-lg{ display:none !important; } 462 463/* HelpScout renders a duplicate "Contact" link for mobile (#contactMobile / 464 #sbContactMobile) that used to be hidden on desktop by the marketing 465 site's Bootstrap stylesheet. Since that stylesheet is no longer loaded 466 here, hide the duplicates directly so "Contact" only shows once. */ 467#mainNav #contactMobile, 468#sbContactMobile{ 469 display:none !important; 470} 471 472/* ---------- Docs search hero ---------- */ 473#docsSearch{ 474 background: 475 radial-gradient(circle at 25% 20%, rgba(255,227,21,.35), transparent 55%), 476 var(--off-white); 477 border-bottom:none; padding:4.5rem 1.5rem 5rem; margin-bottom:0; text-align:center; 478} 479#docsSearch h1{ 480 font-family:"Plus Jakarta Sans",sans-serif !important; font-weight:800 !important; 481 font-size:2.9rem !important; line-height:1.15 !important; letter-spacing:-0.02em; 482 color:#000; margin-top:0 !important; margin-bottom:.6rem !important; 483} 484/* Note: HelpScout reuses id="searchBar" for both the homepage hero search 485 AND the small sidebar search widget, so these rules apply to both. The 486 button used to be absolutely positioned with height:calc(100% - 8px) â 487 on live pages the form's own height didn't match the input, so the 488 button inflated into a big circle instead of a pill. Flexbox avoids 489 that: input and button are laid out side by side at a fixed height, 490 so the button can't blow up regardless of the form's own sizing. */ 491#searchBar{ max-width:600px; margin:0 auto; display:flex; position:relative; } 492#searchBar #serp-dd{ position:absolute; top:100%; left:0; right:0; z-index:5; } 493#searchBar .search-query{ 494 flex:1 1 auto; width:auto; box-sizing:border-box; height:50px; 495 border:1.5px solid #000; border-right:none; border-radius:10rem 0 0 10rem; 496 background:#fff; padding:0 1.4rem; font-size:1rem; font-family:inherit; outline:none; 497} 498#searchBar button{ 499 flex:0 0 auto; box-sizing:border-box; height:50px; color:#000; background:var(--taco-yellow); 500 border:1.5px solid #000; border-left:none; border-radius:0 10rem 10rem 0; 501 font-size:1rem; font-weight:700; padding:0 1.1rem; cursor:pointer; 502 position:static; top:auto; right:auto; 503} 504#searchBar button:hover{ background:#ffed67; } 505 506/* Bigger, text-labeled "Search" button only in the homepage hero */ 507#docsSearch #searchBar button{ padding:0 1.75rem; } 508 509/* Sidebar's search widget keeps the softer grey border it had before */ 510#sidebar #searchBar .search-query{ border-color:#ccd0d5; } 511 512/* Breathing room between the yellow search hero and the collection 513 heading + grid below it (was sitting flush with 0px gap). */ 514.collection-category{ padding-top:3rem; } 515.collection-category h2{ 516 font-family:"Plus Jakarta Sans",sans-serif; font-weight:800; font-size:1.7rem; 517 color:#000; margin:0 0 1.75rem; 518} 519.collection-category h2 a{ color:#000; text-decoration:none; } 520 521/* ---------- Category grid (fills in as you add Collections) ---------- 522 Flexbox instead of a fixed 3-column grid: with a grid, a row that 523 isn't full (e.g. 4 categories = a full row of 3 + a lonely 1) leaves 524 dead grid cells next to the last item. With flex-wrap + this 525 justify-content:center, a partial last row centers itself instead of 526 leaving empty space on one side â works cleanly for any count. 527 528 No more per-category emoji icons â with ~20+ categories across the 529 new Collections, hand-mapping an emoji to every single category ID 530 wasn't sustainable (anything unmapped just fell back to the same taco 531 for everything, which is what looked repetitive). Each card instead 532 gets a colored top edge that cycles through the brand's pastel accent 533 colors automatically â no per-category setup, and it never repeats 534 two colors in a row within a group of 6+. */ 535.category-list{ 536 display:flex; flex-wrap:wrap; justify-content:center; 537 gap:1.25rem; padding:2rem 0 0; 538} 539.category-list .category{ 540 position:relative; text-align:center; display:block; 541 flex:1 1 260px; max-width:calc((100% - 2.5rem) / 3); 542 border:1px solid var(--border); border-top:5px solid var(--pastel-yellow); 543 border-radius:1rem; margin:0; padding:2rem 1.5rem 1.75rem; 544 cursor:pointer; transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease; 545 vertical-align:top; background:#fff; 546} 547.category-list .category:hover{ 548 transform:translateY(-3px); box-shadow:2px 2px 10px -4px #999; border-color:#000; 549} 550.category-list .category:nth-child(6n+1){ border-top-color:var(--pastel-yellow); } 551.category-list .category:nth-child(6n+2){ border-top-color:var(--pastel-pink); } 552.category-list .category:nth-child(6n+3){ border-top-color:var(--pastel-green); } 553.category-list .category:nth-child(6n+4){ border-top-color:var(--pastel-cyan); } 554.category-list .category:nth-child(6n+5){ border-top-color:var(--pastel-purple); } 555.category-list .category:nth-child(6n+6){ border-top-color:var(--pastel-peach); } 556 557.category-list .category h3{ 558 color:#000; font-weight:700; line-height:1.3em; font-size:1.1rem; 559 font-family:"Plus Jakarta Sans",sans-serif; margin:0 0 .4rem; 560} 561.category-list .category p{ color:#666; line-height:1.35rem; font-size:.9rem; margin:0; } 562.article-count{ display:none; } 563#categoryHead .sort{ display:none; } 564.icon-article-doc{ display:none; } 565
566@media (max-width:900px){ 567 .category-list .category{ max-width:calc((100% - 1.25rem) / 2); } 568} 569@media (max-width:600px){ 570 .category-list .category{ max-width:100%; } 571} 572@media (max-width:600px){ 573 .category-list{ grid-template-columns:1fr; } 574} 575 576/* ---------- Sidebar (collection categories on article pages) ---------- */ 577#sidebar{ margin:0; padding:2rem 0 0 0 !important; } 578#sidebar .nav-list{ padding:0; margin-bottom:2rem; float:none; } 579#sidebar .nav-list li{ width:100%; margin:0 0 .15rem; float:none !important; display:block; } 580#sidebar .nav-list a{ 581 display:block !important; color:#444; font-size:.95rem !important; font-weight:500; 582 padding:.55rem .8rem; line-height:1.3; margin-left:0; float:none; border-radius:.6rem; 583 transition:background .15s; 584} 585#sidebar .nav-list a:hover{ background:var(--pastel-yellow); color:#000; text-decoration:none; } 586#sidebar .nav-list li.active a{ background:var(--taco-yellow); color:#000; font-weight:700; } 587#sidebar h3{ 588 font-family:"Plus Jakarta Sans",sans-serif; font-weight:700; font-size:.8rem; 589 text-transform:uppercase; letter-spacing:.06em; color:#999; margin-bottom:.75rem; 590} 591 592/* ---------- Article content ---------- */ 593#main-content{ background:none; float:right; margin-bottom:2em; padding:0 0 0 0; } 594.contentWrapper{ background:#fff; border:none; color:#222; min-height:460px; padding:2.5rem; position:relative; } 595h1{ 596 font-size:2.5rem !important; font-weight:800 !important; color:#000; 597 font-family:"Plus Jakarta Sans",sans-serif !important; line-height:1.15 !important; margin-top:0 !important; 598} 599.contentWrapper h1{ 600 font-size:2rem !important; font-weight:800 !important; color:#000; 601 font-family:"Plus Jakarta Sans",sans-serif !important; line-height:1.3; margin:0 0 .5rem !important; 602} 603#fullArticle .title{ 604 margin:0 0 1.5rem 0 !important; font-size:2.5rem !important; padding:0; color:#000; 605 font-family:"Plus Jakarta Sans",sans-serif; font-weight:800; line-height:1.15 !important; 606} 607#fullArticle h2{ 608 font-size:1.5rem; line-height:1.3; margin:2.5rem 0 1rem; font-weight:700; 609 font-family:"Plus Jakarta Sans",sans-serif; color:#000; 610} 611#fullArticle, #fullArticle p, #fullArticle li{ color:#333; } 612#fullArticle p, #fullArticle ul, #fullArticle ol, #fullArticle li, #fullArticle div, #fullArticle blockquote, #fullArticle dd, #fullArticle table{ 613 font-size:1.05rem; line-height:1.75rem; 614} 615#fullArticle strong, #fullArticle strong a, #fullArticle a strong{ color:#000; } 616#fullArticle a, .collection a, .contentWrapper a, .most-pop-articles .popArticles a{ 617 color:#000; font-weight:600; text-decoration:underline; 618 text-decoration-color:var(--taco-yellow); text-decoration-thickness:2px; text-underline-offset:2px; 619} 620#fullArticle a:hover{ text-decoration-color:#000; } 621#fullArticle code, #fullArticle .inline-code{ 622 background:var(--off-white); border:1px solid var(--border); border-radius:.4rem; 623 padding:.15rem .45rem; font-size:.92em; 624} 625#fullArticle img{ 626 display:block; margin:1em 0 2em; padding:4px; border-radius:.75rem; 627 border:none; box-sizing:border-box; background:var(--off-white); 628} 629#fullArticle ol{ font-size:1.05rem; padding:0 1rem 0; margin:0; } 630.printArticle{ display:none; } 631#fullArticle .printArticle{ display:none; } 632 633.articleList{ list-style:none; margin:0 0 2.5rem; font-size:1.1rem; padding:0; } 634#serp .articleList>li{ padding-left:0; } 635.articleList li{ margin:.2em 0; padding-left:0; font-size:1.05rem; } 636.articleList a{ line-height:1.5em; margin-left:0; text-decoration:none; } 637.category-list .category .article-count, .category-list .category:hover .article-count{ color:inherit; } 638 639/* Feedback / "Did this answer your question?" block. 640 Flat by design â no shadows on the panel or the buttons; separation 641 comes from the off-white fill and the black button outlines, in the 642 same language as the Topics dropdown. The box-shadow:none lines are 643 resets against HelpScout's base theme, not styling of our own. */ 644.articleRatings{ 645 display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; 646 background:var(--off-white); border:none; border-radius:1rem; 647 padding:1.25rem 1.5rem; margin-top:2.5rem; 648 box-shadow:none !important; 649} 650.articleRatings-question{ 651 font-family:"Plus Jakarta Sans",sans-serif; 652 font-weight:700; font-size:1rem; color:#000; margin:0; 653} 654.articleRatings-actions{ display:flex; width: unset; gap:.6rem; } 655 656.rateAction{ 657 width:42px; height:42px; border-radius:50%; 658 border:1.5px solid #000; background:#fff; box-shadow:none !important; 659 cursor:pointer; transition:background .15s, transform .15s; 660 display:flex; align-items:center; justify-content:center; 661 flex:0 0 42px; box-sizing:border-box; padding:0; 662} 663/* HelpScout's own face icons are drawn as tall ovals â on a circular 664 button that reads as an egg with a face on it. Hidden in favor of the 665 Tabler glyph the script above appends. */ 666.rateAction .rating-face{ display:none; } 667.rateAction i.ti{ 668 font-size:1.35rem; line-height:1; color:#000; 669 /* The click handler is bound to the button; pointer-events:none keeps 670 the injected glyph from ever becoming the event target. */ 671 pointer-events:none; 672} 673.rateAction:hover{ transform:translateY(-1px); } 674.rateAction--positive:hover{ background:var(--pastel-green); } 675.rateAction--negative:hover{ background:var(--pastel-peach); } 676.rateAction:focus-visible{ outline:2px solid #000; outline-offset:2px; } 677 678.articleFoot{ text-align:center; color:#888; margin-top:2.5rem; padding-top:1.5rem; } 679.articleFoot a{ color:#000; font-weight:600; text-decoration:underline; text-decoration-color:var(--taco-yellow); } 680 681footer{ text-align:center; font-size:.85rem; color:#999; border-top:1px solid var(--border); padding:2rem 0; margin-top:2rem; } 682footer a{ color:#666; text-decoration:none; } 683footer a:hover{ text-decoration:underline; } 684 685.icon-arrow{ color: black;} 686
687@media (max-width:900px){ 688 #sidebar{ padding-left:0 !important; margin-bottom:2rem; } 689 .row-fluid{ display:flex; flex-direction:column; } 690} 691</style> 692 693<link rel="canonical" href="https://heytaco.com/docs/"><meta property="og:url" content="https://heytaco.com/docs/"><meta name="twitter:url" content="https://heytaco.com/docs/"><link rel="icon" href="https://heytaco.com/public/images/logo-full.png"><link rel="apple-touch-icon" href="https://heytaco.com/public/images/logo-full.png">
693<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","url":"https://heytaco.com/docs/","name":"HeyTaco Help Center","publisher":{"@type":"Organization","name":"HeyTaco","url":"https://heytaco.com","logo":{"@type":"ImageObject","url":"https://heytaco.com/public/images/logo-full.png"}},"potentialAction":{"@type":"SearchAction","target":"https://heytaco.com/docs/search?query={query}","query-input":"required name=query"}}</script>
693</head> 694 <body> 695
695<script> 696 window.onload = function() { 697 $("#searchBar input.search-query" ).focus(); 698 }; 699 </script>
699 700 701<header id="mainNav" class="navbar"> 702 <div class="navbar-inner"> 703 <div class="container-fluid"> 704 <a class="brand" href="https://www.heytaco.com"> 705 706 707 <img src="https://d33v4339jhl8k0.cloudfront.net/docs/assets/5c64be462c7d3a66e32e6cd2/images/60ab9f2727c86942e806b06c/logo-full.png" alt="Help Center" width="340" height="75"> 708 709 710 711 </a> 712 713 <button type="button" class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> 714 <span class="sr-only">Toggle Navigation</span> 715 <span class="icon-bar"></span> 716 <span class="icon-bar"></span> 717 <span class="icon-bar"></span> 718 </button> 719 720 <div class="nav-collapse collapse"> 721 <nav role="navigation"><!-- added for accessibility --> 722 <ul class="nav"> 723 724 <li id="home" class="active"><a href="/docs/">Home <b class="caret"></b></a></li> 725 726 727 728 <li id="getting-started"><a href="/docs/collection/158-getting-started">Getting Started <b class="caret"></b></a></li> 729 730 <li id="giving-recognition"><a href="/docs/collection/161-giving-recognition">Giving Recognition <b class="caret"></b></a></li> 731 732 <li id="leaderboards"><a href="/docs/collection/164-leaderboards">Leaderboards <b class="caret"></b></a></li> 733 734 <li id="rewards-taco-shop"><a href="/docs/collection/167-rewards-taco-shop">Rewards & Taco Shop <b class="caret"></b></a></li> 735 736 <li id="milestones"><a href="/docs/collection/170-milestones">Milestones <b class="caret"></b></a></li> 737 738 <li id="billing-plans"><a href="/docs/collection/173-billing-plans">Billing & Plans <b class="caret"></b></a></li> 739 740 <li id="reporting-analytics"><a href="/docs/collection/186-reporting-analytics">Reporting & Analytics <b class="caret"></b></a></li> 741 742 743 744 <li id="contact"><a href="#" class="contactUs" onclick="window.Beacon('open')">Contact</a></li> 745 <li id="contactMobile"><a href="#" class="contactUs" onclick="window.Beacon('open')">Contact</a></li> 746 747 748 </ul> 749 </nav> 750 </div><!--/.nav-collapse --> 751 </div><!--/container--> 752 </div><!--/navbar-inner--> 753</header> 754 <section id="docsSearch"> 755 756 <h1>Hello, what can we help you find?</h1> 757 758 759 760<form action="/docs/search" method="GET" id="searchBar" autocomplete="off"> 761 762 <input type="text" name="query" title="search-query" class="search-query" placeholder="Search the knowledge base" aria-label="Search the knowledge base" value=""> 763 <button type="submit" aria-label="Search"><i class="icon-search lp"></i><span>Search</span></button> 764 <div id="serp-dd" style="display:none;"> 765 <ul class="result"></ul> 766 </div> 767 768</form> 769 770 </section><!--/docsSearch--> 771 <section id="contentArea" class="container-fluid"> 772 773 774 <div id="noResults" style="display:none;">No results found</div> 775 776 777 778 <section class="collection-category" id="collection-category-158"> 779 <h2 id="collection-158"><a href="/docs/collection/158-getting-started">Getting Started</a></h2> 780 <section class="category-list"> 781 782 783 <a class="category" id="category-180" href="/docs/category/180-setup-installation"> 784 <h3>Setup & Installation</h3> 785 <p></p> 786 <p class="article-count"> 787
788 <span class="notranslate">7</span> articles 789 790 </p> 791 </a><!-- /category --> 792 793 794 795 <a class="category" id="category-179" href="/docs/category/179-launching-with-your-team"> 796 <h3>Launching With Your Team</h3> 797 <p></p> 798 <p class="article-count"> 799 800 <span class="notranslate">5</span> articles 801 802 </p> 803 </a><!-- /category --> 804 805 806 807 <a class="category" id="category-181" href="/docs/category/181-admin-basics"> 808 <h3>Admin Basics</h3> 809 <p></p> 810 <p class="article-count"> 811 812 <span class="notranslate">8</span> articles 813 814 </p> 815 </a><!-- /category --> 816 817 818 819 <a class="category" id="category-182" href="/docs/category/182-trials-demos"> 820 <h3>Trials & Demos</h3> 821 <p></p> 822 <p class="article-count"> 823 824 <span class="notranslate">5</span> articles 825 826 </p> 827 </a><!-- /category --> 828 829 830 </section><!-- /category-list --> 831 </section><!-- /collection --> 832 833 <section class="collection-category" id="collection-category-161"> 834 <h2 id="collection-161"><a href="/docs/collection/161-giving-recognition">Giving Recognition</a></h2> 835 <section class="category-list"> 836 837 838 <a class="category" id="category-183" href="/docs/category/183-giving-tacos"> 839 <h3>Giving Tacos</h3> 840 <p></p> 841 <p class="article-count"> 842 843 <span class="notranslate">5</span> articles 844 845 </p> 846 </a><!-- /category --> 847 848 849 850 <a class="category" id="category-185" href="/docs/category/185-values-taco-tags"> 851 <h3>Values & Taco Tags</h3> 852 <p></p> 853 <p class="article-count"> 854 855 <span class="notranslate">1</span> article 856 857 </p> 858 </a><!-- /category --> 859 860 861 862 <a class="category" id="category-211" href="/docs/category/211-taco-bonus"> 863 <h3>Taco Bonus</h3> 864 <p></p> 865 <p class="article-count"> 866
867 <span class="notranslate">3</span> articles 868 869 </p> 870 </a><!-- /category --> 871 872 873 874 <a class="category" id="category-184" href="/docs/category/184-notifications"> 875 <h3>Notifications</h3> 876 <p></p> 877 <p class="article-count"> 878 879 <span class="notranslate">1</span> article 880 881 </p> 882 </a><!-- /category --> 883 884 885 886 <a class="category" id="category-199" href="/docs/category/199-stickers"> 887 <h3>Stickers</h3> 888 <p></p> 889 <p class="article-count"> 890 891 <span class="notranslate">2</span> articles 892 893 </p> 894 </a><!-- /category --> 895 896 897 898 <a class="category" id="category-213" href="/docs/category/213-quests"> 899 <h3>Quests</h3> 900 <p></p> 901 <p class="article-count"> 902 903 <span class="notranslate">3</span> articles 904 905 </p> 906 </a><!-- /category --> 907 908 909 </section><!-- /category-list --> 910 </section><!-- /collection --> 911 912 <section class="collection-category" id="collection-category-164"> 913 <h2 id="collection-164"><a href="/docs/collection/164-leaderboards">Leaderboards</a></h2> 914 <section class="category-list two-col"> 915 916 917 <a class="category" id="category-201" href="/docs/category/201-all-about-leaderboards"> 918 <h3>All About Leaderboards</h3> 919 <p></p> 920 <p class="article-count"> 921 922 <span class="notranslate">4</span> articles 923 924 </p> 925 </a><!-- /category --> 926 927 928 929 <a class="category" id="category-200" href="/docs/category/200-tacotars-and-levels"> 930 <h3>Tacotars and Levels</h3> 931 <p></p> 932 <p class="article-count"> 933 934 <span class="notranslate">1</span> article 935 936 </p> 937 </a><!-- /category --> 938 939 940 </section><!-- /category-list --> 941 </section><!-- /collection --> 942 943 <section class="collection-category" id="collection-category-167"> 944 <h2 id="collection-167"><a href="/docs/collection/167-rewards-taco-shop">Rewards & Taco Shop</a></h2> 945 <section class="category-list"> 946 947 948 <a class="category" id="category-189" href="/docs/category/189-setting-up-rewards"> 949 <h3>Setting Up Rewards</h3> 950 <p></p> 951 <p class="article-count"> 952
953 <span class="notranslate">7</span> articles 954 955 </p> 956 </a><!-- /category --> 957 958 959 960 <a class="category" id="category-190" href="/docs/category/190-redeeming-rewards"> 961 <h3>Redeeming Rewards</h3> 962 <p></p> 963 <p class="article-count"> 964 965 <span class="notranslate">4</span> articles 966 967 </p> 968 </a><!-- /category --> 969 970 971 972 <a class="category" id="category-191" href="/docs/category/191-navigating-the-taco-shop"> 973 <h3>Navigating the Taco Shop</h3> 974 <p></p> 975 <p class="article-count"> 976 977 <span class="notranslate">2</span> articles 978 979 </p> 980 </a><!-- /category --> 981 982 983 </section><!-- /category-list --> 984 </section><!-- /collection --> 985 986 <section class="collection-category" id="collection-category-170"> 987 <h2 id="collection-170"><a href="/docs/collection/170-milestones">Milestones</a></h2> 988 <section class="category-list two-col"> 989 990 991 <a class="category" id="category-196" href="/docs/category/196-setting-up-milestones"> 992 <h3>Setting Up Milestones</h3> 993 <p></p> 994 <p class="article-count"> 995 996 <span class="notranslate">4</span> articles 997 998 </p> 999 </a><!-- /category --> 1000 1001 1002 1003 <a class="category" id="category-195" href="/docs/category/195-milestone-messaging-best-practices"> 1004 <h3>Milestone Messaging & Best Practices</h3> 1005 <p></p> 1006 <p class="article-count"> 1007 1008 <span class="notranslate">4</span> articles 1009 1010 </p> 1011 </a><!-- /category --> 1012 1013 1014 </section><!-- /category-list --> 1015 </section><!-- /collection --> 1016 1017 <section class="collection-category" id="collection-category-173"> 1018 <h2 id="collection-173"><a href="/docs/collection/173-billing-plans">Billing & Plans</a></h2> 1019 <section class="category-list two-col"> 1020 1021 1022 <a class="category" id="category-198" href="/docs/category/198-subscription-plans"> 1023 <h3>Subscription & Plans</h3> 1024 <p></p> 1025 <p class="article-count"> 1026
1027 <span class="notranslate">6</span> articles 1028 1029 </p> 1030 </a><!-- /category --> 1031 1032 1033 1034 <a class="category" id="category-197" href="/docs/category/197-payments-invoices"> 1035 <h3>Payments & Invoices</h3> 1036 <p></p> 1037 <p class="article-count"> 1038 1039 <span class="notranslate">1</span> article 1040 1041 </p> 1042 </a><!-- /category --> 1043 1044 1045 </section><!-- /category-list --> 1046 </section><!-- /collection --> 1047 1048 <section class="collection-category" id="collection-category-186"> 1049 <h2 id="collection-186"><a href="/docs/collection/186-reporting-analytics">Reporting & Analytics</a></h2> 1050 <section class="category-list"> 1051 1052 1053 <a class="category" id="category-206" href="/docs/category/206-dashboards-reports"> 1054 <h3>Dashboards & Reports</h3> 1055 <p></p> 1056 <p class="article-count"> 1057 1058 <span class="notranslate">2</span> articles 1059 1060 </p> 1061 </a><!-- /category --> 1062 1063 1064 1065 <a class="category" id="category-207" href="/docs/category/207-data-exports"> 1066 <h3>Data Exports & Privacy</h3> 1067 <p></p> 1068 <p class="article-count"> 1069 1070 <span class="notranslate">2</span> articles 1071 1072 </p> 1073 </a><!-- /category --> 1074 1075 1076 1077 <a class="category" id="category-209" href="/docs/category/209-api"> 1078 <h3>API</h3> 1079 <p></p> 1080 <p class="article-count"> 1081 1082 <span class="notranslate">1</span> article 1083 1084 </p> 1085 </a><!-- /category --> 1086 1087 1088 </section><!-- /category-list --> 1089 </section><!-- /collection --> 1090 1091 1092 1093 1094 <footer class="center"> 1095 1096 1097<p>© 1098 1099 <a href="https://www.heytaco.com">HeyTaco</a> 1100 1101 2026. <span>Powered by <a rel="nofollow noopener noreferrer" href="https://www.helpscout.com/docs-refer/?co=HeyTaco&utm_source=docs&utm_medium=footerlink&utm_campaign=Docs+Branding" target="_blank">Help Scout</a></span> 1102 1103 1104 1105 1106</p> 1107 1108 </footer> 1109 </section><!--/.fluid-container--> 1110 1111 1112
1113<script id="beaconLoader" type="text/javascript">!function(e,t,n){function a(){var e=t.getElementsByTagName("script")[0],n=t.createElement("script");n.type="text/javascript",n.async=!0,n.src="https://beacon-v2.helpscout.net",e.parentNode.insertBefore(n,e)}if(e.Beacon=n=function(t,n,a){e.Beacon.readyQueue.push({method:t,options:n,data:a})},n.readyQueue=[],"complete"===t.readyState)return a();e.attachEvent?e.attachEvent("onload",a):e.addEventListener("load",a,!1)}(window,document,window.Beacon||function(){});</script>
vendor: 1 bytes, line 1113
1113
1114<script type="text/javascript">window.Beacon('init', '0736c04c-03b6-4377-b75f-919fcba186b5')</script>
1114 1115
1116<script type="text/javascript"> 1117 function hashChanged() { 1118 var hash = window.location.hash.substring(1); 1119 if (hash === 'contact') { 1120 window.Beacon('open') 1121 } 1122 } 1123 1124 if (window.location.hash) { 1125 hashChanged() 1126 } 1127 1128 window.onhashchange = function () { 1129 hashChanged() 1130 } 1131 1132 window.addEventListener('hashchange', hashChanged, false); 1133 1134</script>
1134 1135 1136 1137 1138
1138<script src="https://d3eto7onm69fcz.cloudfront.net/assets/javascripts/app4.min.js"></script>
1138 1139
1140<script> 1141// keep iOS links from opening safari 1142if(("standalone" in window.navigator) && window.navigator.standalone){ 1143// If you want to prevent remote links in standalone web apps opening Mobile Safari, change 'remotes' to true 1144var noddy, remotes = false; 1145document.addEventListener('click', function(event) { 1146noddy = event.target; 1147while(noddy.nodeName !== "A" && noddy.nodeName !== "HTML") { 1148noddy = noddy.parentNode; 1149} 1150 1151if('href' in noddy && noddy.href.indexOf('http') !== -1 && (noddy.href.indexOf(document.location.host) !== -1 || remotes)){ 1152event.preventDefault(); 1153document.location.href = noddy.href; 1154} 1155 1156},false); 1157} 1158</script>
1158 1159
1159<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"ca21fde27005430db2b27b2c7c231a1b","spa":2}' crossorigin="anonymous"></script>
1159 1160</body> 1161</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.