[{"data":1,"prerenderedAt":7167},["ShallowReactive",2],{"learning-section-core-working-with-cartos":3,"learning-section-cdp-working-with-cartos":7166},[4,1157,1622,2004,2393,4176,4545,5431,6242,7123,7143],{"_path":5,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":9,"description":10,"order":11,"draft":7,"publicationDate":12,"image":13,"learningSection":14,"learningSortOrder":15,"learningBadge":16,"learningBadgeTone":17,"learningAccent":18,"learningIcon":19,"learningFilters":20,"learningTags":22,"head":24,"category":35,"body":36,"_type":1150,"_id":1151,"_source":1152,"_file":1153,"_stem":1154,"_extension":1155,"sitemap":1156},"/learning/core/everything-about-attributes","core",false,"","Attributes","All of the information you need to understand how to create, update, and delete Attributes for Anamap.",0,"1/20/2025","/images/learning/core/core-learning-background.png","core-concepts",10,"Reference","reference","blue","mdi-shape-outline",[21],"data-setup",[9,23],"Data Setup",{"meta":25},[26,29,32],{"name":27,"content":28},"keywords","anamap, learning, attributes",{"name":30,"content":31},"robots","index, follow",{"name":33,"content":34},"copyright","© 2025 Anamap","Learning",{"type":37,"children":38,"toc":1138},"root",[39,48,55,124,129,135,140,158,163,168,355,432,603,748,886,891,896,992,997,1005,1014,1031,1046,1061,1066,1075,1080,1096,1112,1117],{"type":40,"tag":41,"props":42,"children":44},"element","h1",{"id":43},"everything-you-need-to-know-about-attributes",[45],{"type":46,"value":47},"text","Everything You Need to Know About Attributes",{"type":40,"tag":49,"props":50,"children":52},"h2",{"id":51},"table-of-contents",[53],{"type":46,"value":54},"Table of Contents",{"type":40,"tag":56,"props":57,"children":58},"ul",{},[59,70,79,88,97,106,115],{"type":40,"tag":60,"props":61,"children":62},"li",{},[63],{"type":40,"tag":64,"props":65,"children":67},"a",{"href":66},"#purpose--definition",[68],{"type":46,"value":69},"Purpose & Definition",{"type":40,"tag":60,"props":71,"children":72},{},[73],{"type":40,"tag":64,"props":74,"children":76},{"href":75},"#core-aspects-of-attributes",[77],{"type":46,"value":78},"Core Aspects of Attributes",{"type":40,"tag":60,"props":80,"children":81},{},[82],{"type":40,"tag":64,"props":83,"children":85},{"href":84},"#creating-attributes",[86],{"type":46,"value":87},"Creating Attributes",{"type":40,"tag":60,"props":89,"children":90},{},[91],{"type":40,"tag":64,"props":92,"children":94},{"href":93},"#updating-attributes",[95],{"type":46,"value":96},"Updating Attributes",{"type":40,"tag":60,"props":98,"children":99},{},[100],{"type":40,"tag":64,"props":101,"children":103},{"href":102},"#deleting-attributes",[104],{"type":46,"value":105},"Deleting Attributes",{"type":40,"tag":60,"props":107,"children":108},{},[109],{"type":40,"tag":64,"props":110,"children":112},{"href":111},"#advanced-attribute-features",[113],{"type":46,"value":114},"Advanced Attribute Features",{"type":40,"tag":60,"props":116,"children":117},{},[118],{"type":40,"tag":64,"props":119,"children":121},{"href":120},"#attribute-usage",[122],{"type":46,"value":123},"Attribute Usage",{"type":40,"tag":49,"props":125,"children":127},{"id":126},"purpose-definition",[128],{"type":46,"value":69},{"type":40,"tag":130,"props":131,"children":132},"p",{},[133],{"type":46,"value":134},"Think of attributes like sticky notes on items in your house. Just as you might label a box \"Kitchen Stuff\" or \"Winter Clothes\", attributes in analytics are labels that tell you important details about things you're tracking.",{"type":40,"tag":130,"props":136,"children":137},{},[138],{"type":46,"value":139},"For example:",{"type":40,"tag":56,"props":141,"children":142},{},[143,148,153],{"type":40,"tag":60,"props":144,"children":145},{},[146],{"type":46,"value":147},"On a purchase: The price ($50), payment method (credit card), or shipping speed (express)",{"type":40,"tag":60,"props":149,"children":150},{},[151],{"type":46,"value":152},"On a user profile: Their membership level (premium), favorite color (blue), or city (Seattle)",{"type":40,"tag":60,"props":154,"children":155},{},[156],{"type":46,"value":157},"On a product: Its category (electronics), brand (Samsung), or status (in stock)",{"type":40,"tag":130,"props":159,"children":160},{},[161],{"type":46,"value":162},"These labels make it easy to answer questions like \"How many premium members bought electronics last month?\" or \"What's our average order value for express shipping?\"",{"type":40,"tag":49,"props":164,"children":166},{"id":165},"core-aspects-of-attributes",[167],{"type":46,"value":78},{"type":40,"tag":169,"props":170,"children":171},"table",{},[172,196],{"type":40,"tag":173,"props":174,"children":175},"thead",{},[176],{"type":40,"tag":177,"props":178,"children":179},"tr",{},[180,186,191],{"type":40,"tag":181,"props":182,"children":183},"th",{},[184],{"type":46,"value":185},"Field Name",{"type":40,"tag":181,"props":187,"children":188},{},[189],{"type":46,"value":190},"Required",{"type":40,"tag":181,"props":192,"children":193},{},[194],{"type":46,"value":195},"Description",{"type":40,"tag":197,"props":198,"children":199},"tbody",{},[200,219,236,253,270,287,304,321,338],{"type":40,"tag":177,"props":201,"children":202},{},[203,209,214],{"type":40,"tag":204,"props":205,"children":206},"td",{},[207],{"type":46,"value":208},"Name",{"type":40,"tag":204,"props":210,"children":211},{},[212],{"type":46,"value":213},"Yes",{"type":40,"tag":204,"props":215,"children":216},{},[217],{"type":46,"value":218},"The unique identifier for the attribute within its scope",{"type":40,"tag":177,"props":220,"children":221},{},[222,227,231],{"type":40,"tag":204,"props":223,"children":224},{},[225],{"type":46,"value":226},"Scope",{"type":40,"tag":204,"props":228,"children":229},{},[230],{"type":46,"value":213},{"type":40,"tag":204,"props":232,"children":233},{},[234],{"type":46,"value":235},"The context where the attribute applies (e.g., user, event)",{"type":40,"tag":177,"props":237,"children":238},{},[239,243,248],{"type":40,"tag":204,"props":240,"children":241},{},[242],{"type":46,"value":195},{"type":40,"tag":204,"props":244,"children":245},{},[246],{"type":46,"value":247},"No",{"type":40,"tag":204,"props":249,"children":250},{},[251],{"type":46,"value":252},"Detailed explanation of the attribute's purpose",{"type":40,"tag":177,"props":254,"children":255},{},[256,261,265],{"type":40,"tag":204,"props":257,"children":258},{},[259],{"type":46,"value":260},"Type",{"type":40,"tag":204,"props":262,"children":263},{},[264],{"type":46,"value":213},{"type":40,"tag":204,"props":266,"children":267},{},[268],{"type":46,"value":269},"The basic data type for the attribute collected. Loosely corresponds with JavaScript variable types.",{"type":40,"tag":177,"props":271,"children":272},{},[273,278,282],{"type":40,"tag":204,"props":274,"children":275},{},[276],{"type":46,"value":277},"Validation Type",{"type":40,"tag":204,"props":279,"children":280},{},[281],{"type":46,"value":247},{"type":40,"tag":204,"props":283,"children":284},{},[285],{"type":46,"value":286},"The type of validation to apply based on the Attribute type.",{"type":40,"tag":177,"props":288,"children":289},{},[290,295,299],{"type":40,"tag":204,"props":291,"children":292},{},[293],{"type":46,"value":294},"Validation",{"type":40,"tag":204,"props":296,"children":297},{},[298],{"type":46,"value":247},{"type":40,"tag":204,"props":300,"children":301},{},[302],{"type":46,"value":303},"Specific validation rules for the attribute.",{"type":40,"tag":177,"props":305,"children":306},{},[307,312,316],{"type":40,"tag":204,"props":308,"children":309},{},[310],{"type":46,"value":311},"Origin",{"type":40,"tag":204,"props":313,"children":314},{},[315],{"type":46,"value":247},{"type":40,"tag":204,"props":317,"children":318},{},[319],{"type":46,"value":320},"Source or system where the attribute originates. This is typically used to identify the name of data layer values the Attribute is pulled from or specific API endpoints.",{"type":40,"tag":177,"props":322,"children":323},{},[324,329,333],{"type":40,"tag":204,"props":325,"children":326},{},[327],{"type":46,"value":328},"Exposed",{"type":40,"tag":204,"props":330,"children":331},{},[332],{"type":46,"value":247},{"type":40,"tag":204,"props":334,"children":335},{},[336],{"type":46,"value":337},"Whether the attribute is visible to ALL Anamap users instead of just Editors and Admins. If Exposed is set to false users who are Viewer will be unable to see the Attribute on Maps.",{"type":40,"tag":177,"props":339,"children":340},{},[341,346,350],{"type":40,"tag":204,"props":342,"children":343},{},[344],{"type":46,"value":345},"Nullable",{"type":40,"tag":204,"props":347,"children":348},{},[349],{"type":46,"value":247},{"type":40,"tag":204,"props":351,"children":352},{},[353],{"type":46,"value":354},"Whether the attribute can have null values.",{"type":40,"tag":356,"props":357,"children":358},"indent-block",{},[359,367,372],{"type":40,"tag":360,"props":361,"children":362},"template",{"v-slot:title":8},[363],{"type":40,"tag":130,"props":364,"children":365},{},[366],{"type":46,"value":226},{"type":40,"tag":130,"props":368,"children":369},{},[370],{"type":46,"value":371},"Attributes can have one of three different scopes that are tightly tied to definitions used in analytics platforms and customer data platforms.",{"type":40,"tag":169,"props":373,"children":374},{},[375,390],{"type":40,"tag":173,"props":376,"children":377},{},[378],{"type":40,"tag":177,"props":379,"children":380},{},[381,386],{"type":40,"tag":181,"props":382,"children":383},{},[384],{"type":46,"value":385},"Scope Name",{"type":40,"tag":181,"props":387,"children":388},{},[389],{"type":46,"value":195},{"type":40,"tag":197,"props":391,"children":392},{},[393,406,419],{"type":40,"tag":177,"props":394,"children":395},{},[396,401],{"type":40,"tag":204,"props":397,"children":398},{},[399],{"type":46,"value":400},"Event",{"type":40,"tag":204,"props":402,"children":403},{},[404],{"type":46,"value":405},"Attributes that are scoped to an event level are not sticky. Typically these events are used for one event (or multiple on the same page/view) and then they are unset.",{"type":40,"tag":177,"props":407,"children":408},{},[409,414],{"type":40,"tag":204,"props":410,"children":411},{},[412],{"type":46,"value":413},"User",{"type":40,"tag":204,"props":415,"children":416},{},[417],{"type":46,"value":418},"User level Attributes tend to be sticky. Once they are set they will apply to all future events until they are overwritten, unset, or they expire.",{"type":40,"tag":177,"props":420,"children":421},{},[422,427],{"type":40,"tag":204,"props":423,"children":424},{},[425],{"type":46,"value":426},"Identity",{"type":40,"tag":204,"props":428,"children":429},{},[430],{"type":46,"value":431},"The identity scope represents Attributes that are used to identify a device as a specific user. Examples of this could be email, phone number, customer id, etc.",{"type":40,"tag":356,"props":433,"children":434},{},[435,443,448],{"type":40,"tag":360,"props":436,"children":437},{"v-slot:title":8},[438],{"type":40,"tag":130,"props":439,"children":440},{},[441],{"type":46,"value":442},"Attribute Type",{"type":40,"tag":130,"props":444,"children":445},{},[446],{"type":46,"value":447},"Attributes can be assigned one of the following data types:",{"type":40,"tag":169,"props":449,"children":450},{},[451,470],{"type":40,"tag":173,"props":452,"children":453},{},[454],{"type":40,"tag":177,"props":455,"children":456},{},[457,461,465],{"type":40,"tag":181,"props":458,"children":459},{},[460],{"type":46,"value":260},{"type":40,"tag":181,"props":462,"children":463},{},[464],{"type":46,"value":195},{"type":40,"tag":181,"props":466,"children":467},{},[468],{"type":46,"value":469},"Example",{"type":40,"tag":197,"props":471,"children":472},{},[473,491,509,527,545,567,585],{"type":40,"tag":177,"props":474,"children":475},{},[476,481,486],{"type":40,"tag":204,"props":477,"children":478},{},[479],{"type":46,"value":480},"Text",{"type":40,"tag":204,"props":482,"children":483},{},[484],{"type":46,"value":485},"Text values",{"type":40,"tag":204,"props":487,"children":488},{},[489],{"type":46,"value":490},"\"Premium User\"",{"type":40,"tag":177,"props":492,"children":493},{},[494,499,504],{"type":40,"tag":204,"props":495,"children":496},{},[497],{"type":46,"value":498},"Integer",{"type":40,"tag":204,"props":500,"children":501},{},[502],{"type":46,"value":503},"Whole round numeric values (integers or decimals)",{"type":40,"tag":204,"props":505,"children":506},{},[507],{"type":46,"value":508},"42",{"type":40,"tag":177,"props":510,"children":511},{},[512,517,522],{"type":40,"tag":204,"props":513,"children":514},{},[515],{"type":46,"value":516},"Decimal",{"type":40,"tag":204,"props":518,"children":519},{},[520],{"type":46,"value":521},"Numeric values that support decimals",{"type":40,"tag":204,"props":523,"children":524},{},[525],{"type":46,"value":526},"42.99",{"type":40,"tag":177,"props":528,"children":529},{},[530,535,540],{"type":40,"tag":204,"props":531,"children":532},{},[533],{"type":46,"value":534},"Boolean",{"type":40,"tag":204,"props":536,"children":537},{},[538],{"type":46,"value":539},"True/false values",{"type":40,"tag":204,"props":541,"children":542},{},[543],{"type":46,"value":544},"true",{"type":40,"tag":177,"props":546,"children":547},{},[548,553,558],{"type":40,"tag":204,"props":549,"children":550},{},[551],{"type":46,"value":552},"Array",{"type":40,"tag":204,"props":554,"children":555},{},[556],{"type":46,"value":557},"List of values",{"type":40,"tag":204,"props":559,"children":560},{},[561],{"type":40,"tag":562,"props":563,"children":564},"span",{},[565],{"type":46,"value":566},"\"red\", \"blue\", \"green\"",{"type":40,"tag":177,"props":568,"children":569},{},[570,575,580],{"type":40,"tag":204,"props":571,"children":572},{},[573],{"type":46,"value":574},"JSON",{"type":40,"tag":204,"props":576,"children":577},{},[578],{"type":46,"value":579},"Complex data structure",{"type":40,"tag":204,"props":581,"children":582},{},[583],{"type":46,"value":584},"{ \"city\": \"Seattle\", \"state\": \"WA\" }",{"type":40,"tag":177,"props":586,"children":587},{},[588,593,598],{"type":40,"tag":204,"props":589,"children":590},{},[591],{"type":46,"value":592},"DateTime",{"type":40,"tag":204,"props":594,"children":595},{},[596],{"type":46,"value":597},"Date/time values",{"type":40,"tag":204,"props":599,"children":600},{},[601],{"type":46,"value":602},"\"2024-01-20\"",{"type":40,"tag":356,"props":604,"children":605},{},[606,613,618],{"type":40,"tag":360,"props":607,"children":608},{"v-slot:title":8},[609],{"type":40,"tag":130,"props":610,"children":611},{},[612],{"type":46,"value":277},{"type":40,"tag":130,"props":614,"children":615},{},[616],{"type":46,"value":617},"The validation type determines how the attribute's value should be validated. Available types include:",{"type":40,"tag":169,"props":619,"children":620},{},[621,640],{"type":40,"tag":173,"props":622,"children":623},{},[624],{"type":40,"tag":177,"props":625,"children":626},{},[627,631,635],{"type":40,"tag":181,"props":628,"children":629},{},[630],{"type":46,"value":277},{"type":40,"tag":181,"props":632,"children":633},{},[634],{"type":46,"value":195},{"type":40,"tag":181,"props":636,"children":637},{},[638],{"type":46,"value":639},"Applicable To",{"type":40,"tag":197,"props":641,"children":642},{},[643,661,679,696,713,731],{"type":40,"tag":177,"props":644,"children":645},{},[646,651,656],{"type":40,"tag":204,"props":647,"children":648},{},[649],{"type":46,"value":650},"None",{"type":40,"tag":204,"props":652,"children":653},{},[654],{"type":46,"value":655},"No validation required. For types like Boolean, Array, JSON basic validation for that type will still be used.",{"type":40,"tag":204,"props":657,"children":658},{},[659],{"type":46,"value":660},"All types",{"type":40,"tag":177,"props":662,"children":663},{},[664,669,674],{"type":40,"tag":204,"props":665,"children":666},{},[667],{"type":46,"value":668},"Exact",{"type":40,"tag":204,"props":670,"children":671},{},[672],{"type":46,"value":673},"Only matches the exact string entered",{"type":40,"tag":204,"props":675,"children":676},{},[677],{"type":46,"value":678},"String",{"type":40,"tag":177,"props":680,"children":681},{},[682,687,692],{"type":40,"tag":204,"props":683,"children":684},{},[685],{"type":46,"value":686},"Enum",{"type":40,"tag":204,"props":688,"children":689},{},[690],{"type":46,"value":691},"Validates against a list of allowed values",{"type":40,"tag":204,"props":693,"children":694},{},[695],{"type":46,"value":678},{"type":40,"tag":177,"props":697,"children":698},{},[699,704,709],{"type":40,"tag":204,"props":700,"children":701},{},[702],{"type":46,"value":703},"Regex",{"type":40,"tag":204,"props":705,"children":706},{},[707],{"type":46,"value":708},"Validates strings against a regular expression pattern",{"type":40,"tag":204,"props":710,"children":711},{},[712],{"type":46,"value":678},{"type":40,"tag":177,"props":714,"children":715},{},[716,721,726],{"type":40,"tag":204,"props":717,"children":718},{},[719],{"type":46,"value":720},"Range",{"type":40,"tag":204,"props":722,"children":723},{},[724],{"type":46,"value":725},"Validates numbers within a specified range",{"type":40,"tag":204,"props":727,"children":728},{},[729],{"type":46,"value":730},"Integer or Decimal",{"type":40,"tag":177,"props":732,"children":733},{},[734,739,744],{"type":40,"tag":204,"props":735,"children":736},{},[737],{"type":46,"value":738},"JSON Schema",{"type":40,"tag":204,"props":740,"children":741},{},[742],{"type":46,"value":743},"Validates the structure of values of JSON values",{"type":40,"tag":204,"props":745,"children":746},{},[747],{"type":46,"value":574},{"type":40,"tag":356,"props":749,"children":750},{},[751,759,764],{"type":40,"tag":360,"props":752,"children":753},{"v-slot:title":8},[754],{"type":40,"tag":130,"props":755,"children":756},{},[757],{"type":46,"value":758},"Validation String",{"type":40,"tag":130,"props":760,"children":761},{},[762],{"type":46,"value":763},"The validation string defines the specific rules for the chosen validation type:",{"type":40,"tag":169,"props":765,"children":766},{},[767,786],{"type":40,"tag":173,"props":768,"children":769},{},[770],{"type":40,"tag":177,"props":771,"children":772},{},[773,777,782],{"type":40,"tag":181,"props":774,"children":775},{},[776],{"type":46,"value":277},{"type":40,"tag":181,"props":778,"children":779},{},[780],{"type":46,"value":781},"Format",{"type":40,"tag":181,"props":783,"children":784},{},[785],{"type":46,"value":469},{"type":40,"tag":197,"props":787,"children":788},{},[789,806,823,847,864],{"type":40,"tag":177,"props":790,"children":791},{},[792,796,801],{"type":40,"tag":204,"props":793,"children":794},{},[795],{"type":46,"value":668},{"type":40,"tag":204,"props":797,"children":798},{},[799],{"type":46,"value":800},"\"string\"",{"type":40,"tag":204,"props":802,"children":803},{},[804],{"type":46,"value":805},"\"match this exact string\"",{"type":40,"tag":177,"props":807,"children":808},{},[809,813,818],{"type":40,"tag":204,"props":810,"children":811},{},[812],{"type":46,"value":686},{"type":40,"tag":204,"props":814,"children":815},{},[816],{"type":46,"value":817},"\"value1,value2,value3\"",{"type":40,"tag":204,"props":819,"children":820},{},[821],{"type":46,"value":822},"\"active,inactive,pending\"",{"type":40,"tag":177,"props":824,"children":825},{},[826,830,835],{"type":40,"tag":204,"props":827,"children":828},{},[829],{"type":46,"value":703},{"type":40,"tag":204,"props":831,"children":832},{},[833],{"type":46,"value":834},"\"pattern\"",{"type":40,"tag":204,"props":836,"children":837},{},[838,840,845],{"type":46,"value":839},"\"^",{"type":40,"tag":562,"props":841,"children":842},{},[843],{"type":46,"value":844},"A-Za-z0-9",{"type":46,"value":846},"+$\"",{"type":40,"tag":177,"props":848,"children":849},{},[850,854,859],{"type":40,"tag":204,"props":851,"children":852},{},[853],{"type":46,"value":720},{"type":40,"tag":204,"props":855,"children":856},{},[857],{"type":46,"value":858},"\"min:max\"",{"type":40,"tag":204,"props":860,"children":861},{},[862],{"type":46,"value":863},"\"0:100\"",{"type":40,"tag":177,"props":865,"children":866},{},[867,871,876],{"type":40,"tag":204,"props":868,"children":869},{},[870],{"type":46,"value":738},{"type":40,"tag":204,"props":872,"children":873},{},[874],{"type":46,"value":875},"JSON Schema string",{"type":40,"tag":204,"props":877,"children":878},{},[879],{"type":40,"tag":880,"props":881,"children":883},"code",{"className":882},[],[884],{"type":46,"value":885},"{\"type\": \"object\", \"properties\": {\"status\": {\"type\": \"string\"}, \"count\": {\"type\": \"integer\"}}, \"required\": [\"status\"]}",{"type":40,"tag":49,"props":887,"children":889},{"id":888},"creating-attributes",[890],{"type":46,"value":87},{"type":40,"tag":130,"props":892,"children":893},{},[894],{"type":46,"value":895},"To create a new Attribute in Anamap:",{"type":40,"tag":897,"props":898,"children":899},"ol",{},[900,911,967,972,982],{"type":40,"tag":60,"props":901,"children":902},{},[903,905],{"type":46,"value":904},"Click the \"Attributes\" header in the top navigation.\n",{"type":40,"tag":906,"props":907,"children":910},"img",{"alt":908,"src":909},"Attributes top nav link","/images/learning/core/header-nav-attributes.png",[],{"type":40,"tag":60,"props":912,"children":913},{},[914,916,921],{"type":46,"value":915},"In the top section of the page where it says \"New Attribute\", you can create a new attribute.\n",{"type":40,"tag":906,"props":917,"children":920},{"alt":918,"src":919},"Create new attribute","/images/learning/core/new-attribute-form.png",[],{"type":40,"tag":897,"props":922,"children":923},{},[924,929,934,939,944],{"type":40,"tag":60,"props":925,"children":926},{},[927],{"type":46,"value":928},"Choose a scope (Event, User, or Identity).",{"type":40,"tag":60,"props":930,"children":931},{},[932],{"type":46,"value":933},"Provide a name for the Attribute.",{"type":40,"tag":60,"props":935,"children":936},{},[937],{"type":46,"value":938},"Select a data type (Text, Integer, Decimal, Boolean, Array, JSON, DateTime).",{"type":40,"tag":60,"props":940,"children":941},{},[942],{"type":46,"value":943},"Optionally choose a validation type and specify validation rules.",{"type":40,"tag":60,"props":945,"children":946},{},[947,949,953,956,961,964],{"type":46,"value":948},"Set additional fields (description, origin, exposed, nullable) as needed.  ",{"type":40,"tag":950,"props":951,"children":952},"br",{},[],{"type":40,"tag":950,"props":954,"children":955},{},[],{"type":40,"tag":64,"props":957,"children":958},{"href":75},[959],{"type":46,"value":960},"More information about the different aspects of attributes",{"type":40,"tag":950,"props":962,"children":963},{},[],{"type":40,"tag":950,"props":965,"children":966},{},[],{"type":40,"tag":60,"props":968,"children":969},{},[970],{"type":46,"value":971},"Click the green check mark button to save your new Attribute.",{"type":40,"tag":60,"props":973,"children":974},{},[975,977],{"type":46,"value":976},"To see it in the list you can use the Attribute Search to filter and see it. Just make sure to click the correct Scope header below the search bar that corresponds to the scope of the attribute you created.\n",{"type":40,"tag":906,"props":978,"children":981},{"alt":979,"src":980},"Attribute Search","/images/learning/core/attribute-search.png",[],{"type":40,"tag":60,"props":983,"children":984},{},[985,987],{"type":46,"value":986},"Further details about the attribute can be accessed by clicking the link icon to the left of the attribute.\n",{"type":40,"tag":906,"props":988,"children":991},{"alt":989,"src":990},"Attribute Details link","/images/learning/core/attribute-details-link.png",[],{"type":40,"tag":49,"props":993,"children":995},{"id":994},"updating-attributes",[996],{"type":46,"value":96},{"type":40,"tag":130,"props":998,"children":999},{},[1000,1002],{"type":46,"value":1001},"Limited aspects of an Attribute can be editted from the Attribute Index page. For most editting we recommend you dive into the Attribute Details page by clicking on the link icon next to the Attribute in the list.\n",{"type":40,"tag":906,"props":1003,"children":1004},{"alt":989,"src":990},[],{"type":40,"tag":130,"props":1006,"children":1007},{},[1008,1010],{"type":46,"value":1009},"The Attribute Details page provides full access to all of the edittable aspects of an Attribute and provides some info on which Events and Views the Attribute is currently being used by.\n",{"type":40,"tag":906,"props":1011,"children":1013},{"alt":989,"src":1012},"/images/learning/core/attribute-details-page.png",[],{"type":40,"tag":130,"props":1015,"children":1016},{},[1017,1019,1025,1027],{"type":46,"value":1018},"-",{"type":40,"tag":1020,"props":1021,"children":1022},"strong",{},[1023],{"type":46,"value":1024},"Saving Changes:",{"type":46,"value":1026}," Once you've made changes to the Attribute data you can simply hit the Save button in the upper right corner of the page to save the changes. If you have a CDP sync setup the sync will automatically push your changes to the data management aspect of your CDP.\n",{"type":40,"tag":906,"props":1028,"children":1030},{"alt":989,"src":1029},"/images/learning/core/attribute-details-save.png",[],{"type":40,"tag":130,"props":1032,"children":1033},{},[1034,1035,1040,1042],{"type":46,"value":1018},{"type":40,"tag":1020,"props":1036,"children":1037},{},[1038],{"type":46,"value":1039},"Where the Attribute is Used:",{"type":46,"value":1041}," The Usage section of the Attribute Details page shows you a list of all the Events and Views that are currently utilizing the Attribute. Each of the items in the lists are linked so you can easily jump to those Events or Views if needed.\n",{"type":40,"tag":906,"props":1043,"children":1045},{"alt":989,"src":1044},"/images/learning/core/attribute-usage.png",[],{"type":40,"tag":130,"props":1047,"children":1048},{},[1049,1050,1055,1057],{"type":46,"value":1018},{"type":40,"tag":1020,"props":1051,"children":1052},{},[1053],{"type":46,"value":1054},"Add Attribute to All Events or Views:",{"type":46,"value":1056}," For details on these checkboxes checkout the ",{"type":40,"tag":64,"props":1058,"children":1059},{"href":111},[1060],{"type":46,"value":114},{"type":40,"tag":49,"props":1062,"children":1064},{"id":1063},"deleting-attributes",[1065],{"type":46,"value":105},{"type":40,"tag":130,"props":1067,"children":1068},{},[1069,1071],{"type":46,"value":1070},"Deleting Attributes can be done from the Attribute Index page. Hover over the Attribute you'd like to delete and click the red delete button on the right side. After clicking the delete button a dialog will ask you to confirm the deletion.\n",{"type":40,"tag":906,"props":1072,"children":1074},{"alt":989,"src":1073},"/images/learning/core/attribute-delete.png",[],{"type":40,"tag":49,"props":1076,"children":1078},{"id":1077},"advanced-attribute-features",[1079],{"type":46,"value":114},{"type":40,"tag":356,"props":1081,"children":1082},{},[1083,1091],{"type":40,"tag":360,"props":1084,"children":1085},{"v-slot:title":8},[1086],{"type":40,"tag":130,"props":1087,"children":1088},{},[1089],{"type":46,"value":1090},"Add Attribute to All Views",{"type":40,"tag":130,"props":1092,"children":1093},{},[1094],{"type":46,"value":1095},"Checking this and saving will cause the attribute to be added to all existing Views and any new Views added to your company. This is useful for attributes that are core and fundamental to nearly every View. This is typical for attributes such as the URL or domain. For specific Views that don't need the attribute you can simply delete the attribute from the View and it won't be re-added.",{"type":40,"tag":356,"props":1097,"children":1098},{},[1099,1107],{"type":40,"tag":360,"props":1100,"children":1101},{"v-slot:title":8},[1102],{"type":40,"tag":130,"props":1103,"children":1104},{},[1105],{"type":46,"value":1106},"Add Attribute to All Events",{"type":40,"tag":130,"props":1108,"children":1109},{},[1110],{"type":46,"value":1111},"Checking this and saving will cause the attribute to be added to all existing Events and any new Events added to your company. This is useful for attributes that are core and fundamental to nearly every event. For specific Events that don't need the attribute you can simply delete the attribute from the Event and it won't be re-added.",{"type":40,"tag":49,"props":1113,"children":1115},{"id":1114},"attribute-usage",[1116],{"type":46,"value":123},{"type":40,"tag":130,"props":1118,"children":1119},{},[1120,1122,1128,1130,1136],{"type":46,"value":1121},"Attributes can be added to Events or Views. For specific information about how to add the attributes to either check out our documentation on ",{"type":40,"tag":64,"props":1123,"children":1125},{"href":1124},"/learning/core/everything-about-events#adding-attributes",[1126],{"type":46,"value":1127},"adding attributes to Events",{"type":46,"value":1129}," and ",{"type":40,"tag":64,"props":1131,"children":1133},{"href":1132},"/learning/core/everything-about-views#adding-attributes",[1134],{"type":46,"value":1135},"adding attributes to Views",{"type":46,"value":1137}," .",{"title":8,"searchDepth":1139,"depth":1140,"links":1141},2,3,[1142,1143,1144,1145,1146,1147,1148,1149],{"id":51,"depth":1139,"text":54},{"id":126,"depth":1139,"text":69},{"id":165,"depth":1139,"text":78},{"id":888,"depth":1139,"text":87},{"id":994,"depth":1139,"text":96},{"id":1063,"depth":1139,"text":105},{"id":1077,"depth":1139,"text":114},{"id":1114,"depth":1139,"text":123},"markdown","content:learning:core:everything-about-attributes.md","content","learning/core/everything-about-attributes.md","learning/core/everything-about-attributes","md",{"loc":5},{"_path":1158,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":1159,"description":1160,"order":1161,"draft":7,"publicationDate":12,"image":13,"learningSection":14,"learningSortOrder":1162,"learningBadge":16,"learningBadgeTone":17,"learningAccent":1163,"learningIcon":1164,"learningFilters":1165,"learningTags":1166,"head":1167,"category":35,"body":1173,"_type":1150,"_id":1618,"_source":1152,"_file":1619,"_stem":1620,"_extension":1155,"sitemap":1621},"/learning/core/everything-about-events","Events","All of the information you need to understand how to create, update, and delete Events for Anamap.",1,20,"purple","mdi-connection",[21],[1159,23],{"meta":1168},[1169,1171,1172],{"name":27,"content":1170},"anamap, learning, events",{"name":30,"content":31},{"name":33,"content":34},{"type":37,"children":1174,"toc":1609},[1175,1181,1185,1240,1244,1249,1253,1276,1281,1286,1291,1448,1454,1467,1535,1540,1550,1563,1578,1583,1592,1597],{"type":40,"tag":41,"props":1176,"children":1178},{"id":1177},"everything-you-need-to-know-about-events",[1179],{"type":46,"value":1180},"Everything You Need to Know About Events",{"type":40,"tag":49,"props":1182,"children":1183},{"id":51},[1184],{"type":46,"value":54},{"type":40,"tag":56,"props":1186,"children":1187},{},[1188,1195,1204,1213,1222,1231],{"type":40,"tag":60,"props":1189,"children":1190},{},[1191],{"type":40,"tag":64,"props":1192,"children":1193},{"href":66},[1194],{"type":46,"value":69},{"type":40,"tag":60,"props":1196,"children":1197},{},[1198],{"type":40,"tag":64,"props":1199,"children":1201},{"href":1200},"#creating-events",[1202],{"type":46,"value":1203},"Creating Events",{"type":40,"tag":60,"props":1205,"children":1206},{},[1207],{"type":40,"tag":64,"props":1208,"children":1210},{"href":1209},"#adding-events",[1211],{"type":46,"value":1212},"Adding Events to Events",{"type":40,"tag":60,"props":1214,"children":1215},{},[1216],{"type":40,"tag":64,"props":1217,"children":1219},{"href":1218},"#updating-events",[1220],{"type":46,"value":1221},"Updating Events",{"type":40,"tag":60,"props":1223,"children":1224},{},[1225],{"type":40,"tag":64,"props":1226,"children":1228},{"href":1227},"#deleting-events",[1229],{"type":46,"value":1230},"Deleting Events",{"type":40,"tag":60,"props":1232,"children":1233},{},[1234],{"type":40,"tag":64,"props":1235,"children":1237},{"href":1236},"#event-usage",[1238],{"type":46,"value":1239},"Event Usage",{"type":40,"tag":49,"props":1241,"children":1242},{"id":126},[1243],{"type":46,"value":69},{"type":40,"tag":130,"props":1245,"children":1246},{},[1247],{"type":46,"value":1248},"Think of Events like moments in a timeline. Just as you might note when a friend arrives or a package is delivered, Events in analytics mark any notable action that occurs.",{"type":40,"tag":130,"props":1250,"children":1251},{},[1252],{"type":46,"value":139},{"type":40,"tag":56,"props":1254,"children":1255},{},[1256,1261,1266,1271],{"type":40,"tag":60,"props":1257,"children":1258},{},[1259],{"type":46,"value":1260},"A user clicks “Sign Up”",{"type":40,"tag":60,"props":1262,"children":1263},{},[1264],{"type":46,"value":1265},"A product is added to a cart",{"type":40,"tag":60,"props":1267,"children":1268},{},[1269],{"type":46,"value":1270},"A video starts playing",{"type":40,"tag":60,"props":1272,"children":1273},{},[1274],{"type":46,"value":1275},"A quiz is completed",{"type":40,"tag":130,"props":1277,"children":1278},{},[1279],{"type":46,"value":1280},"These markers help you see when and how often key actions happen, making it easy to answer questions like “What time of day do most purchases happen?” or “How many signups occurred this week?”",{"type":40,"tag":49,"props":1282,"children":1284},{"id":1283},"creating-events",[1285],{"type":46,"value":1203},{"type":40,"tag":130,"props":1287,"children":1288},{},[1289],{"type":46,"value":1290},"To create a new Event in Anamap:",{"type":40,"tag":897,"props":1292,"children":1293},{},[1294,1304,1314,1330,1437],{"type":40,"tag":60,"props":1295,"children":1296},{},[1297,1299],{"type":46,"value":1298},"Click the \"Events\" header in the top navigation.\n",{"type":40,"tag":906,"props":1300,"children":1303},{"alt":1301,"src":1302},"Events top nav link","/images/learning/core/header-nav-events.png",[],{"type":40,"tag":60,"props":1305,"children":1306},{},[1307,1309],{"type":46,"value":1308},"On the upper right side of the page there is a button to create a new event.\n",{"type":40,"tag":906,"props":1310,"children":1313},{"alt":1311,"src":1312},"Create new event","/images/learning/core/new-event-button.png",[],{"type":40,"tag":60,"props":1315,"children":1316},{},[1317,1319,1324,1327],{"type":46,"value":1318},"After clicking the button you'll be taken to a page to start building your new Event. This page is also the Event Details page which can be used for editting the Event later. ",{"type":40,"tag":1020,"props":1320,"children":1321},{},[1322],{"type":46,"value":1323},"Note: The Event isn't created/saved until you click the save button.",{"type":40,"tag":950,"props":1325,"children":1326},{},[],{"type":40,"tag":950,"props":1328,"children":1329},{},[],{"type":40,"tag":60,"props":1331,"children":1332},{},[1333,1335],{"type":46,"value":1334},"Fill out the fields required to define the Event. At the absolute minimum the Event should be given a name though adding additional information will make the Event more usable in the future.",{"type":40,"tag":356,"props":1336,"children":1337},{},[1338,1346,1350],{"type":40,"tag":360,"props":1339,"children":1340},{"v-slot:title":8},[1341],{"type":40,"tag":130,"props":1342,"children":1343},{},[1344],{"type":46,"value":1345},"Event Parameters",{"type":40,"tag":130,"props":1347,"children":1348},{},[1349],{"type":46,"value":763},{"type":40,"tag":169,"props":1351,"children":1352},{},[1353,1369],{"type":40,"tag":173,"props":1354,"children":1355},{},[1356],{"type":40,"tag":177,"props":1357,"children":1358},{},[1359,1364],{"type":40,"tag":181,"props":1360,"children":1361},{},[1362],{"type":46,"value":1363},"Parameter",{"type":40,"tag":181,"props":1365,"children":1366},{},[1367],{"type":46,"value":1368},"Purpose",{"type":40,"tag":197,"props":1370,"children":1371},{},[1372,1384,1397,1425],{"type":40,"tag":177,"props":1373,"children":1374},{},[1375,1379],{"type":40,"tag":204,"props":1376,"children":1377},{},[1378],{"type":46,"value":208},{"type":40,"tag":204,"props":1380,"children":1381},{},[1382],{"type":46,"value":1383},"The name of the Event. We recommend you stick with a consistent naming pattern for your Events as part of your data governance strategy.",{"type":40,"tag":177,"props":1385,"children":1386},{},[1387,1392],{"type":40,"tag":204,"props":1388,"children":1389},{},[1390],{"type":46,"value":1391},"Event Type",{"type":40,"tag":204,"props":1393,"children":1394},{},[1395],{"type":46,"value":1396},"This represents a category of for groups your Events. The value can be arbitrary or it can be based on the categories available for your CDP. If you following the grouping convention for your CDP those Event Type values will be maintained when passed to your CDP.",{"type":40,"tag":177,"props":1398,"children":1399},{},[1400,1405],{"type":40,"tag":204,"props":1401,"children":1402},{},[1403],{"type":46,"value":1404},"Event Icon",{"type":40,"tag":204,"props":1406,"children":1407},{},[1408,1410,1418,1420],{"type":46,"value":1409},"Event icons are utilized when Events are dropped straight onto a Map without being part of a View. Some server to server Events won't inherently be triggered from a View and therefore need a visual representation on the Map. Anamap utilizes the ",{"type":40,"tag":64,"props":1411,"children":1415},{"href":1412,"rel":1413},"https://pictogrammers.com/library/mdi/",[1414],"nofollow",[1416],{"type":46,"value":1417},"Material Design Icons set",{"type":46,"value":1419}," from Pictogrammers. Find the name of an icon that represents the Event from the set and add the name to the Event Icon field. ",{"type":40,"tag":1020,"props":1421,"children":1422},{},[1423],{"type":46,"value":1424},"Make sure the icon name includes \"mdi-\" at the beginning.",{"type":40,"tag":177,"props":1426,"children":1427},{},[1428,1432],{"type":40,"tag":204,"props":1429,"children":1430},{},[1431],{"type":46,"value":195},{"type":40,"tag":204,"props":1433,"children":1434},{},[1435],{"type":46,"value":1436},"Fill this with information about what the event is, where it's triggered, and how to use it. The description field is used to enhance search (and the data AI agent if you're on the Enterprise plan).",{"type":40,"tag":60,"props":1438,"children":1439},{},[1440,1442,1446],{"type":46,"value":1441},"After filling out the Event information click the Save button in the upper right corner of the page and your new Event will officially be created.\n",{"type":40,"tag":906,"props":1443,"children":1445},{"alt":1311,"src":1444},"/images/learning/core/event-details-buttons.png",[],{"type":46,"value":1447},"\nAs a last optional step you can create a new Event or duplicate the one you just saved.",{"type":40,"tag":49,"props":1449,"children":1451},{"id":1450},"adding-attributes-to-events",[1452],{"type":46,"value":1453},"Adding Attributes to Events",{"type":40,"tag":130,"props":1455,"children":1456},{},[1457,1459,1465],{"type":46,"value":1458},"Once you've created a few attributes you can add them to Events. If you need help creating Attributes checkout our documentation on ",{"type":40,"tag":64,"props":1460,"children":1462},{"href":1461},"/learning/core/everything-about-attributes#creating-attributes",[1463],{"type":46,"value":1464},"attribute creation",{"type":46,"value":1466},".",{"type":40,"tag":897,"props":1468,"children":1469},{},[1470,1480,1489,1500,1511,1526],{"type":40,"tag":60,"props":1471,"children":1472},{},[1473,1475],{"type":46,"value":1474},"Start by clicking the Add Attributes button.\n",{"type":40,"tag":906,"props":1476,"children":1479},{"alt":1477,"src":1478},"Add Attributes button","/images/learning/core/event-add-attributes.png",[],{"type":40,"tag":60,"props":1481,"children":1482},{},[1483,1485],{"type":46,"value":1484},"The dialog that is displayed shows all of the Attributes that haven't already been added to the Event. You can search the list using search field at the top of the dialog. The search will attempt to the Attribute name and description to find relevant entries. In the Attribute list you can see the scope of the Attribute represented by an icon. Hovering over this icon will show you the tooltip with the scope name.\n",{"type":40,"tag":906,"props":1486,"children":1488},{"alt":1477,"src":1487},"/images/learning/core/event-add-attributes-dialog.png",[],{"type":40,"tag":60,"props":1490,"children":1491},{},[1492,1494,1497],{"type":46,"value":1493},"Click the checkboxes of the Attribute you would like to add to the Event.",{"type":40,"tag":950,"props":1495,"children":1496},{},[],{"type":40,"tag":950,"props":1498,"children":1499},{},[],{"type":40,"tag":60,"props":1501,"children":1502},{},[1503,1505,1508],{"type":46,"value":1504},"Click the Add(#) button at the button of the dialog to add the Attributes to the Event. The number in the button text tells you how many Attributes you've selected.",{"type":40,"tag":950,"props":1506,"children":1507},{},[],{"type":40,"tag":950,"props":1509,"children":1510},{},[],{"type":40,"tag":60,"props":1512,"children":1513},{},[1514,1516,1521],{"type":46,"value":1515},"If the Attribute doesn't exist yet there is a way to create a new Attribute and add it to the Event directly from this page. Clicking the New Attribute button at the buttom of the dialog will open a second dialog that will allow you to define the basic parameters of an Attribute and add it to the Event. ",{"type":40,"tag":1020,"props":1517,"children":1518},{},[1519],{"type":46,"value":1520},"Note: This Attribute isn't actually created/saved until your save the Event.",{"type":40,"tag":906,"props":1522,"children":1525},{"alt":1523,"src":1524},"Add New Attribute button","/images/learning/core/situ-new-attribute-dialog.png",[],{"type":40,"tag":60,"props":1527,"children":1528},{},[1529,1531],{"type":46,"value":1530},"Removing Attributes can be achieved by clicking the delete button next to each attribute on the main part of the Event Details page.\n",{"type":40,"tag":906,"props":1532,"children":1534},{"alt":1523,"src":1533},"/images/learning/core/event-remove-attribute.png",[],{"type":40,"tag":49,"props":1536,"children":1538},{"id":1537},"updating-events",[1539],{"type":46,"value":1221},{"type":40,"tag":130,"props":1541,"children":1542},{},[1543,1545],{"type":46,"value":1544},"In order to update Events you have to go to the Events Index page and click the link icon on the left side of the Event. One on the Event Details page you can update any parameter of the Event or add or remove Attributes and save the saves.\n",{"type":40,"tag":906,"props":1546,"children":1549},{"alt":1547,"src":1548},"Event Details link","/images/learning/core/event-details-link.png",[],{"type":40,"tag":130,"props":1551,"children":1552},{},[1553,1554,1558,1560],{"type":46,"value":1018},{"type":40,"tag":1020,"props":1555,"children":1556},{},[1557],{"type":46,"value":1024},{"type":46,"value":1559}," Once you've made changes to the Event data you can simply hit the Save button in the upper right corner of the page to save the changes. If you have a CDP sync setup the sync will automatically push your changes to the data management aspect of your CDP.\n",{"type":40,"tag":906,"props":1561,"children":1562},{"alt":1547,"src":1444},[],{"type":40,"tag":130,"props":1564,"children":1565},{},[1566,1567,1572,1574],{"type":46,"value":1018},{"type":40,"tag":1020,"props":1568,"children":1569},{},[1570],{"type":46,"value":1571},"Where the Event is Used:",{"type":46,"value":1573}," The Usage section of the Event Details page shows you a list of all the Views and Maps that are currently utilizing the Event. Each of the items in the lists are linked so you can easily jump to those Views or Maps if needed.\n",{"type":40,"tag":906,"props":1575,"children":1577},{"alt":1547,"src":1576},"/images/learning/core/event-usage.png",[],{"type":40,"tag":49,"props":1579,"children":1581},{"id":1580},"deleting-events",[1582],{"type":46,"value":1230},{"type":40,"tag":130,"props":1584,"children":1585},{},[1586,1588],{"type":46,"value":1587},"Deleting Events can be done from the Event Index page. Hover over the Event you'd like to delete and click the red delete button on the right side. After clicking the delete button a dialog will ask you to confirm the deletion.\n",{"type":40,"tag":906,"props":1589,"children":1591},{"alt":1547,"src":1590},"/images/learning/core/event-delete-button.png",[],{"type":40,"tag":49,"props":1593,"children":1595},{"id":1594},"event-usage",[1596],{"type":46,"value":1239},{"type":40,"tag":130,"props":1598,"children":1599},{},[1600,1602,1608],{"type":46,"value":1601},"Events can be added to Views or Maps. For specific information about how to add events to Views, check out our ",{"type":40,"tag":64,"props":1603,"children":1605},{"href":1604},"/learning/core/everything-about-views",[1606],{"type":46,"value":1607},"Views documentation",{"type":46,"value":1466},{"title":8,"searchDepth":1139,"depth":1140,"links":1610},[1611,1612,1613,1614,1615,1616,1617],{"id":51,"depth":1139,"text":54},{"id":126,"depth":1139,"text":69},{"id":1283,"depth":1139,"text":1203},{"id":1450,"depth":1139,"text":1453},{"id":1537,"depth":1139,"text":1221},{"id":1580,"depth":1139,"text":1230},{"id":1594,"depth":1139,"text":1239},"content:learning:core:everything-about-events.md","learning/core/everything-about-events.md","learning/core/everything-about-events",{"loc":1158},{"_path":1623,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":1624,"description":1625,"order":15,"draft":7,"publicationDate":1626,"image":13,"learningSection":14,"learningSortOrder":11,"learningBadge":1627,"learningBadgeTone":1628,"learningAccent":1629,"learningIcon":1630,"learningFilters":1631,"learningTags":1634,"head":1637,"author":1646,"category":35,"body":1649,"_type":1150,"_id":2000,"_source":1152,"_file":2001,"_stem":2002,"_extension":1155,"sitemap":2003},"/learning/core/why-data-context-matters-for-ai","Why Data Context Matters for AI","How adding Attributes, Events, and Views improves Cartos AI results and recommendations.","10/30/2025","Concept","concept","cyan","mdi-brain",[1632,1633,21],"getting-started","cartos-ai",[1635,1636],"Cartos AI","Data Quality",{"meta":1638},[1639,1641,1642,1643],{"name":27,"content":1640},"anamap, ai, data context, attributes, events, views, analytics",{"name":30,"content":31},{"name":33,"content":34},{"name":1644,"content":1645},"author","Alex Schlee",{"id":1647,"name":1645,"role":1648},"alex-schlee","Founder",{"type":37,"children":1650,"toc":1991},[1651,1656,1660,1717,1722,1727,1732,1737,1755,1760,1765,1804,1809,1926,1931,1954,1959,1982,1986],{"type":40,"tag":41,"props":1652,"children":1654},{"id":1653},"why-data-context-matters-for-ai",[1655],{"type":46,"value":1624},{"type":40,"tag":49,"props":1657,"children":1658},{"id":51},[1659],{"type":46,"value":54},{"type":40,"tag":56,"props":1661,"children":1662},{},[1663,1672,1681,1690,1699,1708],{"type":40,"tag":60,"props":1664,"children":1665},{},[1666],{"type":40,"tag":64,"props":1667,"children":1669},{"href":1668},"#overview",[1670],{"type":46,"value":1671},"Overview",{"type":40,"tag":60,"props":1673,"children":1674},{},[1675],{"type":40,"tag":64,"props":1676,"children":1678},{"href":1677},"#what-we-mean-by-data-context",[1679],{"type":46,"value":1680},"What we mean by “data context”",{"type":40,"tag":60,"props":1682,"children":1683},{},[1684],{"type":40,"tag":64,"props":1685,"children":1687},{"href":1686},"#how-context-helps-cartos-ai",[1688],{"type":46,"value":1689},"How context helps Cartos AI",{"type":40,"tag":60,"props":1691,"children":1692},{},[1693],{"type":40,"tag":64,"props":1694,"children":1696},{"href":1695},"#concrete-examples",[1697],{"type":46,"value":1698},"Concrete examples",{"type":40,"tag":60,"props":1700,"children":1701},{},[1702],{"type":40,"tag":64,"props":1703,"children":1705},{"href":1704},"#checklist-what-to-add-first",[1706],{"type":46,"value":1707},"Checklist: What to add first",{"type":40,"tag":60,"props":1709,"children":1710},{},[1711],{"type":40,"tag":64,"props":1712,"children":1714},{"href":1713},"#best-practices",[1715],{"type":46,"value":1716},"Best practices",{"type":40,"tag":49,"props":1718,"children":1720},{"id":1719},"overview",[1721],{"type":46,"value":1671},{"type":40,"tag":130,"props":1723,"children":1724},{},[1725],{"type":46,"value":1726},"AI assistants are only as useful as the information they can reason about. For analytics and implementation guidance this means the agent needs structured, accurate context about what you track and how you name things. Adding Attributes, Events, and Views in Anamap gives Cartos AI the vocabulary and structure it needs to make precise recommendations, generate queries, and spot gaps in your implementation.",{"type":40,"tag":49,"props":1728,"children":1730},{"id":1729},"what-we-mean-by-data-context",[1731],{"type":46,"value":1680},{"type":40,"tag":130,"props":1733,"children":1734},{},[1735],{"type":46,"value":1736},"Data context is the structured metadata about your tracking implementation:",{"type":40,"tag":56,"props":1738,"children":1739},{},[1740,1745,1750],{"type":40,"tag":60,"props":1741,"children":1742},{},[1743],{"type":46,"value":1744},"Attributes: named fields (e.g., user_tier, product_category, price) and their types",{"type":40,"tag":60,"props":1746,"children":1747},{},[1748],{"type":46,"value":1749},"Events: actions or occurrences you record (e.g., purchase, sign_up, view_item)",{"type":40,"tag":60,"props":1751,"children":1752},{},[1753],{"type":46,"value":1754},"Views: logical groupings of pages or screens where events occur",{"type":40,"tag":130,"props":1756,"children":1757},{},[1758],{"type":46,"value":1759},"Together these describe what data exists, where it comes from, and how it should be interpreted.",{"type":40,"tag":49,"props":1761,"children":1763},{"id":1762},"how-context-helps-cartos-ai",[1764],{"type":46,"value":1689},{"type":40,"tag":897,"props":1766,"children":1767},{},[1768,1789,1794,1799],{"type":40,"tag":60,"props":1769,"children":1770},{},[1771,1773,1779,1781,1787],{"type":46,"value":1772},"Better understanding of domain: When the assistant knows that ",{"type":40,"tag":880,"props":1774,"children":1776},{"className":1775},[],[1777],{"type":46,"value":1778},"user_tier",{"type":46,"value":1780}," is a string with values ",{"type":40,"tag":880,"props":1782,"children":1784},{"className":1783},[],[1785],{"type":46,"value":1786},"free|pro|enterprise",{"type":46,"value":1788},", it can answer \"How many pro users converted last month?\" without guessing column names.",{"type":40,"tag":60,"props":1790,"children":1791},{},[1792],{"type":46,"value":1793},"Fewer ambiguous recommendations: Without context the agent may suggest broad, incorrect fixes. With context it can recommend exact attribute names, show example filter logic, or highlight missing events.",{"type":40,"tag":60,"props":1795,"children":1796},{},[1797],{"type":46,"value":1798},"More targeted queries: The assistant can generate accurate analytics queries (GA4, Amplitude, SQL) using real attribute and event names, saving time and reducing iteration.",{"type":40,"tag":60,"props":1800,"children":1801},{},[1802],{"type":46,"value":1803},"Improved troubleshooting: When a tracking gap exists, the agent can point to the exact view or event where instrumentation is missing.",{"type":40,"tag":49,"props":1805,"children":1807},{"id":1806},"concrete-examples",[1808],{"type":46,"value":1698},{"type":40,"tag":56,"props":1810,"children":1811},{},[1812,1845,1882],{"type":40,"tag":60,"props":1813,"children":1814},{},[1815,1817],{"type":46,"value":1816},"Example 1 - Attribute clarity",{"type":40,"tag":56,"props":1818,"children":1819},{},[1820,1825],{"type":40,"tag":60,"props":1821,"children":1822},{},[1823],{"type":46,"value":1824},"Without context: \"Filter by plan\" is ambiguous.",{"type":40,"tag":60,"props":1826,"children":1827},{},[1828,1830,1835,1837,1843],{"type":46,"value":1829},"With context: knowing the Attribute ",{"type":40,"tag":880,"props":1831,"children":1833},{"className":1832},[],[1834],{"type":46,"value":1778},{"type":46,"value":1836}," exists with values ",{"type":40,"tag":880,"props":1838,"children":1840},{"className":1839},[],[1841],{"type":46,"value":1842},"free, pro, enterprise",{"type":46,"value":1844}," allows the agent to build exact filters and suggest cohort definitions.",{"type":40,"tag":60,"props":1846,"children":1847},{},[1848,1850],{"type":46,"value":1849},"Example 2 - Missing event detection",{"type":40,"tag":56,"props":1851,"children":1852},{},[1853],{"type":40,"tag":60,"props":1854,"children":1855},{},[1856,1858,1864,1866,1872,1874,1880],{"type":46,"value":1857},"With Views and Events registered, the agent can detect that ",{"type":40,"tag":880,"props":1859,"children":1861},{"className":1860},[],[1862],{"type":46,"value":1863},"checkout_started",{"type":46,"value":1865}," exists on ",{"type":40,"tag":880,"props":1867,"children":1869},{"className":1868},[],[1870],{"type":46,"value":1871},"Cart View",{"type":46,"value":1873}," but ",{"type":40,"tag":880,"props":1875,"children":1877},{"className":1876},[],[1878],{"type":46,"value":1879},"checkout_completed",{"type":46,"value":1881}," has no matching event and recommend adding it.",{"type":40,"tag":60,"props":1883,"children":1884},{},[1885,1887],{"type":46,"value":1886},"Example 3 - Better mapping suggestions",{"type":40,"tag":56,"props":1888,"children":1889},{},[1890],{"type":40,"tag":60,"props":1891,"children":1892},{},[1893,1895,1901,1903,1909,1911,1917,1918,1924],{"type":46,"value":1894},"If you have a ",{"type":40,"tag":880,"props":1896,"children":1898},{"className":1897},[],[1899],{"type":46,"value":1900},"product_sku",{"type":46,"value":1902}," attribute and ",{"type":40,"tag":880,"props":1904,"children":1906},{"className":1905},[],[1907],{"type":46,"value":1908},"view_item",{"type":46,"value":1910}," event defined, the assistant can recommend attaching ",{"type":40,"tag":880,"props":1912,"children":1914},{"className":1913},[],[1915],{"type":46,"value":1916},"price",{"type":46,"value":1129},{"type":40,"tag":880,"props":1919,"children":1921},{"className":1920},[],[1922],{"type":46,"value":1923},"category",{"type":46,"value":1925}," to Views where product analytics are needed.",{"type":40,"tag":49,"props":1927,"children":1929},{"id":1928},"checklist-what-to-add-first",[1930],{"type":46,"value":1707},{"type":40,"tag":897,"props":1932,"children":1933},{},[1934,1939,1944,1949],{"type":40,"tag":60,"props":1935,"children":1936},{},[1937],{"type":46,"value":1938},"Add Attributes for your core user identifiers (e.g., customer_id, user_email).",{"type":40,"tag":60,"props":1940,"children":1941},{},[1942],{"type":46,"value":1943},"Add Events for conversion actions (e.g., purchase, signup, add_to_cart).",{"type":40,"tag":60,"props":1945,"children":1946},{},[1947],{"type":46,"value":1948},"Add Views for major page types (e.g., product page, cart page, checkout page).",{"type":40,"tag":60,"props":1950,"children":1951},{},[1952],{"type":46,"value":1953},"Document common attribute values (enums) for categorical fields.",{"type":40,"tag":49,"props":1955,"children":1957},{"id":1956},"best-practices",[1958],{"type":46,"value":1716},{"type":40,"tag":56,"props":1960,"children":1961},{},[1962,1967,1972,1977],{"type":40,"tag":60,"props":1963,"children":1964},{},[1965],{"type":46,"value":1966},"Use clear, consistent naming conventions (snake_case or camelCase). Keep names short and descriptive.",{"type":40,"tag":60,"props":1968,"children":1969},{},[1970],{"type":46,"value":1971},"Prefer explicit types (Text, Integer, Decimal, Boolean) and add validation where possible.",{"type":40,"tag":60,"props":1973,"children":1974},{},[1975],{"type":46,"value":1976},"Group related Attributes in Views so the agent can reason about where events happen.",{"type":40,"tag":60,"props":1978,"children":1979},{},[1980],{"type":46,"value":1981},"Keep your attribute descriptions concise. Explain the meaning and typical values.",{"type":40,"tag":1983,"props":1984,"children":1985},"hr",{},[],{"type":40,"tag":130,"props":1987,"children":1988},{},[1989],{"type":46,"value":1990},"If you’d like, use this page as a checklist when you open the \"Improve your data context\" menu. The agent will immediately benefit from any Attributes, Events, or Views you add.",{"title":8,"searchDepth":1139,"depth":1140,"links":1992},[1993,1994,1995,1996,1997,1998,1999],{"id":51,"depth":1139,"text":54},{"id":1719,"depth":1139,"text":1671},{"id":1729,"depth":1139,"text":1680},{"id":1762,"depth":1139,"text":1689},{"id":1806,"depth":1139,"text":1698},{"id":1928,"depth":1139,"text":1707},{"id":1956,"depth":1139,"text":1716},"content:learning:core:why-data-context-matters-for-ai.md","learning/core/why-data-context-matters-for-ai.md","learning/core/why-data-context-matters-for-ai",{"loc":1623},{"_path":2005,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":2006,"description":2007,"order":2008,"draft":7,"publicationDate":1626,"image":13,"learningSection":2009,"learningSortOrder":15,"learningBadge":2010,"learningBadgeTone":2011,"learningAccent":2012,"learningIcon":2013,"learningFilters":2014,"learningTags":2015,"head":2017,"author":2024,"category":35,"body":2025,"_type":1150,"_id":2389,"_source":1152,"_file":2390,"_stem":2391,"_extension":1155,"sitemap":2392},"/learning/core/how-to-prompt-anamap-ai","How to Prompt Anamap AI: Practical Guide","A short, practical guide to writing prompts that get fast, accurate, and actionable results from Cartos AI.",11,"working-with-cartos","Guide","guide","amber","mdi-message-text-outline",[1632,1633],[2016,1635],"Prompting",{"meta":2018},[2019,2021,2022,2023],{"name":27,"content":2020},"anamap, prompt guide, prompting, ai assistant, analytics, ga4, amplitude",{"name":30,"content":31},{"name":33,"content":34},{"name":1644,"content":1645},{"id":1647,"name":1645,"role":1648},{"type":37,"children":2026,"toc":2380},[2027,2032,2036,2093,2098,2103,2108,2113,2118,2123,2141,2146,2151,2156,2174,2179,2184,2192,2197,2215,2220,2228,2233,2241,2246,2255,2260,2265,2270,2298,2303,2316,2321,2352,2357,2362,2367,2372,2375],{"type":40,"tag":41,"props":2028,"children":2030},{"id":2029},"how-to-prompt-anamap-ai-practical-guide",[2031],{"type":46,"value":2006},{"type":40,"tag":49,"props":2033,"children":2034},{"id":51},[2035],{"type":46,"value":54},{"type":40,"tag":56,"props":2037,"children":2038},{},[2039,2048,2057,2066,2075,2084],{"type":40,"tag":60,"props":2040,"children":2041},{},[2042],{"type":40,"tag":64,"props":2043,"children":2045},{"href":2044},"#why-prompts-matter-and-why-vagueness-can-be-okay",[2046],{"type":46,"value":2047},"Why prompts matter (and why vagueness can be okay)",{"type":40,"tag":60,"props":2049,"children":2050},{},[2051],{"type":40,"tag":64,"props":2052,"children":2054},{"href":2053},"#flexible-prompt-patterns",[2055],{"type":46,"value":2056},"Flexible prompt patterns",{"type":40,"tag":60,"props":2058,"children":2059},{},[2060],{"type":40,"tag":64,"props":2061,"children":2063},{"href":2062},"#short-prompts-that-work",[2064],{"type":46,"value":2065},"Short prompts that work",{"type":40,"tag":60,"props":2067,"children":2068},{},[2069],{"type":40,"tag":64,"props":2070,"children":2072},{"href":2071},"#examples-you-can-copy--including-charts--forecasts",[2073],{"type":46,"value":2074},"Examples you can copy — including charts & forecasts",{"type":40,"tag":60,"props":2076,"children":2077},{},[2078],{"type":40,"tag":64,"props":2079,"children":2081},{"href":2080},"#helpful-practices-dos-and-small-caveats",[2082],{"type":46,"value":2083},"Helpful practices (do's) and small caveats",{"type":40,"tag":60,"props":2085,"children":2086},{},[2087],{"type":40,"tag":64,"props":2088,"children":2090},{"href":2089},"#advanced-tips-for-data-savvy-prompts",[2091],{"type":46,"value":2092},"Advanced tips for data-savvy prompts",{"type":40,"tag":49,"props":2094,"children":2096},{"id":2095},"why-prompts-matter-and-why-vagueness-can-be-okay",[2097],{"type":46,"value":2047},{"type":40,"tag":130,"props":2099,"children":2100},{},[2101],{"type":46,"value":2102},"Anamap AI is designed to do deep, exploratory work — including root-cause analysis — when you ask broad, human questions like \"Why is revenue down?\" That vagueness can be a strength: the agent will generate hypotheses, check possible drivers (traffic, conversion, product mix, attribution changes), and suggest experiments or queries to validate each idea.",{"type":40,"tag":130,"props":2104,"children":2105},{},[2106],{"type":46,"value":2107},"That said, the assistant performs best when your Anamap project has meaningful attributes, events, and views filled out. Those data-layer definitions give the agent precise handles it can use when building queries, charts, or recommendations.",{"type":40,"tag":130,"props":2109,"children":2110},{},[2111],{"type":46,"value":2112},"So: be creative and ask hard questions. The AI will try to fill in gaps, but providing additional context (attributes, events, date windows) improves precision and lets you get runnable queries and charts right away.",{"type":40,"tag":49,"props":2114,"children":2116},{"id":2115},"flexible-prompt-patterns",[2117],{"type":46,"value":2056},{"type":40,"tag":130,"props":2119,"children":2120},{},[2121],{"type":46,"value":2122},"You don't need a rigid template to get useful answers. Here are a few flexible patterns you can use depending on how much time you want to spend composing the prompt.",{"type":40,"tag":56,"props":2124,"children":2125},{},[2126,2131,2136],{"type":40,"tag":60,"props":2127,"children":2128},{},[2129],{"type":46,"value":2130},"Minimal / human prompt (fast):\n\"Why is revenue down?\"",{"type":40,"tag":60,"props":2132,"children":2133},{},[2134],{"type":46,"value":2135},"Guided exploratory prompt (better):\n\"Why is revenue down for the last 30 days? Please analyze traffic, conversion, and product mix, list the top 3 hypotheses, and suggest 3 checks (with queries) to validate each hypothesis. Show a small chart if it helps.\"",{"type":40,"tag":60,"props":2137,"children":2138},{},[2139],{"type":46,"value":2140},"Precise/actionable prompt (most specific):\n\"Context: Company Acme, attributes: user_tier (free, pro, enterprise), country, product_category. Task: Compare revenue month-over-month for last 60 days; show a line chart of total revenue and a bar chart breaking revenue down by country for the most recent week. Provide SQL/GA4/Amplitude query examples and a one-paragraph summary of likely causes.\"",{"type":40,"tag":130,"props":2142,"children":2143},{},[2144],{"type":46,"value":2145},"You can mix-and-match these patterns — start with a short question and follow up with clarifying requests.",{"type":40,"tag":49,"props":2147,"children":2149},{"id":2148},"short-prompts-that-work",[2150],{"type":46,"value":2065},{"type":40,"tag":130,"props":2152,"children":2153},{},[2154],{"type":46,"value":2155},"Short human prompts are fine because the assistant will ask clarifying questions or propose checks. Use short prompts when you want an exploratory starting point:",{"type":40,"tag":56,"props":2157,"children":2158},{},[2159,2164,2169],{"type":40,"tag":60,"props":2160,"children":2161},{},[2162],{"type":46,"value":2163},"\"Why are conversions down this week?\"",{"type":40,"tag":60,"props":2165,"children":2166},{},[2167],{"type":46,"value":2168},"\"Which user segments had the largest revenue decline last month?\"",{"type":40,"tag":60,"props":2170,"children":2171},{},[2172],{"type":46,"value":2173},"\"Forecast revenue for next quarter and explain assumptions.\"",{"type":40,"tag":130,"props":2175,"children":2176},{},[2177],{"type":46,"value":2178},"If you want more precise outputs, attach one-line context after the question (attributes, date range, or the view name).",{"type":40,"tag":49,"props":2180,"children":2182},{"id":2181},"examples-you-can-copy-including-charts-forecasts",[2183],{"type":46,"value":2074},{"type":40,"tag":897,"props":2185,"children":2186},{},[2187],{"type":40,"tag":60,"props":2188,"children":2189},{},[2190],{"type":46,"value":2191},"Root-cause analysis (open-ended)",{"type":40,"tag":130,"props":2193,"children":2194},{},[2195],{"type":46,"value":2196},"\"Why is revenue down? Please provide:",{"type":40,"tag":56,"props":2198,"children":2199},{},[2200,2205,2210],{"type":40,"tag":60,"props":2201,"children":2202},{},[2203],{"type":46,"value":2204},"Top 5 hypotheses ranked by plausibility",{"type":40,"tag":60,"props":2206,"children":2207},{},[2208],{"type":46,"value":2209},"For each hypothesis, a short check (query or metric to inspect)",{"type":40,"tag":60,"props":2211,"children":2212},{},[2213],{"type":46,"value":2214},"One recommended action for each hypothesis\nFormat: numbered list + suggested chart types\"",{"type":40,"tag":130,"props":2216,"children":2217},{},[2218],{"type":46,"value":2219},"Example assistant outputs might include a time series line chart of revenue, a conversion funnel chart, and a bar chart of revenue by country or product.",{"type":40,"tag":897,"props":2221,"children":2222},{"start":1139},[2223],{"type":40,"tag":60,"props":2224,"children":2225},{},[2226],{"type":46,"value":2227},"Ask for specific chart types",{"type":40,"tag":130,"props":2229,"children":2230},{},[2231],{"type":46,"value":2232},"\"Task: Show revenue trends for the last 90 days as a line chart (7-day smoothing). Also show revenue by country as a stacked bar chart for the latest week. Explain any notable changes in 3 bullets.\"",{"type":40,"tag":897,"props":2234,"children":2235},{"start":1140},[2236],{"type":40,"tag":60,"props":2237,"children":2238},{},[2239],{"type":46,"value":2240},"Forecasting request",{"type":40,"tag":130,"props":2242,"children":2243},{},[2244],{"type":46,"value":2245},"\"Task: Forecast total revenue for next quarter using simple time-series (ARIMA or exponential smoothing). Provide the forecast numbers, a 95% confidence interval, and a brief note on key assumptions. Also list 2 data checks to validate before trusting the forecast.\"",{"type":40,"tag":897,"props":2247,"children":2249},{"start":2248},4,[2250],{"type":40,"tag":60,"props":2251,"children":2252},{},[2253],{"type":46,"value":2254},"Build queries and validation checks",{"type":40,"tag":130,"props":2256,"children":2257},{},[2258],{"type":46,"value":2259},"\"Context: attribute user_tier values are free, pro, enterprise. Task: Give an Amplitude (or SQL) query to compute 7-day conversion rate by tier, and a validation checklist to ensure the data mapping is correct.\"",{"type":40,"tag":49,"props":2261,"children":2263},{"id":2262},"helpful-practices-dos-and-small-caveats",[2264],{"type":46,"value":2083},{"type":40,"tag":130,"props":2266,"children":2267},{},[2268],{"type":46,"value":2269},"Do:",{"type":40,"tag":56,"props":2271,"children":2272},{},[2273,2278,2283,2288,2293],{"type":40,"tag":60,"props":2274,"children":2275},{},[2276],{"type":46,"value":2277},"Ask creative, hard questions — the agent is built to explore and explain.",{"type":40,"tag":60,"props":2279,"children":2280},{},[2281],{"type":46,"value":2282},"Request chart types when a visual helps (line, bar, stacked, heatmap, funnel). If a chart doesn't make sense for the requested insight, the agent will say so.",{"type":40,"tag":60,"props":2284,"children":2285},{},[2286],{"type":46,"value":2287},"Ask for forecasts, scenarios (what-if), or action plans — you can get both numbers and suggested next steps.",{"type":40,"tag":60,"props":2289,"children":2290},{},[2291],{"type":46,"value":2292},"Provide the names of important attributes, events, or view IDs if you want runnable code/query output immediately.",{"type":40,"tag":60,"props":2294,"children":2295},{},[2296],{"type":46,"value":2297},"Iterate: start broad, then ask follow-ups that narrow or test hypotheses.",{"type":40,"tag":130,"props":2299,"children":2300},{},[2301],{"type":46,"value":2302},"Small caveats:",{"type":40,"tag":56,"props":2304,"children":2305},{},[2306,2311],{"type":40,"tag":60,"props":2307,"children":2308},{},[2309],{"type":46,"value":2310},"If you don't provide attribute/event definitions, the assistant may propose reasonable guesses; verify proposed column names before running suggested queries.",{"type":40,"tag":60,"props":2312,"children":2313},{},[2314],{"type":46,"value":2315},"Forecasts are only as good as the input data; ask for assumptions and validation checks.",{"type":40,"tag":49,"props":2317,"children":2319},{"id":2318},"advanced-tips-for-data-savvy-prompts",[2320],{"type":46,"value":2092},{"type":40,"tag":56,"props":2322,"children":2323},{},[2324,2337,2342,2347],{"type":40,"tag":60,"props":2325,"children":2326},{},[2327,2329,2335],{"type":46,"value":2328},"Give example values for categorical fields so filters are exact (e.g., ",{"type":40,"tag":880,"props":2330,"children":2332},{"className":2331},[],[2333],{"type":46,"value":2334},"country = US, CA, GB",{"type":46,"value":2336},").",{"type":40,"tag":60,"props":2338,"children":2339},{},[2340],{"type":46,"value":2341},"Ask for smoothing/windows explicitly: \"7-day smoothing\" or \"week-over-week comparison\".",{"type":40,"tag":60,"props":2343,"children":2344},{},[2345],{"type":46,"value":2346},"When asking for code/API payloads, request inline comments or a brief explanation for each step.",{"type":40,"tag":60,"props":2348,"children":2349},{},[2350],{"type":46,"value":2351},"Ask the assistant to produce a short validation checklist (what to inspect after applying a fix).",{"type":40,"tag":130,"props":2353,"children":2354},{},[2355],{"type":46,"value":2356},"Sample prompt snippets you can paste:",{"type":40,"tag":130,"props":2358,"children":2359},{},[2360],{"type":46,"value":2361},"\"Show revenue as a line chart, 7-day moving average, last 90 days. Then break down the last 14 days by product_category as a bar chart.\"",{"type":40,"tag":130,"props":2363,"children":2364},{},[2365],{"type":46,"value":2366},"\"Forecast next quarter revenue with a simple exponential smoothing model; show forecast and 80/95% intervals and list 3 assumptions.\"",{"type":40,"tag":130,"props":2368,"children":2369},{},[2370],{"type":46,"value":2371},"\"Run a root-cause analysis for the decline in desktop conversions vs mobile: give top 3 hypotheses and one query or chart to validate each.\"",{"type":40,"tag":1983,"props":2373,"children":2374},{},[],{"type":40,"tag":130,"props":2376,"children":2377},{},[2378],{"type":46,"value":2379},"Use this guide as a quick reference when you click \"Ask the agent.\" The assistant will often handle vague questions well — but giving it attributes, events, and views from your Anamap project will make its answers faster, more accurate, and directly runnable. If you'd like, we can add small prompt templates to the UI that insert these examples into the chat input.",{"title":8,"searchDepth":1139,"depth":1140,"links":2381},[2382,2383,2384,2385,2386,2387,2388],{"id":51,"depth":1139,"text":54},{"id":2095,"depth":1139,"text":2047},{"id":2115,"depth":1139,"text":2056},{"id":2148,"depth":1139,"text":2065},{"id":2181,"depth":1139,"text":2074},{"id":2262,"depth":1139,"text":2083},{"id":2318,"depth":1139,"text":2092},"content:learning:core:how-to-prompt-anamap-ai.md","learning/core/how-to-prompt-anamap-ai.md","learning/core/how-to-prompt-anamap-ai",{"loc":2005},{"_path":2394,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":2395,"description":2396,"order":2397,"draft":7,"publicationDate":2398,"image":13,"learningSection":2399,"learningSortOrder":15,"learningBadge":2400,"learningBadgeTone":2401,"learningAccent":18,"learningIcon":2402,"learningFilters":2403,"learningTags":2405,"head":2408,"author":2415,"category":35,"body":2418,"_type":1150,"_id":4172,"_source":1152,"_file":4173,"_stem":4174,"_extension":1155,"sitemap":4175},"/learning/core/cartos-release-trigger-setup","Cartos Release Trigger: Setup & Requirements","How to trigger Cartos from CI/CD release events, required headers, payload shape, and token setup.",12,"03/01/2026","integrations-and-setup","Setup","setup","mdi-rocket-launch",[2404],"integrations",[2406,2407],"Release Trigger","CI/CD",{"meta":2409},[2410,2412,2413],{"name":27,"content":2411},"cartos, release webhook, ci cd, anamap, webhook token, release monitoring",{"name":30,"content":31},{"name":1644,"content":2414},"Anamap Team",{"id":2416,"name":2414,"role":2417},"anamap-team","Product",{"type":37,"children":2419,"toc":4161},[2420,2425,2430,2442,2455,2484,2490,2502,2507,2519,2525,2530,2559,2564,2611,2617,2622,2663,2668,2674,2688,2693,2948,2954,2965,2970,2975,2998,3003,3029,3034,3277,3282,3637,3643,3648,3653,3990,3995,4007,4012,4018,4054,4060,4065,4077,4082,4112,4118,4136,4155],{"type":40,"tag":41,"props":2421,"children":2423},{"id":2422},"cartos-release-trigger-setup-requirements",[2424],{"type":46,"value":2395},{"type":40,"tag":130,"props":2426,"children":2427},{},[2428],{"type":46,"value":2429},"Use this when you want CI/CD (GitHub Actions, GitLab, CircleCI, etc.) to notify Cartos about a release so Cartos can start ownership and impact follow-up.",{"type":40,"tag":130,"props":2431,"children":2432},{},[2433,2435,2441],{"type":46,"value":2434},"If you need help with where to configure the company-level token in the product, start with ",{"type":40,"tag":64,"props":2436,"children":2438},{"href":2437},"/learning/core/company-settings-guide",[2439],{"type":46,"value":2440},"Company Settings: Configure Cartos, Integrations, and Webhooks",{"type":46,"value":1466},{"type":40,"tag":130,"props":2443,"children":2444},{},[2445,2447,2454],{"type":46,"value":2446},"If you want a ready-made GitHub Actions integration, use the ",{"type":40,"tag":64,"props":2448,"children":2451},{"href":2449,"rel":2450},"https://github.com/marketplace/actions/anamap-release-trigger",[1414],[2452],{"type":46,"value":2453},"Cartos Release Trigger action on GitHub Marketplace",{"type":46,"value":1466},{"type":40,"tag":130,"props":2456,"children":2457},{},[2458,2460,2466,2468,2474,2476,2482],{"type":46,"value":2459},"Prefer the reusable workflow for copy-paste setup. Add ",{"type":40,"tag":880,"props":2461,"children":2463},{"className":2462},[],[2464],{"type":46,"value":2465},"ANAMAP_COMPANY_ID",{"type":46,"value":2467}," as a repository variable and ",{"type":40,"tag":880,"props":2469,"children":2471},{"className":2470},[],[2472],{"type":46,"value":2473},"ANAMAP_RELEASE_TRIGGER_TOKEN",{"type":46,"value":2475}," as a repository secret, then call ",{"type":40,"tag":880,"props":2477,"children":2479},{"className":2478},[],[2480],{"type":46,"value":2481},"alex-schlee/anamap-release-trigger/.github/workflows/notify-anamap.yml@v1",{"type":46,"value":2483}," from your workflow.",{"type":40,"tag":49,"props":2485,"children":2487},{"id":2486},"endpoint",[2488],{"type":46,"value":2489},"Endpoint",{"type":40,"tag":56,"props":2491,"children":2492},{},[2493],{"type":40,"tag":60,"props":2494,"children":2495},{},[2496],{"type":40,"tag":880,"props":2497,"children":2499},{"className":2498},[],[2500],{"type":46,"value":2501},"POST /api/public/cartos-release-trigger",{"type":40,"tag":130,"props":2503,"children":2504},{},[2505],{"type":46,"value":2506},"Example full URL:",{"type":40,"tag":56,"props":2508,"children":2509},{},[2510],{"type":40,"tag":60,"props":2511,"children":2512},{},[2513],{"type":40,"tag":880,"props":2514,"children":2516},{"className":2515},[],[2517],{"type":46,"value":2518},"https://your-anamap-domain.com/api/public/cartos-release-trigger",{"type":40,"tag":49,"props":2520,"children":2522},{"id":2521},"authentication-required-in-production",[2523],{"type":46,"value":2524},"Authentication (required in production)",{"type":40,"tag":130,"props":2526,"children":2527},{},[2528],{"type":46,"value":2529},"Cartos validates one of the following token sources:",{"type":40,"tag":897,"props":2531,"children":2532},{},[2533,2538],{"type":40,"tag":60,"props":2534,"children":2535},{},[2536],{"type":46,"value":2537},"Company-level release token (configured in Company Settings)",{"type":40,"tag":60,"props":2539,"children":2540},{},[2541,2543,2549,2551,2557],{"type":46,"value":2542},"Environment fallback token (",{"type":40,"tag":880,"props":2544,"children":2546},{"className":2545},[],[2547],{"type":46,"value":2548},"AGENT_RELEASE_WEBHOOK_TOKEN",{"type":46,"value":2550}," or ",{"type":40,"tag":880,"props":2552,"children":2554},{"className":2553},[],[2555],{"type":46,"value":2556},"AGENT_EMAIL_WEBHOOK_TOKEN",{"type":46,"value":2558},")",{"type":40,"tag":130,"props":2560,"children":2561},{},[2562],{"type":46,"value":2563},"Send the token in one of these locations:",{"type":40,"tag":56,"props":2565,"children":2566},{},[2567,2580,2590,2600],{"type":40,"tag":60,"props":2568,"children":2569},{},[2570,2572,2578],{"type":46,"value":2571},"Header: ",{"type":40,"tag":880,"props":2573,"children":2575},{"className":2574},[],[2576],{"type":46,"value":2577},"x-cartos-release-trigger-token: \u003Ctoken>",{"type":46,"value":2579}," (recommended)",{"type":40,"tag":60,"props":2581,"children":2582},{},[2583,2584],{"type":46,"value":2571},{"type":40,"tag":880,"props":2585,"children":2587},{"className":2586},[],[2588],{"type":46,"value":2589},"Authorization: Bearer \u003Ctoken>",{"type":40,"tag":60,"props":2591,"children":2592},{},[2593,2594],{"type":46,"value":2571},{"type":40,"tag":880,"props":2595,"children":2597},{"className":2596},[],[2598],{"type":46,"value":2599},"x-webhook-token: \u003Ctoken>",{"type":40,"tag":60,"props":2601,"children":2602},{},[2603,2605],{"type":46,"value":2604},"Query string: ",{"type":40,"tag":880,"props":2606,"children":2608},{"className":2607},[],[2609],{"type":46,"value":2610},"?token=\u003Ctoken>",{"type":40,"tag":49,"props":2612,"children":2614},{"id":2613},"where-to-manage-the-token-in-anamap",[2615],{"type":46,"value":2616},"Where to manage the token in Anamap",{"type":40,"tag":130,"props":2618,"children":2619},{},[2620],{"type":46,"value":2621},"If you want a company-specific webhook credential instead of relying only on an environment fallback token:",{"type":40,"tag":897,"props":2623,"children":2624},{},[2625,2630,2635,2647,2658],{"type":40,"tag":60,"props":2626,"children":2627},{},[2628],{"type":46,"value":2629},"Open the Company Dashboard for the correct company.",{"type":40,"tag":60,"props":2631,"children":2632},{},[2633],{"type":46,"value":2634},"Open Company Settings.",{"type":40,"tag":60,"props":2636,"children":2637},{},[2638,2640,2645],{"type":46,"value":2639},"Find the ",{"type":40,"tag":1020,"props":2641,"children":2642},{},[2643],{"type":46,"value":2644},"Cartos Release Trigger",{"type":46,"value":2646}," section.",{"type":40,"tag":60,"props":2648,"children":2649},{},[2650,2652,2657],{"type":46,"value":2651},"Paste a new token into ",{"type":40,"tag":1020,"props":2653,"children":2654},{},[2655],{"type":46,"value":2656},"Release Webhook Token (set or rotate)",{"type":46,"value":1466},{"type":40,"tag":60,"props":2659,"children":2660},{},[2661],{"type":46,"value":2662},"Save the token.",{"type":40,"tag":130,"props":2664,"children":2665},{},[2666],{"type":46,"value":2667},"You can also disable the company-level token from that same settings block.",{"type":40,"tag":49,"props":2669,"children":2671},{"id":2670},"minimum-payload-required",[2672],{"type":46,"value":2673},"Minimum payload required",{"type":40,"tag":56,"props":2675,"children":2676},{},[2677],{"type":40,"tag":60,"props":2678,"children":2679},{},[2680,2686],{"type":40,"tag":880,"props":2681,"children":2683},{"className":2682},[],[2684],{"type":46,"value":2685},"companyId",{"type":46,"value":2687}," (UUID) is required",{"type":40,"tag":130,"props":2689,"children":2690},{},[2691],{"type":46,"value":2692},"Recommended payload:",{"type":40,"tag":2694,"props":2695,"children":2699},"pre",{"className":2696,"code":2697,"language":2698,"meta":8,"style":8},"language-json shiki shiki-themes github-dark","{\n  \"provider\": \"github-actions\",\n  \"companyId\": \"\u003Ccompany-uuid>\",\n  \"eventType\": \"release\",\n  \"eventId\": \"release-2026-03-01-001\",\n  \"releaseName\": \"Checkout Funnel Update\",\n  \"description\": \"Improved checkout UX and instrumentation updates.\",\n  \"tags\": [\"checkout\", \"funnel\"],\n  \"changeType\": \"new_feature\",\n  \"version\": \"v2.4.0\",\n  \"environment\": \"prod\"\n}\n","json",[2700],{"type":40,"tag":880,"props":2701,"children":2702},{"__ignoreMap":8},[2703,2713,2738,2759,2780,2802,2824,2846,2880,2902,2923,2940],{"type":40,"tag":562,"props":2704,"children":2706},{"class":2705,"line":1161},"line",[2707],{"type":40,"tag":562,"props":2708,"children":2710},{"style":2709},"--shiki-default:#E1E4E8",[2711],{"type":46,"value":2712},"{\n",{"type":40,"tag":562,"props":2714,"children":2715},{"class":2705,"line":1139},[2716,2722,2727,2733],{"type":40,"tag":562,"props":2717,"children":2719},{"style":2718},"--shiki-default:#79B8FF",[2720],{"type":46,"value":2721},"  \"provider\"",{"type":40,"tag":562,"props":2723,"children":2724},{"style":2709},[2725],{"type":46,"value":2726},": ",{"type":40,"tag":562,"props":2728,"children":2730},{"style":2729},"--shiki-default:#9ECBFF",[2731],{"type":46,"value":2732},"\"github-actions\"",{"type":40,"tag":562,"props":2734,"children":2735},{"style":2709},[2736],{"type":46,"value":2737},",\n",{"type":40,"tag":562,"props":2739,"children":2740},{"class":2705,"line":1140},[2741,2746,2750,2755],{"type":40,"tag":562,"props":2742,"children":2743},{"style":2718},[2744],{"type":46,"value":2745},"  \"companyId\"",{"type":40,"tag":562,"props":2747,"children":2748},{"style":2709},[2749],{"type":46,"value":2726},{"type":40,"tag":562,"props":2751,"children":2752},{"style":2729},[2753],{"type":46,"value":2754},"\"\u003Ccompany-uuid>\"",{"type":40,"tag":562,"props":2756,"children":2757},{"style":2709},[2758],{"type":46,"value":2737},{"type":40,"tag":562,"props":2760,"children":2761},{"class":2705,"line":2248},[2762,2767,2771,2776],{"type":40,"tag":562,"props":2763,"children":2764},{"style":2718},[2765],{"type":46,"value":2766},"  \"eventType\"",{"type":40,"tag":562,"props":2768,"children":2769},{"style":2709},[2770],{"type":46,"value":2726},{"type":40,"tag":562,"props":2772,"children":2773},{"style":2729},[2774],{"type":46,"value":2775},"\"release\"",{"type":40,"tag":562,"props":2777,"children":2778},{"style":2709},[2779],{"type":46,"value":2737},{"type":40,"tag":562,"props":2781,"children":2783},{"class":2705,"line":2782},5,[2784,2789,2793,2798],{"type":40,"tag":562,"props":2785,"children":2786},{"style":2718},[2787],{"type":46,"value":2788},"  \"eventId\"",{"type":40,"tag":562,"props":2790,"children":2791},{"style":2709},[2792],{"type":46,"value":2726},{"type":40,"tag":562,"props":2794,"children":2795},{"style":2729},[2796],{"type":46,"value":2797},"\"release-2026-03-01-001\"",{"type":40,"tag":562,"props":2799,"children":2800},{"style":2709},[2801],{"type":46,"value":2737},{"type":40,"tag":562,"props":2803,"children":2805},{"class":2705,"line":2804},6,[2806,2811,2815,2820],{"type":40,"tag":562,"props":2807,"children":2808},{"style":2718},[2809],{"type":46,"value":2810},"  \"releaseName\"",{"type":40,"tag":562,"props":2812,"children":2813},{"style":2709},[2814],{"type":46,"value":2726},{"type":40,"tag":562,"props":2816,"children":2817},{"style":2729},[2818],{"type":46,"value":2819},"\"Checkout Funnel Update\"",{"type":40,"tag":562,"props":2821,"children":2822},{"style":2709},[2823],{"type":46,"value":2737},{"type":40,"tag":562,"props":2825,"children":2827},{"class":2705,"line":2826},7,[2828,2833,2837,2842],{"type":40,"tag":562,"props":2829,"children":2830},{"style":2718},[2831],{"type":46,"value":2832},"  \"description\"",{"type":40,"tag":562,"props":2834,"children":2835},{"style":2709},[2836],{"type":46,"value":2726},{"type":40,"tag":562,"props":2838,"children":2839},{"style":2729},[2840],{"type":46,"value":2841},"\"Improved checkout UX and instrumentation updates.\"",{"type":40,"tag":562,"props":2843,"children":2844},{"style":2709},[2845],{"type":46,"value":2737},{"type":40,"tag":562,"props":2847,"children":2849},{"class":2705,"line":2848},8,[2850,2855,2860,2865,2870,2875],{"type":40,"tag":562,"props":2851,"children":2852},{"style":2718},[2853],{"type":46,"value":2854},"  \"tags\"",{"type":40,"tag":562,"props":2856,"children":2857},{"style":2709},[2858],{"type":46,"value":2859},": [",{"type":40,"tag":562,"props":2861,"children":2862},{"style":2729},[2863],{"type":46,"value":2864},"\"checkout\"",{"type":40,"tag":562,"props":2866,"children":2867},{"style":2709},[2868],{"type":46,"value":2869},", ",{"type":40,"tag":562,"props":2871,"children":2872},{"style":2729},[2873],{"type":46,"value":2874},"\"funnel\"",{"type":40,"tag":562,"props":2876,"children":2877},{"style":2709},[2878],{"type":46,"value":2879},"],\n",{"type":40,"tag":562,"props":2881,"children":2883},{"class":2705,"line":2882},9,[2884,2889,2893,2898],{"type":40,"tag":562,"props":2885,"children":2886},{"style":2718},[2887],{"type":46,"value":2888},"  \"changeType\"",{"type":40,"tag":562,"props":2890,"children":2891},{"style":2709},[2892],{"type":46,"value":2726},{"type":40,"tag":562,"props":2894,"children":2895},{"style":2729},[2896],{"type":46,"value":2897},"\"new_feature\"",{"type":40,"tag":562,"props":2899,"children":2900},{"style":2709},[2901],{"type":46,"value":2737},{"type":40,"tag":562,"props":2903,"children":2904},{"class":2705,"line":15},[2905,2910,2914,2919],{"type":40,"tag":562,"props":2906,"children":2907},{"style":2718},[2908],{"type":46,"value":2909},"  \"version\"",{"type":40,"tag":562,"props":2911,"children":2912},{"style":2709},[2913],{"type":46,"value":2726},{"type":40,"tag":562,"props":2915,"children":2916},{"style":2729},[2917],{"type":46,"value":2918},"\"v2.4.0\"",{"type":40,"tag":562,"props":2920,"children":2921},{"style":2709},[2922],{"type":46,"value":2737},{"type":40,"tag":562,"props":2924,"children":2925},{"class":2705,"line":2008},[2926,2931,2935],{"type":40,"tag":562,"props":2927,"children":2928},{"style":2718},[2929],{"type":46,"value":2930},"  \"environment\"",{"type":40,"tag":562,"props":2932,"children":2933},{"style":2709},[2934],{"type":46,"value":2726},{"type":40,"tag":562,"props":2936,"children":2937},{"style":2729},[2938],{"type":46,"value":2939},"\"prod\"\n",{"type":40,"tag":562,"props":2941,"children":2942},{"class":2705,"line":2397},[2943],{"type":40,"tag":562,"props":2944,"children":2945},{"style":2709},[2946],{"type":46,"value":2947},"}\n",{"type":40,"tag":49,"props":2949,"children":2951},{"id":2950},"fastest-github-setup-reusable-workflow",[2952],{"type":46,"value":2953},"Fastest GitHub setup: reusable workflow",{"type":40,"tag":130,"props":2955,"children":2956},{},[2957,2959,2964],{"type":46,"value":2958},"The reusable workflow is a prebuilt workflow job hosted at ",{"type":40,"tag":880,"props":2960,"children":2962},{"className":2961},[],[2963],{"type":46,"value":2481},{"type":46,"value":1466},{"type":40,"tag":130,"props":2966,"children":2967},{},[2968],{"type":46,"value":2969},"Use it when you want the fastest setup and a sane default integration.",{"type":40,"tag":130,"props":2971,"children":2972},{},[2973],{"type":46,"value":2974},"What you need to configure first:",{"type":40,"tag":56,"props":2976,"children":2977},{},[2978,2988],{"type":40,"tag":60,"props":2979,"children":2980},{},[2981,2983],{"type":46,"value":2982},"Repository variable: ",{"type":40,"tag":880,"props":2984,"children":2986},{"className":2985},[],[2987],{"type":46,"value":2465},{"type":40,"tag":60,"props":2989,"children":2990},{},[2991,2993],{"type":46,"value":2992},"Repository secret: ",{"type":40,"tag":880,"props":2994,"children":2996},{"className":2995},[],[2997],{"type":46,"value":2473},{"type":40,"tag":130,"props":2999,"children":3000},{},[3001],{"type":46,"value":3002},"What this gives you:",{"type":40,"tag":56,"props":3004,"children":3005},{},[3006,3011,3024],{"type":40,"tag":60,"props":3007,"children":3008},{},[3009],{"type":46,"value":3010},"You do not need to remember the low-level action inputs.",{"type":40,"tag":60,"props":3012,"children":3013},{},[3014,3016,3022],{"type":46,"value":3015},"You do not need to add checkout or ",{"type":40,"tag":880,"props":3017,"children":3019},{"className":3018},[],[3020],{"type":46,"value":3021},"fetch-depth: 0",{"type":46,"value":3023}," yourself.",{"type":40,"tag":60,"props":3025,"children":3026},{},[3027],{"type":46,"value":3028},"You get a maintained wrapper that already calls the underlying action correctly.",{"type":40,"tag":130,"props":3030,"children":3031},{},[3032],{"type":46,"value":3033},"Copy-paste example:",{"type":40,"tag":2694,"props":3035,"children":3039},{"className":3036,"code":3037,"language":3038,"meta":8,"style":8},"language-yaml shiki shiki-themes github-dark","name: Deploy and Notify Anamap\n\non:\n  push:\n    branches:\n      - main\n  workflow_dispatch:\n\njobs:\n  notify-anamap:\n    uses: alex-schlee/anamap-release-trigger/.github/workflows/notify-anamap.yml@v1\n    with:\n      company-id: ${{ vars.ANAMAP_COMPANY_ID }}\n      environment: prod\n      change-type: new_feature\n    secrets:\n      trigger-token: ${{ secrets.ANAMAP_RELEASE_TRIGGER_TOKEN }}\n","yaml",[3040],{"type":40,"tag":880,"props":3041,"children":3042},{"__ignoreMap":8},[3043,3061,3070,3083,3095,3107,3120,3132,3139,3151,3163,3180,3192,3210,3228,3246,3259],{"type":40,"tag":562,"props":3044,"children":3045},{"class":2705,"line":1161},[3046,3052,3056],{"type":40,"tag":562,"props":3047,"children":3049},{"style":3048},"--shiki-default:#85E89D",[3050],{"type":46,"value":3051},"name",{"type":40,"tag":562,"props":3053,"children":3054},{"style":2709},[3055],{"type":46,"value":2726},{"type":40,"tag":562,"props":3057,"children":3058},{"style":2729},[3059],{"type":46,"value":3060},"Deploy and Notify Anamap\n",{"type":40,"tag":562,"props":3062,"children":3063},{"class":2705,"line":1139},[3064],{"type":40,"tag":562,"props":3065,"children":3067},{"emptyLinePlaceholder":3066},true,[3068],{"type":46,"value":3069},"\n",{"type":40,"tag":562,"props":3071,"children":3072},{"class":2705,"line":1140},[3073,3078],{"type":40,"tag":562,"props":3074,"children":3075},{"style":2718},[3076],{"type":46,"value":3077},"on",{"type":40,"tag":562,"props":3079,"children":3080},{"style":2709},[3081],{"type":46,"value":3082},":\n",{"type":40,"tag":562,"props":3084,"children":3085},{"class":2705,"line":2248},[3086,3091],{"type":40,"tag":562,"props":3087,"children":3088},{"style":3048},[3089],{"type":46,"value":3090},"  push",{"type":40,"tag":562,"props":3092,"children":3093},{"style":2709},[3094],{"type":46,"value":3082},{"type":40,"tag":562,"props":3096,"children":3097},{"class":2705,"line":2782},[3098,3103],{"type":40,"tag":562,"props":3099,"children":3100},{"style":3048},[3101],{"type":46,"value":3102},"    branches",{"type":40,"tag":562,"props":3104,"children":3105},{"style":2709},[3106],{"type":46,"value":3082},{"type":40,"tag":562,"props":3108,"children":3109},{"class":2705,"line":2804},[3110,3115],{"type":40,"tag":562,"props":3111,"children":3112},{"style":2709},[3113],{"type":46,"value":3114},"      - ",{"type":40,"tag":562,"props":3116,"children":3117},{"style":2729},[3118],{"type":46,"value":3119},"main\n",{"type":40,"tag":562,"props":3121,"children":3122},{"class":2705,"line":2826},[3123,3128],{"type":40,"tag":562,"props":3124,"children":3125},{"style":3048},[3126],{"type":46,"value":3127},"  workflow_dispatch",{"type":40,"tag":562,"props":3129,"children":3130},{"style":2709},[3131],{"type":46,"value":3082},{"type":40,"tag":562,"props":3133,"children":3134},{"class":2705,"line":2848},[3135],{"type":40,"tag":562,"props":3136,"children":3137},{"emptyLinePlaceholder":3066},[3138],{"type":46,"value":3069},{"type":40,"tag":562,"props":3140,"children":3141},{"class":2705,"line":2882},[3142,3147],{"type":40,"tag":562,"props":3143,"children":3144},{"style":3048},[3145],{"type":46,"value":3146},"jobs",{"type":40,"tag":562,"props":3148,"children":3149},{"style":2709},[3150],{"type":46,"value":3082},{"type":40,"tag":562,"props":3152,"children":3153},{"class":2705,"line":15},[3154,3159],{"type":40,"tag":562,"props":3155,"children":3156},{"style":3048},[3157],{"type":46,"value":3158},"  notify-anamap",{"type":40,"tag":562,"props":3160,"children":3161},{"style":2709},[3162],{"type":46,"value":3082},{"type":40,"tag":562,"props":3164,"children":3165},{"class":2705,"line":2008},[3166,3171,3175],{"type":40,"tag":562,"props":3167,"children":3168},{"style":3048},[3169],{"type":46,"value":3170},"    uses",{"type":40,"tag":562,"props":3172,"children":3173},{"style":2709},[3174],{"type":46,"value":2726},{"type":40,"tag":562,"props":3176,"children":3177},{"style":2729},[3178],{"type":46,"value":3179},"alex-schlee/anamap-release-trigger/.github/workflows/notify-anamap.yml@v1\n",{"type":40,"tag":562,"props":3181,"children":3182},{"class":2705,"line":2397},[3183,3188],{"type":40,"tag":562,"props":3184,"children":3185},{"style":3048},[3186],{"type":46,"value":3187},"    with",{"type":40,"tag":562,"props":3189,"children":3190},{"style":2709},[3191],{"type":46,"value":3082},{"type":40,"tag":562,"props":3193,"children":3195},{"class":2705,"line":3194},13,[3196,3201,3205],{"type":40,"tag":562,"props":3197,"children":3198},{"style":3048},[3199],{"type":46,"value":3200},"      company-id",{"type":40,"tag":562,"props":3202,"children":3203},{"style":2709},[3204],{"type":46,"value":2726},{"type":40,"tag":562,"props":3206,"children":3207},{"style":2729},[3208],{"type":46,"value":3209},"${{ vars.ANAMAP_COMPANY_ID }}\n",{"type":40,"tag":562,"props":3211,"children":3213},{"class":2705,"line":3212},14,[3214,3219,3223],{"type":40,"tag":562,"props":3215,"children":3216},{"style":3048},[3217],{"type":46,"value":3218},"      environment",{"type":40,"tag":562,"props":3220,"children":3221},{"style":2709},[3222],{"type":46,"value":2726},{"type":40,"tag":562,"props":3224,"children":3225},{"style":2729},[3226],{"type":46,"value":3227},"prod\n",{"type":40,"tag":562,"props":3229,"children":3231},{"class":2705,"line":3230},15,[3232,3237,3241],{"type":40,"tag":562,"props":3233,"children":3234},{"style":3048},[3235],{"type":46,"value":3236},"      change-type",{"type":40,"tag":562,"props":3238,"children":3239},{"style":2709},[3240],{"type":46,"value":2726},{"type":40,"tag":562,"props":3242,"children":3243},{"style":2729},[3244],{"type":46,"value":3245},"new_feature\n",{"type":40,"tag":562,"props":3247,"children":3249},{"class":2705,"line":3248},16,[3250,3255],{"type":40,"tag":562,"props":3251,"children":3252},{"style":3048},[3253],{"type":46,"value":3254},"    secrets",{"type":40,"tag":562,"props":3256,"children":3257},{"style":2709},[3258],{"type":46,"value":3082},{"type":40,"tag":562,"props":3260,"children":3262},{"class":2705,"line":3261},17,[3263,3268,3272],{"type":40,"tag":562,"props":3264,"children":3265},{"style":3048},[3266],{"type":46,"value":3267},"      trigger-token",{"type":40,"tag":562,"props":3269,"children":3270},{"style":2709},[3271],{"type":46,"value":2726},{"type":40,"tag":562,"props":3273,"children":3274},{"style":2729},[3275],{"type":46,"value":3276},"${{ secrets.ANAMAP_RELEASE_TRIGGER_TOKEN }}\n",{"type":40,"tag":130,"props":3278,"children":3279},{},[3280],{"type":46,"value":3281},"More realistic after-deploy example:",{"type":40,"tag":2694,"props":3283,"children":3285},{"className":3036,"code":3284,"language":3038,"meta":8,"style":8},"name: Deploy\n\non:\n  push:\n    branches:\n      - main\n\njobs:\n  deploy:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n\n      - name: Deploy app\n        run: ./deploy.sh\n\n  notify-anamap:\n    needs: deploy\n    if: ${{ success() }}\n    uses: alex-schlee/anamap-release-trigger/.github/workflows/notify-anamap.yml@v1\n    with:\n      company-id: ${{ vars.ANAMAP_COMPANY_ID }}\n      environment: prod\n      change-type: new_feature\n    secrets:\n      trigger-token: ${{ secrets.ANAMAP_RELEASE_TRIGGER_TOKEN }}\n",[3286],{"type":40,"tag":880,"props":3287,"children":3288},{"__ignoreMap":8},[3289,3305,3312,3323,3334,3345,3356,3363,3374,3386,3403,3415,3436,3443,3463,3480,3487,3498,3516,3534,3549,3561,3577,3593,3609,3621],{"type":40,"tag":562,"props":3290,"children":3291},{"class":2705,"line":1161},[3292,3296,3300],{"type":40,"tag":562,"props":3293,"children":3294},{"style":3048},[3295],{"type":46,"value":3051},{"type":40,"tag":562,"props":3297,"children":3298},{"style":2709},[3299],{"type":46,"value":2726},{"type":40,"tag":562,"props":3301,"children":3302},{"style":2729},[3303],{"type":46,"value":3304},"Deploy\n",{"type":40,"tag":562,"props":3306,"children":3307},{"class":2705,"line":1139},[3308],{"type":40,"tag":562,"props":3309,"children":3310},{"emptyLinePlaceholder":3066},[3311],{"type":46,"value":3069},{"type":40,"tag":562,"props":3313,"children":3314},{"class":2705,"line":1140},[3315,3319],{"type":40,"tag":562,"props":3316,"children":3317},{"style":2718},[3318],{"type":46,"value":3077},{"type":40,"tag":562,"props":3320,"children":3321},{"style":2709},[3322],{"type":46,"value":3082},{"type":40,"tag":562,"props":3324,"children":3325},{"class":2705,"line":2248},[3326,3330],{"type":40,"tag":562,"props":3327,"children":3328},{"style":3048},[3329],{"type":46,"value":3090},{"type":40,"tag":562,"props":3331,"children":3332},{"style":2709},[3333],{"type":46,"value":3082},{"type":40,"tag":562,"props":3335,"children":3336},{"class":2705,"line":2782},[3337,3341],{"type":40,"tag":562,"props":3338,"children":3339},{"style":3048},[3340],{"type":46,"value":3102},{"type":40,"tag":562,"props":3342,"children":3343},{"style":2709},[3344],{"type":46,"value":3082},{"type":40,"tag":562,"props":3346,"children":3347},{"class":2705,"line":2804},[3348,3352],{"type":40,"tag":562,"props":3349,"children":3350},{"style":2709},[3351],{"type":46,"value":3114},{"type":40,"tag":562,"props":3353,"children":3354},{"style":2729},[3355],{"type":46,"value":3119},{"type":40,"tag":562,"props":3357,"children":3358},{"class":2705,"line":2826},[3359],{"type":40,"tag":562,"props":3360,"children":3361},{"emptyLinePlaceholder":3066},[3362],{"type":46,"value":3069},{"type":40,"tag":562,"props":3364,"children":3365},{"class":2705,"line":2848},[3366,3370],{"type":40,"tag":562,"props":3367,"children":3368},{"style":3048},[3369],{"type":46,"value":3146},{"type":40,"tag":562,"props":3371,"children":3372},{"style":2709},[3373],{"type":46,"value":3082},{"type":40,"tag":562,"props":3375,"children":3376},{"class":2705,"line":2882},[3377,3382],{"type":40,"tag":562,"props":3378,"children":3379},{"style":3048},[3380],{"type":46,"value":3381},"  deploy",{"type":40,"tag":562,"props":3383,"children":3384},{"style":2709},[3385],{"type":46,"value":3082},{"type":40,"tag":562,"props":3387,"children":3388},{"class":2705,"line":15},[3389,3394,3398],{"type":40,"tag":562,"props":3390,"children":3391},{"style":3048},[3392],{"type":46,"value":3393},"    runs-on",{"type":40,"tag":562,"props":3395,"children":3396},{"style":2709},[3397],{"type":46,"value":2726},{"type":40,"tag":562,"props":3399,"children":3400},{"style":2729},[3401],{"type":46,"value":3402},"ubuntu-latest\n",{"type":40,"tag":562,"props":3404,"children":3405},{"class":2705,"line":2008},[3406,3411],{"type":40,"tag":562,"props":3407,"children":3408},{"style":3048},[3409],{"type":46,"value":3410},"    steps",{"type":40,"tag":562,"props":3412,"children":3413},{"style":2709},[3414],{"type":46,"value":3082},{"type":40,"tag":562,"props":3416,"children":3417},{"class":2705,"line":2397},[3418,3422,3427,3431],{"type":40,"tag":562,"props":3419,"children":3420},{"style":2709},[3421],{"type":46,"value":3114},{"type":40,"tag":562,"props":3423,"children":3424},{"style":3048},[3425],{"type":46,"value":3426},"uses",{"type":40,"tag":562,"props":3428,"children":3429},{"style":2709},[3430],{"type":46,"value":2726},{"type":40,"tag":562,"props":3432,"children":3433},{"style":2729},[3434],{"type":46,"value":3435},"actions/checkout@v4\n",{"type":40,"tag":562,"props":3437,"children":3438},{"class":2705,"line":3194},[3439],{"type":40,"tag":562,"props":3440,"children":3441},{"emptyLinePlaceholder":3066},[3442],{"type":46,"value":3069},{"type":40,"tag":562,"props":3444,"children":3445},{"class":2705,"line":3212},[3446,3450,3454,3458],{"type":40,"tag":562,"props":3447,"children":3448},{"style":2709},[3449],{"type":46,"value":3114},{"type":40,"tag":562,"props":3451,"children":3452},{"style":3048},[3453],{"type":46,"value":3051},{"type":40,"tag":562,"props":3455,"children":3456},{"style":2709},[3457],{"type":46,"value":2726},{"type":40,"tag":562,"props":3459,"children":3460},{"style":2729},[3461],{"type":46,"value":3462},"Deploy app\n",{"type":40,"tag":562,"props":3464,"children":3465},{"class":2705,"line":3230},[3466,3471,3475],{"type":40,"tag":562,"props":3467,"children":3468},{"style":3048},[3469],{"type":46,"value":3470},"        run",{"type":40,"tag":562,"props":3472,"children":3473},{"style":2709},[3474],{"type":46,"value":2726},{"type":40,"tag":562,"props":3476,"children":3477},{"style":2729},[3478],{"type":46,"value":3479},"./deploy.sh\n",{"type":40,"tag":562,"props":3481,"children":3482},{"class":2705,"line":3248},[3483],{"type":40,"tag":562,"props":3484,"children":3485},{"emptyLinePlaceholder":3066},[3486],{"type":46,"value":3069},{"type":40,"tag":562,"props":3488,"children":3489},{"class":2705,"line":3261},[3490,3494],{"type":40,"tag":562,"props":3491,"children":3492},{"style":3048},[3493],{"type":46,"value":3158},{"type":40,"tag":562,"props":3495,"children":3496},{"style":2709},[3497],{"type":46,"value":3082},{"type":40,"tag":562,"props":3499,"children":3501},{"class":2705,"line":3500},18,[3502,3507,3511],{"type":40,"tag":562,"props":3503,"children":3504},{"style":3048},[3505],{"type":46,"value":3506},"    needs",{"type":40,"tag":562,"props":3508,"children":3509},{"style":2709},[3510],{"type":46,"value":2726},{"type":40,"tag":562,"props":3512,"children":3513},{"style":2729},[3514],{"type":46,"value":3515},"deploy\n",{"type":40,"tag":562,"props":3517,"children":3519},{"class":2705,"line":3518},19,[3520,3525,3529],{"type":40,"tag":562,"props":3521,"children":3522},{"style":3048},[3523],{"type":46,"value":3524},"    if",{"type":40,"tag":562,"props":3526,"children":3527},{"style":2709},[3528],{"type":46,"value":2726},{"type":40,"tag":562,"props":3530,"children":3531},{"style":2729},[3532],{"type":46,"value":3533},"${{ success() }}\n",{"type":40,"tag":562,"props":3535,"children":3536},{"class":2705,"line":1162},[3537,3541,3545],{"type":40,"tag":562,"props":3538,"children":3539},{"style":3048},[3540],{"type":46,"value":3170},{"type":40,"tag":562,"props":3542,"children":3543},{"style":2709},[3544],{"type":46,"value":2726},{"type":40,"tag":562,"props":3546,"children":3547},{"style":2729},[3548],{"type":46,"value":3179},{"type":40,"tag":562,"props":3550,"children":3552},{"class":2705,"line":3551},21,[3553,3557],{"type":40,"tag":562,"props":3554,"children":3555},{"style":3048},[3556],{"type":46,"value":3187},{"type":40,"tag":562,"props":3558,"children":3559},{"style":2709},[3560],{"type":46,"value":3082},{"type":40,"tag":562,"props":3562,"children":3564},{"class":2705,"line":3563},22,[3565,3569,3573],{"type":40,"tag":562,"props":3566,"children":3567},{"style":3048},[3568],{"type":46,"value":3200},{"type":40,"tag":562,"props":3570,"children":3571},{"style":2709},[3572],{"type":46,"value":2726},{"type":40,"tag":562,"props":3574,"children":3575},{"style":2729},[3576],{"type":46,"value":3209},{"type":40,"tag":562,"props":3578,"children":3580},{"class":2705,"line":3579},23,[3581,3585,3589],{"type":40,"tag":562,"props":3582,"children":3583},{"style":3048},[3584],{"type":46,"value":3218},{"type":40,"tag":562,"props":3586,"children":3587},{"style":2709},[3588],{"type":46,"value":2726},{"type":40,"tag":562,"props":3590,"children":3591},{"style":2729},[3592],{"type":46,"value":3227},{"type":40,"tag":562,"props":3594,"children":3596},{"class":2705,"line":3595},24,[3597,3601,3605],{"type":40,"tag":562,"props":3598,"children":3599},{"style":3048},[3600],{"type":46,"value":3236},{"type":40,"tag":562,"props":3602,"children":3603},{"style":2709},[3604],{"type":46,"value":2726},{"type":40,"tag":562,"props":3606,"children":3607},{"style":2729},[3608],{"type":46,"value":3245},{"type":40,"tag":562,"props":3610,"children":3612},{"class":2705,"line":3611},25,[3613,3617],{"type":40,"tag":562,"props":3614,"children":3615},{"style":3048},[3616],{"type":46,"value":3254},{"type":40,"tag":562,"props":3618,"children":3619},{"style":2709},[3620],{"type":46,"value":3082},{"type":40,"tag":562,"props":3622,"children":3624},{"class":2705,"line":3623},26,[3625,3629,3633],{"type":40,"tag":562,"props":3626,"children":3627},{"style":3048},[3628],{"type":46,"value":3267},{"type":40,"tag":562,"props":3630,"children":3631},{"style":2709},[3632],{"type":46,"value":2726},{"type":40,"tag":562,"props":3634,"children":3635},{"style":2729},[3636],{"type":46,"value":3276},{"type":40,"tag":49,"props":3638,"children":3640},{"id":3639},"when-to-use-the-action-directly-instead",[3641],{"type":46,"value":3642},"When to use the action directly instead",{"type":40,"tag":130,"props":3644,"children":3645},{},[3646],{"type":46,"value":3647},"Use the action directly if you want full control inside an existing job or need unusual wiring.",{"type":40,"tag":130,"props":3649,"children":3650},{},[3651],{"type":46,"value":3652},"Direct-action example:",{"type":40,"tag":2694,"props":3654,"children":3656},{"className":3036,"code":3655,"language":3038,"meta":8,"style":8},"name: Deploy and Notify Anamap\n\non:\n  push:\n    branches:\n      - main\n\njobs:\n  deploy:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n        with:\n          fetch-depth: 0\n\n      - name: Deploy app\n        run: ./deploy.sh\n\n      - name: Notify Anamap\n        if: success()\n        uses: alex-schlee/anamap-release-trigger@v1\n        with:\n          company-id: ${{ vars.ANAMAP_COMPANY_ID }}\n          trigger-token: ${{ secrets.ANAMAP_RELEASE_TRIGGER_TOKEN }}\n          environment: prod\n",[3657],{"type":40,"tag":880,"props":3658,"children":3659},{"__ignoreMap":8},[3660,3675,3682,3693,3704,3715,3726,3733,3744,3755,3770,3781,3800,3812,3829,3836,3855,3870,3877,3897,3914,3931,3942,3958,3974],{"type":40,"tag":562,"props":3661,"children":3662},{"class":2705,"line":1161},[3663,3667,3671],{"type":40,"tag":562,"props":3664,"children":3665},{"style":3048},[3666],{"type":46,"value":3051},{"type":40,"tag":562,"props":3668,"children":3669},{"style":2709},[3670],{"type":46,"value":2726},{"type":40,"tag":562,"props":3672,"children":3673},{"style":2729},[3674],{"type":46,"value":3060},{"type":40,"tag":562,"props":3676,"children":3677},{"class":2705,"line":1139},[3678],{"type":40,"tag":562,"props":3679,"children":3680},{"emptyLinePlaceholder":3066},[3681],{"type":46,"value":3069},{"type":40,"tag":562,"props":3683,"children":3684},{"class":2705,"line":1140},[3685,3689],{"type":40,"tag":562,"props":3686,"children":3687},{"style":2718},[3688],{"type":46,"value":3077},{"type":40,"tag":562,"props":3690,"children":3691},{"style":2709},[3692],{"type":46,"value":3082},{"type":40,"tag":562,"props":3694,"children":3695},{"class":2705,"line":2248},[3696,3700],{"type":40,"tag":562,"props":3697,"children":3698},{"style":3048},[3699],{"type":46,"value":3090},{"type":40,"tag":562,"props":3701,"children":3702},{"style":2709},[3703],{"type":46,"value":3082},{"type":40,"tag":562,"props":3705,"children":3706},{"class":2705,"line":2782},[3707,3711],{"type":40,"tag":562,"props":3708,"children":3709},{"style":3048},[3710],{"type":46,"value":3102},{"type":40,"tag":562,"props":3712,"children":3713},{"style":2709},[3714],{"type":46,"value":3082},{"type":40,"tag":562,"props":3716,"children":3717},{"class":2705,"line":2804},[3718,3722],{"type":40,"tag":562,"props":3719,"children":3720},{"style":2709},[3721],{"type":46,"value":3114},{"type":40,"tag":562,"props":3723,"children":3724},{"style":2729},[3725],{"type":46,"value":3119},{"type":40,"tag":562,"props":3727,"children":3728},{"class":2705,"line":2826},[3729],{"type":40,"tag":562,"props":3730,"children":3731},{"emptyLinePlaceholder":3066},[3732],{"type":46,"value":3069},{"type":40,"tag":562,"props":3734,"children":3735},{"class":2705,"line":2848},[3736,3740],{"type":40,"tag":562,"props":3737,"children":3738},{"style":3048},[3739],{"type":46,"value":3146},{"type":40,"tag":562,"props":3741,"children":3742},{"style":2709},[3743],{"type":46,"value":3082},{"type":40,"tag":562,"props":3745,"children":3746},{"class":2705,"line":2882},[3747,3751],{"type":40,"tag":562,"props":3748,"children":3749},{"style":3048},[3750],{"type":46,"value":3381},{"type":40,"tag":562,"props":3752,"children":3753},{"style":2709},[3754],{"type":46,"value":3082},{"type":40,"tag":562,"props":3756,"children":3757},{"class":2705,"line":15},[3758,3762,3766],{"type":40,"tag":562,"props":3759,"children":3760},{"style":3048},[3761],{"type":46,"value":3393},{"type":40,"tag":562,"props":3763,"children":3764},{"style":2709},[3765],{"type":46,"value":2726},{"type":40,"tag":562,"props":3767,"children":3768},{"style":2729},[3769],{"type":46,"value":3402},{"type":40,"tag":562,"props":3771,"children":3772},{"class":2705,"line":2008},[3773,3777],{"type":40,"tag":562,"props":3774,"children":3775},{"style":3048},[3776],{"type":46,"value":3410},{"type":40,"tag":562,"props":3778,"children":3779},{"style":2709},[3780],{"type":46,"value":3082},{"type":40,"tag":562,"props":3782,"children":3783},{"class":2705,"line":2397},[3784,3788,3792,3796],{"type":40,"tag":562,"props":3785,"children":3786},{"style":2709},[3787],{"type":46,"value":3114},{"type":40,"tag":562,"props":3789,"children":3790},{"style":3048},[3791],{"type":46,"value":3426},{"type":40,"tag":562,"props":3793,"children":3794},{"style":2709},[3795],{"type":46,"value":2726},{"type":40,"tag":562,"props":3797,"children":3798},{"style":2729},[3799],{"type":46,"value":3435},{"type":40,"tag":562,"props":3801,"children":3802},{"class":2705,"line":3194},[3803,3808],{"type":40,"tag":562,"props":3804,"children":3805},{"style":3048},[3806],{"type":46,"value":3807},"        with",{"type":40,"tag":562,"props":3809,"children":3810},{"style":2709},[3811],{"type":46,"value":3082},{"type":40,"tag":562,"props":3813,"children":3814},{"class":2705,"line":3212},[3815,3820,3824],{"type":40,"tag":562,"props":3816,"children":3817},{"style":3048},[3818],{"type":46,"value":3819},"          fetch-depth",{"type":40,"tag":562,"props":3821,"children":3822},{"style":2709},[3823],{"type":46,"value":2726},{"type":40,"tag":562,"props":3825,"children":3826},{"style":2718},[3827],{"type":46,"value":3828},"0\n",{"type":40,"tag":562,"props":3830,"children":3831},{"class":2705,"line":3230},[3832],{"type":40,"tag":562,"props":3833,"children":3834},{"emptyLinePlaceholder":3066},[3835],{"type":46,"value":3069},{"type":40,"tag":562,"props":3837,"children":3838},{"class":2705,"line":3248},[3839,3843,3847,3851],{"type":40,"tag":562,"props":3840,"children":3841},{"style":2709},[3842],{"type":46,"value":3114},{"type":40,"tag":562,"props":3844,"children":3845},{"style":3048},[3846],{"type":46,"value":3051},{"type":40,"tag":562,"props":3848,"children":3849},{"style":2709},[3850],{"type":46,"value":2726},{"type":40,"tag":562,"props":3852,"children":3853},{"style":2729},[3854],{"type":46,"value":3462},{"type":40,"tag":562,"props":3856,"children":3857},{"class":2705,"line":3261},[3858,3862,3866],{"type":40,"tag":562,"props":3859,"children":3860},{"style":3048},[3861],{"type":46,"value":3470},{"type":40,"tag":562,"props":3863,"children":3864},{"style":2709},[3865],{"type":46,"value":2726},{"type":40,"tag":562,"props":3867,"children":3868},{"style":2729},[3869],{"type":46,"value":3479},{"type":40,"tag":562,"props":3871,"children":3872},{"class":2705,"line":3500},[3873],{"type":40,"tag":562,"props":3874,"children":3875},{"emptyLinePlaceholder":3066},[3876],{"type":46,"value":3069},{"type":40,"tag":562,"props":3878,"children":3879},{"class":2705,"line":3518},[3880,3884,3888,3892],{"type":40,"tag":562,"props":3881,"children":3882},{"style":2709},[3883],{"type":46,"value":3114},{"type":40,"tag":562,"props":3885,"children":3886},{"style":3048},[3887],{"type":46,"value":3051},{"type":40,"tag":562,"props":3889,"children":3890},{"style":2709},[3891],{"type":46,"value":2726},{"type":40,"tag":562,"props":3893,"children":3894},{"style":2729},[3895],{"type":46,"value":3896},"Notify Anamap\n",{"type":40,"tag":562,"props":3898,"children":3899},{"class":2705,"line":1162},[3900,3905,3909],{"type":40,"tag":562,"props":3901,"children":3902},{"style":3048},[3903],{"type":46,"value":3904},"        if",{"type":40,"tag":562,"props":3906,"children":3907},{"style":2709},[3908],{"type":46,"value":2726},{"type":40,"tag":562,"props":3910,"children":3911},{"style":2729},[3912],{"type":46,"value":3913},"success()\n",{"type":40,"tag":562,"props":3915,"children":3916},{"class":2705,"line":3551},[3917,3922,3926],{"type":40,"tag":562,"props":3918,"children":3919},{"style":3048},[3920],{"type":46,"value":3921},"        uses",{"type":40,"tag":562,"props":3923,"children":3924},{"style":2709},[3925],{"type":46,"value":2726},{"type":40,"tag":562,"props":3927,"children":3928},{"style":2729},[3929],{"type":46,"value":3930},"alex-schlee/anamap-release-trigger@v1\n",{"type":40,"tag":562,"props":3932,"children":3933},{"class":2705,"line":3563},[3934,3938],{"type":40,"tag":562,"props":3935,"children":3936},{"style":3048},[3937],{"type":46,"value":3807},{"type":40,"tag":562,"props":3939,"children":3940},{"style":2709},[3941],{"type":46,"value":3082},{"type":40,"tag":562,"props":3943,"children":3944},{"class":2705,"line":3579},[3945,3950,3954],{"type":40,"tag":562,"props":3946,"children":3947},{"style":3048},[3948],{"type":46,"value":3949},"          company-id",{"type":40,"tag":562,"props":3951,"children":3952},{"style":2709},[3953],{"type":46,"value":2726},{"type":40,"tag":562,"props":3955,"children":3956},{"style":2729},[3957],{"type":46,"value":3209},{"type":40,"tag":562,"props":3959,"children":3960},{"class":2705,"line":3595},[3961,3966,3970],{"type":40,"tag":562,"props":3962,"children":3963},{"style":3048},[3964],{"type":46,"value":3965},"          trigger-token",{"type":40,"tag":562,"props":3967,"children":3968},{"style":2709},[3969],{"type":46,"value":2726},{"type":40,"tag":562,"props":3971,"children":3972},{"style":2729},[3973],{"type":46,"value":3276},{"type":40,"tag":562,"props":3975,"children":3976},{"class":2705,"line":3611},[3977,3982,3986],{"type":40,"tag":562,"props":3978,"children":3979},{"style":3048},[3980],{"type":46,"value":3981},"          environment",{"type":40,"tag":562,"props":3983,"children":3984},{"style":2709},[3985],{"type":46,"value":2726},{"type":40,"tag":562,"props":3987,"children":3988},{"style":2729},[3989],{"type":46,"value":3227},{"type":40,"tag":130,"props":3991,"children":3992},{},[3993],{"type":46,"value":3994},"If you are choosing between the two:",{"type":40,"tag":56,"props":3996,"children":3997},{},[3998,4003],{"type":40,"tag":60,"props":3999,"children":4000},{},[4001],{"type":46,"value":4002},"Use the reusable workflow when you want the fastest setup and a sane default integration.",{"type":40,"tag":60,"props":4004,"children":4005},{},[4006],{"type":46,"value":3647},{"type":40,"tag":130,"props":4008,"children":4009},{},[4010],{"type":46,"value":4011},"The streamlined setup you would want is effectively one pasted job. Outside org-scoped templates, the reusable workflow is the closest GitHub-native version of that model.",{"type":40,"tag":49,"props":4013,"children":4015},{"id":4014},"success-and-duplicate-behavior",[4016],{"type":46,"value":4017},"Success and duplicate behavior",{"type":40,"tag":56,"props":4019,"children":4020},{},[4021,4032,4043],{"type":40,"tag":60,"props":4022,"children":4023},{},[4024,4030],{"type":40,"tag":880,"props":4025,"children":4027},{"className":4026},[],[4028],{"type":46,"value":4029},"202",{"type":46,"value":4031},": accepted, Cartos created follow-up question and scheduled deferred release validation",{"type":40,"tag":60,"props":4033,"children":4034},{},[4035,4041],{"type":40,"tag":880,"props":4036,"children":4038},{"className":4037},[],[4039],{"type":46,"value":4040},"401",{"type":46,"value":4042},": token invalid/missing",{"type":40,"tag":60,"props":4044,"children":4045},{},[4046,4052],{"type":40,"tag":880,"props":4047,"children":4049},{"className":4048},[],[4050],{"type":46,"value":4051},"409",{"type":46,"value":4053},": duplicate webhook event (same provider + webhook ID)",{"type":40,"tag":49,"props":4055,"children":4057},{"id":4056},"local-verification",[4058],{"type":46,"value":4059},"Local verification",{"type":40,"tag":130,"props":4061,"children":4062},{},[4063],{"type":46,"value":4064},"You can validate end-to-end with:",{"type":40,"tag":56,"props":4066,"children":4067},{},[4068],{"type":40,"tag":60,"props":4069,"children":4070},{},[4071],{"type":40,"tag":880,"props":4072,"children":4074},{"className":4073},[],[4075],{"type":46,"value":4076},"npm run -s test:agent-release-webhook -- --replay --company-id \u003Cuuid> --token \u003Ctoken>",{"type":40,"tag":130,"props":4078,"children":4079},{},[4080],{"type":46,"value":4081},"Optional flags:",{"type":40,"tag":56,"props":4083,"children":4084},{},[4085,4094,4103],{"type":40,"tag":60,"props":4086,"children":4087},{},[4088],{"type":40,"tag":880,"props":4089,"children":4091},{"className":4090},[],[4092],{"type":46,"value":4093},"--url \u003Cwebhook-url>",{"type":40,"tag":60,"props":4095,"children":4096},{},[4097],{"type":40,"tag":880,"props":4098,"children":4100},{"className":4099},[],[4101],{"type":46,"value":4102},"--type release|pr|deployment",{"type":40,"tag":60,"props":4104,"children":4105},{},[4106],{"type":40,"tag":880,"props":4107,"children":4109},{"className":4108},[],[4110],{"type":46,"value":4111},"--event-id \u003Cstable-id>",{"type":40,"tag":49,"props":4113,"children":4115},{"id":4114},"what-cartos-does-after-receipt",[4116],{"type":46,"value":4117},"What Cartos does after receipt",{"type":40,"tag":56,"props":4119,"children":4120},{},[4121,4126,4131],{"type":40,"tag":60,"props":4122,"children":4123},{},[4124],{"type":46,"value":4125},"Creates a high-priority ownership/impact question",{"type":40,"tag":60,"props":4127,"children":4128},{},[4129],{"type":46,"value":4130},"Schedules the first off-cycle validation 25 hours after webhook receipt for all connected data sources",{"type":40,"tag":60,"props":4132,"children":4133},{},[4134],{"type":46,"value":4135},"Runs that deferred validation outside the company's normal Cartos cadence once the delay window expires",{"type":40,"tag":130,"props":4137,"children":4138},{},[4139,4141,4147,4148,4154],{"type":46,"value":4140},"For the broader operating model around recipients, follow-up, and channel behavior, see ",{"type":40,"tag":64,"props":4142,"children":4144},{"href":4143},"/learning/core/how-cartos-operates-for-teams",[4145],{"type":46,"value":4146},"How Cartos Operates: What to Expect as a Team",{"type":46,"value":1129},{"type":40,"tag":64,"props":4149,"children":4151},{"href":4150},"/learning/core/interacting-with-cartos",[4152],{"type":46,"value":4153},"Interacting with Cartos: Chat, Email, Slack, and Better Context",{"type":46,"value":1466},{"type":40,"tag":4156,"props":4157,"children":4158},"style",{},[4159],{"type":46,"value":4160},"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);}",{"title":8,"searchDepth":1139,"depth":1140,"links":4162},[4163,4164,4165,4166,4167,4168,4169,4170,4171],{"id":2486,"depth":1139,"text":2489},{"id":2521,"depth":1139,"text":2524},{"id":2613,"depth":1139,"text":2616},{"id":2670,"depth":1139,"text":2673},{"id":2950,"depth":1139,"text":2953},{"id":3639,"depth":1139,"text":3642},{"id":4014,"depth":1139,"text":4017},{"id":4056,"depth":1139,"text":4059},{"id":4114,"depth":1139,"text":4117},"content:learning:core:cartos-release-trigger-setup.md","learning/core/cartos-release-trigger-setup.md","learning/core/cartos-release-trigger-setup",{"loc":2394},{"_path":4143,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":4146,"description":4177,"order":3194,"draft":7,"publicationDate":4178,"image":13,"learningSection":2009,"learningSortOrder":11,"learningBadge":4179,"learningBadgeTone":4180,"learningAccent":4181,"learningIcon":4182,"learningFilters":4183,"learningTags":4184,"learningFeatured":3066,"head":4186,"author":4192,"category":35,"body":4193,"_type":1150,"_id":4541,"_source":1152,"_file":4542,"_stem":4543,"_extension":1155,"sitemap":4544},"A practical overview of how Cartos works day to day, what users need to configure, and how outreach works across channels.","03/02/2026","Start Here","start","teal","mdi-compass-rose",[1632,1633],[4185,1635],"Operations",{"meta":4187},[4188,4190,4191],{"name":27,"content":4189},"cartos, anamap, ai agent, outreach, slack, email, setup",{"name":30,"content":31},{"name":1644,"content":2414},{"id":2416,"name":2414,"role":2417},{"type":37,"children":4194,"toc":4529},[4195,4200,4205,4210,4216,4221,4249,4255,4260,4271,4279,4324,4330,4335,4368,4375,4380,4393,4398,4404,4409,4432,4438,4443,4461,4466,4476,4482,4510,4524],{"type":40,"tag":41,"props":4196,"children":4198},{"id":4197},"how-cartos-operates-what-to-expect-as-a-team",[4199],{"type":46,"value":4146},{"type":40,"tag":130,"props":4201,"children":4202},{},[4203],{"type":46,"value":4204},"Cartos is your analytics follow-up agent inside Anamap. It helps keep analysis moving by asking for missing context, tracking responses, and escalating when needed.",{"type":40,"tag":130,"props":4206,"children":4207},{},[4208],{"type":46,"value":4209},"This guide focuses on what users should expect and what to configure for a smooth experience.",{"type":40,"tag":49,"props":4211,"children":4213},{"id":4212},"what-cartos-does-for-users",[4214],{"type":46,"value":4215},"What Cartos does for users",{"type":40,"tag":130,"props":4217,"children":4218},{},[4219],{"type":46,"value":4220},"Cartos helps your team by:",{"type":40,"tag":56,"props":4222,"children":4223},{},[4224,4229,4234,4239,4244],{"type":40,"tag":60,"props":4225,"children":4226},{},[4227],{"type":46,"value":4228},"Identifying questions that block analysis",{"type":40,"tag":60,"props":4230,"children":4231},{},[4232],{"type":46,"value":4233},"Asking the right person for missing context",{"type":40,"tag":60,"props":4235,"children":4236},{},[4237],{"type":46,"value":4238},"Following up if there is no response",{"type":40,"tag":60,"props":4240,"children":4241},{},[4242],{"type":46,"value":4243},"Recording context so future runs are more informed",{"type":40,"tag":60,"props":4245,"children":4246},{},[4247],{"type":46,"value":4248},"Prioritizing release-impact follow-ups when release signals are received",{"type":40,"tag":49,"props":4250,"children":4252},{"id":4251},"what-your-team-needs-to-set-up",[4253],{"type":46,"value":4254},"What your team needs to set up",{"type":40,"tag":130,"props":4256,"children":4257},{},[4258],{"type":46,"value":4259},"To get reliable behavior, configure these three things:",{"type":40,"tag":897,"props":4261,"children":4262},{},[4263],{"type":40,"tag":60,"props":4264,"children":4265},{},[4266],{"type":40,"tag":1020,"props":4267,"children":4268},{},[4269],{"type":46,"value":4270},"Connected analytics sources",{"type":40,"tag":56,"props":4272,"children":4273},{},[4274],{"type":40,"tag":60,"props":4275,"children":4276},{},[4277],{"type":46,"value":4278},"Connect GA4 and/or Amplitude so Cartos can validate and prioritize findings.",{"type":40,"tag":897,"props":4280,"children":4281},{"start":1139},[4282,4303],{"type":40,"tag":60,"props":4283,"children":4284},{},[4285,4290],{"type":40,"tag":1020,"props":4286,"children":4287},{},[4288],{"type":46,"value":4289},"Recipient configuration",{"type":40,"tag":56,"props":4291,"children":4292},{},[4293,4298],{"type":40,"tag":60,"props":4294,"children":4295},{},[4296],{"type":46,"value":4297},"Add recipients for outreach (Slack and/or email), with priorities and topic owners.",{"type":40,"tag":60,"props":4299,"children":4300},{},[4301],{"type":46,"value":4302},"Keep recipient records current when ownership changes.",{"type":40,"tag":60,"props":4304,"children":4305},{},[4306,4311],{"type":40,"tag":1020,"props":4307,"children":4308},{},[4309],{"type":46,"value":4310},"Schedule + outreach settings",{"type":40,"tag":56,"props":4312,"children":4313},{},[4314,4319],{"type":40,"tag":60,"props":4315,"children":4316},{},[4317],{"type":46,"value":4318},"Turn on Fulltime Agent mode and set cadence/timezone.",{"type":40,"tag":60,"props":4320,"children":4321},{},[4322],{"type":46,"value":4323},"Confirm outreach policy (timeouts/retries) matches your operating rhythm.",{"type":40,"tag":49,"props":4325,"children":4327},{"id":4326},"channel-behavior-slack-and-email",[4328],{"type":46,"value":4329},"Channel behavior (Slack and Email)",{"type":40,"tag":130,"props":4331,"children":4332},{},[4333],{"type":46,"value":4334},"Cartos can deliver outreach through Slack or email depending on your configured recipients.",{"type":40,"tag":56,"props":4336,"children":4337},{},[4338,4351,4363],{"type":40,"tag":60,"props":4339,"children":4340},{},[4341,4343,4349],{"type":46,"value":4342},"If a recipient is configured as ",{"type":40,"tag":880,"props":4344,"children":4346},{"className":4345},[],[4347],{"type":46,"value":4348},"slack",{"type":46,"value":4350},", Cartos sends in Slack.",{"type":40,"tag":60,"props":4352,"children":4353},{},[4354,4355,4361],{"type":46,"value":4342},{"type":40,"tag":880,"props":4356,"children":4358},{"className":4357},[],[4359],{"type":46,"value":4360},"email",{"type":46,"value":4362},", Cartos sends via email proxy.",{"type":40,"tag":60,"props":4364,"children":4365},{},[4366],{"type":46,"value":4367},"If one path is unavailable for a given recipient, Cartos records the failure and continues queue handling.",{"type":40,"tag":4369,"props":4370,"children":4372},"h3",{"id":4371},"how-cartos-knows-slack-is-enabled",[4373],{"type":46,"value":4374},"How Cartos knows Slack is enabled",{"type":40,"tag":130,"props":4376,"children":4377},{},[4378],{"type":46,"value":4379},"Slack outreach is considered available only when:",{"type":40,"tag":56,"props":4381,"children":4382},{},[4383,4388],{"type":40,"tag":60,"props":4384,"children":4385},{},[4386],{"type":46,"value":4387},"Your company has a configured Slack installation, and",{"type":40,"tag":60,"props":4389,"children":4390},{},[4391],{"type":46,"value":4392},"A valid Slack bot token exists for that installation.",{"type":40,"tag":130,"props":4394,"children":4395},{},[4396],{"type":46,"value":4397},"If those are missing, Slack delivery is marked unavailable and Cartos uses the configured queue/fallback flow.",{"type":40,"tag":49,"props":4399,"children":4401},{"id":4400},"response-and-follow-up-behavior",[4402],{"type":46,"value":4403},"Response and follow-up behavior",{"type":40,"tag":130,"props":4405,"children":4406},{},[4407],{"type":46,"value":4408},"After outreach, Cartos:",{"type":40,"tag":56,"props":4410,"children":4411},{},[4412,4417,4422,4427],{"type":40,"tag":60,"props":4413,"children":4414},{},[4415],{"type":46,"value":4416},"Marks questions as awaiting response",{"type":40,"tag":60,"props":4418,"children":4419},{},[4420],{"type":46,"value":4421},"Tracks timeout windows and retry limits",{"type":40,"tag":60,"props":4423,"children":4424},{},[4425],{"type":46,"value":4426},"Schedules retries or escalates to alternate contacts when needed",{"type":40,"tag":60,"props":4428,"children":4429},{},[4430],{"type":46,"value":4431},"Learns from response channels and recipient patterns over time",{"type":40,"tag":49,"props":4433,"children":4435},{"id":4434},"release-trigger-behavior",[4436],{"type":46,"value":4437},"Release-trigger behavior",{"type":40,"tag":130,"props":4439,"children":4440},{},[4441],{"type":46,"value":4442},"If your CI/CD sends a release signal to Cartos:",{"type":40,"tag":56,"props":4444,"children":4445},{},[4446,4451,4456],{"type":40,"tag":60,"props":4447,"children":4448},{},[4449],{"type":46,"value":4450},"Cartos creates a high-priority ownership/impact follow-up",{"type":40,"tag":60,"props":4452,"children":4453},{},[4454],{"type":46,"value":4455},"Cartos sets urgency windows based on connected source availability",{"type":40,"tag":60,"props":4457,"children":4458},{},[4459],{"type":46,"value":4460},"Cartos starts follow-up workflows so teams can validate impact quickly",{"type":40,"tag":130,"props":4462,"children":4463},{},[4464],{"type":46,"value":4465},"For implementation details and payload/auth examples, see:",{"type":40,"tag":56,"props":4467,"children":4468},{},[4469],{"type":40,"tag":60,"props":4470,"children":4471},{},[4472],{"type":40,"tag":1020,"props":4473,"children":4474},{},[4475],{"type":46,"value":2395},{"type":40,"tag":49,"props":4477,"children":4479},{"id":4478},"best-practices-for-teams",[4480],{"type":46,"value":4481},"Best practices for teams",{"type":40,"tag":56,"props":4483,"children":4484},{},[4485,4490,4495,4500,4505],{"type":40,"tag":60,"props":4486,"children":4487},{},[4488],{"type":46,"value":4489},"Keep at least one active owner/admin recipient configured.",{"type":40,"tag":60,"props":4491,"children":4492},{},[4493],{"type":46,"value":4494},"Define topic experts for major domains (checkout, acquisition, activation, retention).",{"type":40,"tag":60,"props":4496,"children":4497},{},[4498],{"type":46,"value":4499},"Use clear role tags and priorities to reduce routing delays.",{"type":40,"tag":60,"props":4501,"children":4502},{},[4503],{"type":46,"value":4504},"Review unresolved questions regularly and close stale threads.",{"type":40,"tag":60,"props":4506,"children":4507},{},[4508],{"type":46,"value":4509},"Revisit cadence settings quarterly as team processes evolve.",{"type":40,"tag":49,"props":4511,"children":4513},{"id":4512},"what-cartos-does-not-replace",[4514,4516,4522],{"type":46,"value":4515},"What Cartos does ",{"type":40,"tag":4517,"props":4518,"children":4519},"em",{},[4520],{"type":46,"value":4521},"not",{"type":46,"value":4523}," replace",{"type":40,"tag":130,"props":4525,"children":4526},{},[4527],{"type":46,"value":4528},"Cartos accelerates coordination and analytics follow-through; it does not replace product judgment or owner accountability. The best results come from clear ownership and fast responses from your team.",{"title":8,"searchDepth":1139,"depth":1140,"links":4530},[4531,4532,4533,4536,4537,4538,4539],{"id":4212,"depth":1139,"text":4215},{"id":4251,"depth":1139,"text":4254},{"id":4326,"depth":1139,"text":4329,"children":4534},[4535],{"id":4371,"depth":1140,"text":4374},{"id":4400,"depth":1139,"text":4403},{"id":4434,"depth":1139,"text":4437},{"id":4478,"depth":1139,"text":4481},{"id":4512,"depth":1139,"text":4540},"What Cartos does not replace","content:learning:core:how-cartos-operates-for-teams.md","learning/core/how-cartos-operates-for-teams.md","learning/core/how-cartos-operates-for-teams",{"loc":4143},{"_path":2437,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":2440,"description":4546,"order":3212,"draft":7,"publicationDate":4547,"image":13,"learningSection":2399,"learningSortOrder":11,"learningBadge":2010,"learningBadgeTone":2011,"learningAccent":4548,"learningIcon":4549,"learningFilters":4550,"learningTags":4551,"head":4554,"author":4560,"category":35,"body":4561,"_type":1150,"_id":5427,"_source":1152,"_file":5428,"_stem":5429,"_extension":1155,"sitemap":5430},"A practical guide to the Company Settings page, including Cartos schedule controls, timezone selection, release webhook tokens, Google Analytics, and Amplitude setup.","03/24/2026","coral","mdi-cog-outline",[1632,2404],[4552,4553],"Company Settings","Admin",{"meta":4555},[4556,4558,4559],{"name":27,"content":4557},"anamap, company settings, cartos, ga4, amplitude, release webhook, timezone, schedule",{"name":30,"content":31},{"name":1644,"content":2414},{"id":2416,"name":2414,"role":2417},{"type":37,"children":4562,"toc":5402},[4563,4568,4573,4578,4582,4646,4651,4656,4661,4687,4692,4697,4715,4720,4728,4733,4738,4744,4749,4762,4767,4880,4890,4896,4901,4913,4918,4936,4941,4947,4952,4957,4963,5017,5027,5032,5037,5042,5048,5053,5071,5076,5101,5112,5124,5129,5135,5140,5158,5168,5173,5178,5184,5189,5202,5208,5213,5231,5236,5256,5261,5267,5272,5277,5282,5287,5292,5305,5310,5315,5320,5348,5353,5358,5362,5390],{"type":40,"tag":41,"props":4564,"children":4566},{"id":4565},"company-settings-configure-cartos-integrations-and-webhooks",[4567],{"type":46,"value":2440},{"type":40,"tag":130,"props":4569,"children":4570},{},[4571],{"type":46,"value":4572},"The Company Settings page is where you control how Cartos runs for your company and how Anamap connects to the systems around it.",{"type":40,"tag":130,"props":4574,"children":4575},{},[4576],{"type":46,"value":4577},"If you only visit one operational page in Anamap, this is usually the right one.",{"type":40,"tag":49,"props":4579,"children":4580},{"id":51},[4581],{"type":46,"value":54},{"type":40,"tag":56,"props":4583,"children":4584},{},[4585,4594,4603,4612,4621,4630,4639],{"type":40,"tag":60,"props":4586,"children":4587},{},[4588],{"type":40,"tag":64,"props":4589,"children":4591},{"href":4590},"#what-lives-on-the-company-settings-page",[4592],{"type":46,"value":4593},"What lives on the Company Settings page",{"type":40,"tag":60,"props":4595,"children":4596},{},[4597],{"type":40,"tag":64,"props":4598,"children":4600},{"href":4599},"#how-to-open-company-settings",[4601],{"type":46,"value":4602},"How to open Company Settings",{"type":40,"tag":60,"props":4604,"children":4605},{},[4606],{"type":40,"tag":64,"props":4607,"children":4609},{"href":4608},"#cartos-schedule-and-timezone",[4610],{"type":46,"value":4611},"Cartos schedule and timezone",{"type":40,"tag":60,"props":4613,"children":4614},{},[4615],{"type":40,"tag":64,"props":4616,"children":4618},{"href":4617},"#cartos-release-trigger-token",[4619],{"type":46,"value":4620},"Cartos release trigger token",{"type":40,"tag":60,"props":4622,"children":4623},{},[4624],{"type":40,"tag":64,"props":4625,"children":4627},{"href":4626},"#google-analytics-setup",[4628],{"type":46,"value":4629},"Google Analytics setup",{"type":40,"tag":60,"props":4631,"children":4632},{},[4633],{"type":40,"tag":64,"props":4634,"children":4636},{"href":4635},"#amplitude-setup",[4637],{"type":46,"value":4638},"Amplitude setup",{"type":40,"tag":60,"props":4640,"children":4641},{},[4642],{"type":40,"tag":64,"props":4643,"children":4644},{"href":1713},[4645],{"type":46,"value":1716},{"type":40,"tag":49,"props":4647,"children":4649},{"id":4648},"what-lives-on-the-company-settings-page",[4650],{"type":46,"value":4593},{"type":40,"tag":130,"props":4652,"children":4653},{},[4654],{"type":46,"value":4655},"This page currently handles the most important company-level controls for Cartos and your analytics connections.",{"type":40,"tag":130,"props":4657,"children":4658},{},[4659],{"type":46,"value":4660},"That includes:",{"type":40,"tag":56,"props":4662,"children":4663},{},[4664,4669,4674,4679,4683],{"type":40,"tag":60,"props":4665,"children":4666},{},[4667],{"type":46,"value":4668},"Cartos release trigger token management",{"type":40,"tag":60,"props":4670,"children":4671},{},[4672],{"type":46,"value":4673},"Cartos schedule interval selection",{"type":40,"tag":60,"props":4675,"children":4676},{},[4677],{"type":46,"value":4678},"Company timezone selection for scheduled runs",{"type":40,"tag":60,"props":4680,"children":4681},{},[4682],{"type":46,"value":4629},{"type":40,"tag":60,"props":4684,"children":4685},{},[4686],{"type":46,"value":4638},{"type":40,"tag":130,"props":4688,"children":4689},{},[4690],{"type":46,"value":4691},"Some of these settings affect how Cartos analyzes data. Others affect how it gets context into the system in the first place.",{"type":40,"tag":49,"props":4693,"children":4695},{"id":4694},"how-to-open-company-settings",[4696],{"type":46,"value":4602},{"type":40,"tag":897,"props":4698,"children":4699},{},[4700,4705,4710],{"type":40,"tag":60,"props":4701,"children":4702},{},[4703],{"type":46,"value":4704},"Select the company you want to work in from the company switcher.",{"type":40,"tag":60,"props":4706,"children":4707},{},[4708],{"type":46,"value":4709},"Open the Company Dashboard.",{"type":40,"tag":60,"props":4711,"children":4712},{},[4713],{"type":46,"value":4714},"Click the gear icon to open Company Settings.",{"type":40,"tag":130,"props":4716,"children":4717},{},[4718],{"type":46,"value":4719},"If you are documenting an operating process for your team, this is the page to bookmark.",{"type":40,"tag":130,"props":4721,"children":4722},{},[4723],{"type":40,"tag":906,"props":4724,"children":4727},{"alt":4725,"src":4726},"Cartos schedule section in Company Settings","/images/learning/core/company-settings-cartos-schedule.png",[],{"type":40,"tag":49,"props":4729,"children":4731},{"id":4730},"cartos-schedule-and-timezone",[4732],{"type":46,"value":4611},{"type":40,"tag":130,"props":4734,"children":4735},{},[4736],{"type":46,"value":4737},"Cartos can run on a company-specific schedule so it checks for important changes without waiting for a person to open a dashboard or send a prompt.",{"type":40,"tag":4369,"props":4739,"children":4741},{"id":4740},"what-you-can-control",[4742],{"type":46,"value":4743},"What you can control",{"type":40,"tag":130,"props":4745,"children":4746},{},[4747],{"type":46,"value":4748},"The schedule section lets you choose:",{"type":40,"tag":56,"props":4750,"children":4751},{},[4752,4757],{"type":40,"tag":60,"props":4753,"children":4754},{},[4755],{"type":46,"value":4756},"A preset interval",{"type":40,"tag":60,"props":4758,"children":4759},{},[4760],{"type":46,"value":4761},"The company timezone used for local run timing",{"type":40,"tag":130,"props":4763,"children":4764},{},[4765],{"type":46,"value":4766},"The current presets are:",{"type":40,"tag":169,"props":4768,"children":4769},{},[4770,4786],{"type":40,"tag":173,"props":4771,"children":4772},{},[4773],{"type":40,"tag":177,"props":4774,"children":4775},{},[4776,4781],{"type":40,"tag":181,"props":4777,"children":4778},{},[4779],{"type":46,"value":4780},"Interval",{"type":40,"tag":181,"props":4782,"children":4783},{},[4784],{"type":46,"value":4785},"Approximate credits per month",{"type":40,"tag":197,"props":4787,"children":4788},{},[4789,4802,4815,4828,4841,4854,4867],{"type":40,"tag":177,"props":4790,"children":4791},{},[4792,4797],{"type":40,"tag":204,"props":4793,"children":4794},{},[4795],{"type":46,"value":4796},"Every 1 hour",{"type":40,"tag":204,"props":4798,"children":4799},{},[4800],{"type":46,"value":4801},"~730",{"type":40,"tag":177,"props":4803,"children":4804},{},[4805,4810],{"type":40,"tag":204,"props":4806,"children":4807},{},[4808],{"type":46,"value":4809},"Every 2 hours",{"type":40,"tag":204,"props":4811,"children":4812},{},[4813],{"type":46,"value":4814},"~365",{"type":40,"tag":177,"props":4816,"children":4817},{},[4818,4823],{"type":40,"tag":204,"props":4819,"children":4820},{},[4821],{"type":46,"value":4822},"Every 4 hours",{"type":40,"tag":204,"props":4824,"children":4825},{},[4826],{"type":46,"value":4827},"~182",{"type":40,"tag":177,"props":4829,"children":4830},{},[4831,4836],{"type":40,"tag":204,"props":4832,"children":4833},{},[4834],{"type":46,"value":4835},"Every 8 hours",{"type":40,"tag":204,"props":4837,"children":4838},{},[4839],{"type":46,"value":4840},"~91",{"type":40,"tag":177,"props":4842,"children":4843},{},[4844,4849],{"type":40,"tag":204,"props":4845,"children":4846},{},[4847],{"type":46,"value":4848},"Every 12 hours",{"type":40,"tag":204,"props":4850,"children":4851},{},[4852],{"type":46,"value":4853},"~61",{"type":40,"tag":177,"props":4855,"children":4856},{},[4857,4862],{"type":40,"tag":204,"props":4858,"children":4859},{},[4860],{"type":46,"value":4861},"Daily",{"type":40,"tag":204,"props":4863,"children":4864},{},[4865],{"type":46,"value":4866},"~30",{"type":40,"tag":177,"props":4868,"children":4869},{},[4870,4875],{"type":40,"tag":204,"props":4871,"children":4872},{},[4873],{"type":46,"value":4874},"Once a week",{"type":40,"tag":204,"props":4876,"children":4877},{},[4878],{"type":46,"value":4879},"~4",{"type":40,"tag":130,"props":4881,"children":4882},{},[4883,4885,4889],{"type":46,"value":4884},"The default is ",{"type":40,"tag":1020,"props":4886,"children":4887},{},[4888],{"type":46,"value":4835},{"type":46,"value":1466},{"type":40,"tag":4369,"props":4891,"children":4893},{"id":4892},"why-timezone-matters",[4894],{"type":46,"value":4895},"Why timezone matters",{"type":40,"tag":130,"props":4897,"children":4898},{},[4899],{"type":46,"value":4900},"Cartos interprets the chosen schedule in the timezone saved for the company.",{"type":40,"tag":130,"props":4902,"children":4903},{},[4904,4906,4911],{"type":46,"value":4905},"That matters because a good schedule is not just about frequency. It is also about ",{"type":40,"tag":4517,"props":4907,"children":4908},{},[4909],{"type":46,"value":4910},"when",{"type":46,"value":4912}," the runs happen locally.",{"type":40,"tag":130,"props":4914,"children":4915},{},[4916],{"type":46,"value":4917},"For example, the every-8-hours preset is designed to hit three useful checkpoints in local time:",{"type":40,"tag":56,"props":4919,"children":4920},{},[4921,4926,4931],{"type":40,"tag":60,"props":4922,"children":4923},{},[4924],{"type":46,"value":4925},"12:00 AM",{"type":40,"tag":60,"props":4927,"children":4928},{},[4929],{"type":46,"value":4930},"8:00 AM",{"type":40,"tag":60,"props":4932,"children":4933},{},[4934],{"type":46,"value":4935},"4:00 PM",{"type":40,"tag":130,"props":4937,"children":4938},{},[4939],{"type":46,"value":4940},"That gives your team a fresh read before the workday starts, another check near the end of the business day, and one overnight pass.",{"type":40,"tag":4369,"props":4942,"children":4944},{"id":4943},"what-happens-when-autonomous-mode-is-off",[4945],{"type":46,"value":4946},"What happens when autonomous mode is off",{"type":40,"tag":130,"props":4948,"children":4949},{},[4950],{"type":46,"value":4951},"If your company has not enabled Cartos autonomous mode yet, Anamap still lets you save the schedule and timezone.",{"type":40,"tag":130,"props":4953,"children":4954},{},[4955],{"type":46,"value":4956},"That means you can configure the operating rhythm first and turn on the broader autonomous workflow later.",{"type":40,"tag":4369,"props":4958,"children":4960},{"id":4959},"when-to-choose-each-interval",[4961],{"type":46,"value":4962},"When to choose each interval",{"type":40,"tag":56,"props":4964,"children":4965},{},[4966,4982,4997,5007],{"type":40,"tag":60,"props":4967,"children":4968},{},[4969,4971,4975,4976,4980],{"type":46,"value":4970},"Choose ",{"type":40,"tag":1020,"props":4972,"children":4973},{},[4974],{"type":46,"value":4796},{"type":46,"value":2550},{"type":40,"tag":1020,"props":4977,"children":4978},{},[4979],{"type":46,"value":4809},{"type":46,"value":4981}," if your business changes quickly and the team wants aggressive monitoring.",{"type":40,"tag":60,"props":4983,"children":4984},{},[4985,4986,4990,4991,4995],{"type":46,"value":4970},{"type":40,"tag":1020,"props":4987,"children":4988},{},[4989],{"type":46,"value":4822},{"type":46,"value":2550},{"type":40,"tag":1020,"props":4992,"children":4993},{},[4994],{"type":46,"value":4835},{"type":46,"value":4996}," if you want a strong proactive cadence without burning through credits too quickly.",{"type":40,"tag":60,"props":4998,"children":4999},{},[5000,5001,5005],{"type":46,"value":4970},{"type":40,"tag":1020,"props":5002,"children":5003},{},[5004],{"type":46,"value":4861},{"type":46,"value":5006}," if Cartos should behave more like a morning analyst check-in.",{"type":40,"tag":60,"props":5008,"children":5009},{},[5010,5011,5015],{"type":46,"value":4970},{"type":40,"tag":1020,"props":5012,"children":5013},{},[5014],{"type":46,"value":4874},{"type":46,"value":5016}," if you want periodic proactive review but most of your work is still reactive.",{"type":40,"tag":130,"props":5018,"children":5019},{},[5020,5022,5026],{"type":46,"value":5021},"For a broader explanation of how Cartos behaves between runs and outreach, see ",{"type":40,"tag":64,"props":5023,"children":5024},{"href":4143},[5025],{"type":46,"value":4146},{"type":46,"value":1466},{"type":40,"tag":49,"props":5028,"children":5030},{"id":5029},"cartos-release-trigger-token",[5031],{"type":46,"value":4620},{"type":40,"tag":130,"props":5033,"children":5034},{},[5035],{"type":46,"value":5036},"The release trigger section is for CI/CD workflows that should notify Cartos when a release ships.",{"type":40,"tag":130,"props":5038,"children":5039},{},[5040],{"type":46,"value":5041},"Use it when you want deployment events to create ownership and impact follow-up automatically.",{"type":40,"tag":4369,"props":5043,"children":5045},{"id":5044},"what-you-manage-here",[5046],{"type":46,"value":5047},"What you manage here",{"type":40,"tag":130,"props":5049,"children":5050},{},[5051],{"type":46,"value":5052},"On the settings page you can:",{"type":40,"tag":56,"props":5054,"children":5055},{},[5056,5061,5066],{"type":40,"tag":60,"props":5057,"children":5058},{},[5059],{"type":46,"value":5060},"Create or rotate the company-level webhook token",{"type":40,"tag":60,"props":5062,"children":5063},{},[5064],{"type":46,"value":5065},"Disable the token if you no longer want a company-specific token",{"type":40,"tag":60,"props":5067,"children":5068},{},[5069],{"type":46,"value":5070},"Confirm whether a token is currently configured",{"type":40,"tag":130,"props":5072,"children":5073},{},[5074],{"type":46,"value":5075},"The Company Settings page shows the webhook endpoint and the primary auth header to use:",{"type":40,"tag":56,"props":5077,"children":5078},{},[5079,5090],{"type":40,"tag":60,"props":5080,"children":5081},{},[5082,5084],{"type":46,"value":5083},"Endpoint: ",{"type":40,"tag":880,"props":5085,"children":5087},{"className":5086},[],[5088],{"type":46,"value":5089},"/api/public/cartos-release-trigger",{"type":40,"tag":60,"props":5091,"children":5092},{},[5093,5095],{"type":46,"value":5094},"Auth header: ",{"type":40,"tag":880,"props":5096,"children":5098},{"className":5097},[],[5099],{"type":46,"value":5100},"x-cartos-release-trigger-token",{"type":40,"tag":130,"props":5102,"children":5103},{},[5104,5106,5111],{"type":46,"value":5105},"If you want to wire this up from GitHub without building the request yourself, use the ",{"type":40,"tag":64,"props":5107,"children":5109},{"href":2449,"rel":5108},[1414],[5110],{"type":46,"value":2453},{"type":46,"value":1466},{"type":40,"tag":130,"props":5113,"children":5114},{},[5115,5117,5122],{"type":46,"value":5116},"If you want the fastest GitHub setup, prefer the reusable workflow at ",{"type":40,"tag":880,"props":5118,"children":5120},{"className":5119},[],[5121],{"type":46,"value":2481},{"type":46,"value":5123},". It wraps the underlying action so callers only need to provide the company ID and trigger token.",{"type":40,"tag":130,"props":5125,"children":5126},{},[5127],{"type":46,"value":5128},"Legacy aliases still work during the transition, but new setups should use the release trigger naming.",{"type":40,"tag":4369,"props":5130,"children":5132},{"id":5131},"when-to-use-a-company-token",[5133],{"type":46,"value":5134},"When to use a company token",{"type":40,"tag":130,"props":5136,"children":5137},{},[5138],{"type":46,"value":5139},"Use a company-level token when:",{"type":40,"tag":56,"props":5141,"children":5142},{},[5143,5148,5153],{"type":40,"tag":60,"props":5144,"children":5145},{},[5146],{"type":46,"value":5147},"Different companies need separate webhook credentials",{"type":40,"tag":60,"props":5149,"children":5150},{},[5151],{"type":46,"value":5152},"You want easier token rotation at the company level",{"type":40,"tag":60,"props":5154,"children":5155},{},[5156],{"type":46,"value":5157},"You do not want to depend only on a shared environment-level fallback token",{"type":40,"tag":130,"props":5159,"children":5160},{},[5161,5163,5167],{"type":46,"value":5162},"For payload examples, response codes, and implementation details, see ",{"type":40,"tag":64,"props":5164,"children":5165},{"href":2394},[5166],{"type":46,"value":2395},{"type":46,"value":1466},{"type":40,"tag":49,"props":5169,"children":5171},{"id":5170},"google-analytics-setup",[5172],{"type":46,"value":4629},{"type":40,"tag":130,"props":5174,"children":5175},{},[5176],{"type":46,"value":5177},"The Google Analytics section is a guided GA4 setup flow.",{"type":40,"tag":4369,"props":5179,"children":5181},{"id":5180},"what-you-need",[5182],{"type":46,"value":5183},"What you need",{"type":40,"tag":130,"props":5185,"children":5186},{},[5187],{"type":46,"value":5188},"You need:",{"type":40,"tag":56,"props":5190,"children":5191},{},[5192,5197],{"type":40,"tag":60,"props":5193,"children":5194},{},[5195],{"type":46,"value":5196},"A GA4 Property ID",{"type":40,"tag":60,"props":5198,"children":5199},{},[5200],{"type":46,"value":5201},"Admin access on the property if you want to grant service-account access automatically",{"type":40,"tag":4369,"props":5203,"children":5205},{"id":5204},"how-setup-works",[5206],{"type":46,"value":5207},"How setup works",{"type":40,"tag":130,"props":5209,"children":5210},{},[5211],{"type":46,"value":5212},"The UI walks you through three steps:",{"type":40,"tag":897,"props":5214,"children":5215},{},[5216,5221,5226],{"type":40,"tag":60,"props":5217,"children":5218},{},[5219],{"type":46,"value":5220},"Enter your GA4 Property ID.",{"type":40,"tag":60,"props":5222,"children":5223},{},[5224],{"type":46,"value":5225},"Grant the Anamap service account access.",{"type":40,"tag":60,"props":5227,"children":5228},{},[5229],{"type":46,"value":5230},"Verify the connection and save the configuration.",{"type":40,"tag":130,"props":5232,"children":5233},{},[5234],{"type":46,"value":5235},"You can either:",{"type":40,"tag":56,"props":5237,"children":5238},{},[5239,5244],{"type":40,"tag":60,"props":5240,"children":5241},{},[5242],{"type":46,"value":5243},"Use the automatic access flow, or",{"type":40,"tag":60,"props":5245,"children":5246},{},[5247,5249,5254],{"type":46,"value":5248},"Copy the service-account email and add it manually in Google Analytics with ",{"type":40,"tag":1020,"props":5250,"children":5251},{},[5252],{"type":46,"value":5253},"Viewer",{"type":46,"value":5255}," access",{"type":40,"tag":130,"props":5257,"children":5258},{},[5259],{"type":46,"value":5260},"Once connected, Cartos can query GA4 data for analysis and visualizations.",{"type":40,"tag":4369,"props":5262,"children":5264},{"id":5263},"good-operational-habit",[5265],{"type":46,"value":5266},"Good operational habit",{"type":40,"tag":130,"props":5268,"children":5269},{},[5270],{"type":46,"value":5271},"After connecting GA4, test a simple question in Cartos right away. That confirms the connection works before your team relies on it for real investigation.",{"type":40,"tag":49,"props":5273,"children":5275},{"id":5274},"amplitude-setup",[5276],{"type":46,"value":4638},{"type":40,"tag":130,"props":5278,"children":5279},{},[5280],{"type":46,"value":5281},"The Amplitude section lets you connect an Amplitude project to your company.",{"type":40,"tag":4369,"props":5283,"children":5285},{"id":5284},"what-you-need-1",[5286],{"type":46,"value":5183},{"type":40,"tag":130,"props":5288,"children":5289},{},[5290],{"type":46,"value":5291},"You need both:",{"type":40,"tag":56,"props":5293,"children":5294},{},[5295,5300],{"type":40,"tag":60,"props":5296,"children":5297},{},[5298],{"type":46,"value":5299},"An Amplitude API Key",{"type":40,"tag":60,"props":5301,"children":5302},{},[5303],{"type":46,"value":5304},"An Amplitude Secret Key",{"type":40,"tag":130,"props":5306,"children":5307},{},[5308],{"type":46,"value":5309},"These should come from the same project you want Cartos to analyze.",{"type":40,"tag":4369,"props":5311,"children":5313},{"id":5312},"how-setup-works-1",[5314],{"type":46,"value":5207},{"type":40,"tag":130,"props":5316,"children":5317},{},[5318],{"type":46,"value":5319},"The usual flow is:",{"type":40,"tag":897,"props":5321,"children":5322},{},[5323,5328,5333,5338,5343],{"type":40,"tag":60,"props":5324,"children":5325},{},[5326],{"type":46,"value":5327},"Open the correct Amplitude project.",{"type":40,"tag":60,"props":5329,"children":5330},{},[5331],{"type":46,"value":5332},"Copy the API Key and Secret Key.",{"type":40,"tag":60,"props":5334,"children":5335},{},[5336],{"type":46,"value":5337},"Paste them into Company Settings.",{"type":40,"tag":60,"props":5339,"children":5340},{},[5341],{"type":46,"value":5342},"Verify the connection.",{"type":40,"tag":60,"props":5344,"children":5345},{},[5346],{"type":46,"value":5347},"Save the configuration.",{"type":40,"tag":130,"props":5349,"children":5350},{},[5351],{"type":46,"value":5352},"If the credentials are already stored, the page can show them as configured even if the integration is currently toggled off.",{"type":40,"tag":130,"props":5354,"children":5355},{},[5356],{"type":46,"value":5357},"That separation is useful when you want to preserve credentials without actively using the integration.",{"type":40,"tag":49,"props":5359,"children":5360},{"id":1956},[5361],{"type":46,"value":1716},{"type":40,"tag":56,"props":5363,"children":5364},{},[5365,5370,5375,5380,5385],{"type":40,"tag":60,"props":5366,"children":5367},{},[5368],{"type":46,"value":5369},"Start with a timezone and schedule that match how your team actually works. A “technically correct” cadence is not useful if it lands at the wrong times for the business.",{"type":40,"tag":60,"props":5371,"children":5372},{},[5373],{"type":46,"value":5374},"Use the every-8-hours preset as a sane default unless you know you need more or less proactive coverage.",{"type":40,"tag":60,"props":5376,"children":5377},{},[5378],{"type":46,"value":5379},"Rotate the release webhook token when responsibilities change or if the token has been broadly shared.",{"type":40,"tag":60,"props":5381,"children":5382},{},[5383],{"type":46,"value":5384},"Verify GA4 and Amplitude connections immediately after setup by asking Cartos a small, real question.",{"type":40,"tag":60,"props":5386,"children":5387},{},[5388],{"type":46,"value":5389},"Revisit Company Settings whenever you change analytics tooling, support ownership, or CI/CD workflows.",{"type":40,"tag":130,"props":5391,"children":5392},{},[5393,5395,5401],{"type":46,"value":5394},"If you are tuning how Cartos learns from conversations and schema discoveries, continue with ",{"type":40,"tag":64,"props":5396,"children":5398},{"href":5397},"/learning/core/ai-tuning-guide",[5399],{"type":46,"value":5400},"AI Tuning: Memory, Learnings, and Approval Workflow",{"type":46,"value":1466},{"title":8,"searchDepth":1139,"depth":1140,"links":5403},[5404,5405,5406,5407,5413,5417,5422,5426],{"id":51,"depth":1139,"text":54},{"id":4648,"depth":1139,"text":4593},{"id":4694,"depth":1139,"text":4602},{"id":4730,"depth":1139,"text":4611,"children":5408},[5409,5410,5411,5412],{"id":4740,"depth":1140,"text":4743},{"id":4892,"depth":1140,"text":4895},{"id":4943,"depth":1140,"text":4946},{"id":4959,"depth":1140,"text":4962},{"id":5029,"depth":1139,"text":4620,"children":5414},[5415,5416],{"id":5044,"depth":1140,"text":5047},{"id":5131,"depth":1140,"text":5134},{"id":5170,"depth":1139,"text":4629,"children":5418},[5419,5420,5421],{"id":5180,"depth":1140,"text":5183},{"id":5204,"depth":1140,"text":5207},{"id":5263,"depth":1140,"text":5266},{"id":5274,"depth":1139,"text":4638,"children":5423},[5424,5425],{"id":5284,"depth":1140,"text":5183},{"id":5312,"depth":1140,"text":5207},{"id":1956,"depth":1139,"text":1716},"content:learning:core:company-settings-guide.md","learning/core/company-settings-guide.md","learning/core/company-settings-guide",{"loc":2437},{"_path":5397,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":5400,"description":5432,"order":3230,"draft":7,"publicationDate":4547,"image":13,"learningSection":2009,"learningSortOrder":1162,"learningBadge":2400,"learningBadgeTone":2401,"learningAccent":18,"learningIcon":5433,"learningFilters":5434,"learningTags":5435,"head":5438,"author":5444,"category":35,"body":5445,"_type":1150,"_id":6238,"_source":1152,"_file":6239,"_stem":6240,"_extension":1155,"sitemap":6241},"How AI Tuning works in Anamap, including Cartos memory, onboarding context, schema learning, confidence thresholds, approval workflow, and auto-apply settings.","mdi-tune-variant",[1633],[5436,5437],"AI Tuning","Approvals",{"meta":5439},[5440,5442,5443],{"name":27,"content":5441},"anamap, ai tuning, cartos memory, learnings, confidence threshold, auto apply, approval workflow",{"name":30,"content":31},{"name":1644,"content":2414},{"id":2416,"name":2414,"role":2417},{"type":37,"children":5446,"toc":6212},[5447,5452,5457,5462,5475,5479,5554,5559,5564,5582,5587,5592,5603,5608,5613,5619,5624,5629,5652,5657,5663,5668,5673,5696,5701,5706,5711,5716,5721,5734,5739,5744,5749,5754,5759,5792,5797,5802,5830,5835,5840,5845,5853,5858,5891,5897,5936,5941,5946,5951,5956,5962,5967,5985,5991,5996,6014,6020,6025,6037,6042,6047,6053,6058,6064,6069,6075,6080,6085,6106,6112,6117,6122,6127,6132,6137,6170,6174,6202],{"type":40,"tag":41,"props":5448,"children":5450},{"id":5449},"ai-tuning-memory-learnings-and-approval-workflow",[5451],{"type":46,"value":5400},{"type":40,"tag":130,"props":5453,"children":5454},{},[5455],{"type":46,"value":5456},"The AI Tuning page is where you inspect what Cartos has learned about your company and decide how much of the schema-learning workflow should happen automatically.",{"type":40,"tag":130,"props":5458,"children":5459},{},[5460],{"type":46,"value":5461},"It helps answer two different questions:",{"type":40,"tag":56,"props":5463,"children":5464},{},[5465,5470],{"type":40,"tag":60,"props":5466,"children":5467},{},[5468],{"type":46,"value":5469},"What does Cartos already know?",{"type":40,"tag":60,"props":5471,"children":5472},{},[5473],{"type":46,"value":5474},"How aggressive should Anamap be about accepting AI-suggested schema changes?",{"type":40,"tag":49,"props":5476,"children":5477},{"id":51},[5478],{"type":46,"value":54},{"type":40,"tag":56,"props":5480,"children":5481},{},[5482,5491,5500,5509,5518,5527,5536,5545],{"type":40,"tag":60,"props":5483,"children":5484},{},[5485],{"type":40,"tag":64,"props":5486,"children":5488},{"href":5487},"#what-ai-tuning-controls",[5489],{"type":46,"value":5490},"What AI Tuning controls",{"type":40,"tag":60,"props":5492,"children":5493},{},[5494],{"type":40,"tag":64,"props":5495,"children":5497},{"href":5496},"#cartos-memory-and-onboarding-context",[5498],{"type":46,"value":5499},"Cartos memory and onboarding context",{"type":40,"tag":60,"props":5501,"children":5502},{},[5503],{"type":40,"tag":64,"props":5504,"children":5506},{"href":5505},"#derived-company-profile",[5507],{"type":46,"value":5508},"Derived company profile",{"type":40,"tag":60,"props":5510,"children":5511},{},[5512],{"type":40,"tag":64,"props":5513,"children":5515},{"href":5514},"#how-schema-learnings-happen",[5516],{"type":46,"value":5517},"How schema learnings happen",{"type":40,"tag":60,"props":5519,"children":5520},{},[5521],{"type":40,"tag":64,"props":5522,"children":5524},{"href":5523},"#auto-apply-controls",[5525],{"type":46,"value":5526},"Auto-apply controls",{"type":40,"tag":60,"props":5528,"children":5529},{},[5530],{"type":40,"tag":64,"props":5531,"children":5533},{"href":5532},"#confidence-threshold",[5534],{"type":46,"value":5535},"Confidence threshold",{"type":40,"tag":60,"props":5537,"children":5538},{},[5539],{"type":40,"tag":64,"props":5540,"children":5542},{"href":5541},"#approving-rejecting-and-rolling-back-learnings",[5543],{"type":46,"value":5544},"Approving, rejecting, and rolling back learnings",{"type":40,"tag":60,"props":5546,"children":5547},{},[5548],{"type":40,"tag":64,"props":5549,"children":5551},{"href":5550},"#who-should-change-these-settings",[5552],{"type":46,"value":5553},"Who should change these settings",{"type":40,"tag":49,"props":5555,"children":5557},{"id":5556},"what-ai-tuning-controls",[5558],{"type":46,"value":5490},{"type":40,"tag":130,"props":5560,"children":5561},{},[5562],{"type":46,"value":5563},"The page mixes two related but different systems:",{"type":40,"tag":897,"props":5565,"children":5566},{},[5567,5574],{"type":40,"tag":60,"props":5568,"children":5569},{},[5570],{"type":40,"tag":1020,"props":5571,"children":5572},{},[5573],{"type":46,"value":5499},{"type":40,"tag":60,"props":5575,"children":5576},{},[5577],{"type":40,"tag":1020,"props":5578,"children":5579},{},[5580],{"type":46,"value":5581},"The schema learning pipeline and approval queue",{"type":40,"tag":130,"props":5583,"children":5584},{},[5585],{"type":46,"value":5586},"That distinction matters.",{"type":40,"tag":130,"props":5588,"children":5589},{},[5590],{"type":46,"value":5591},"Cartos memory is durable context Cartos can reuse later during analysis. The schema learning pipeline is the older flow that proposes changes to attributes, events, views, descriptions, validations, and associations.",{"type":40,"tag":130,"props":5593,"children":5594},{},[5595,5597,5601],{"type":46,"value":5596},"The auto-apply controls on this page affect the schema learning pipeline. They do ",{"type":40,"tag":1020,"props":5598,"children":5599},{},[5600],{"type":46,"value":4521},{"type":46,"value":5602}," directly govern every piece of Cartos memory.",{"type":40,"tag":49,"props":5604,"children":5606},{"id":5605},"cartos-memory-and-onboarding-context",[5607],{"type":46,"value":5499},{"type":40,"tag":130,"props":5609,"children":5610},{},[5611],{"type":46,"value":5612},"At the top of AI Tuning you can inspect the knowledge Cartos has stored for future runs.",{"type":40,"tag":4369,"props":5614,"children":5616},{"id":5615},"cartos-memory",[5617],{"type":46,"value":5618},"Cartos Memory",{"type":40,"tag":130,"props":5620,"children":5621},{},[5622],{"type":46,"value":5623},"The Cartos Memory section shows durable knowledge chunks. These are pieces of retained context that Cartos can retrieve later when it needs to understand your business, terminology, or prior findings.",{"type":40,"tag":130,"props":5625,"children":5626},{},[5627],{"type":46,"value":5628},"Examples include:",{"type":40,"tag":56,"props":5630,"children":5631},{},[5632,5637,5642,5647],{"type":40,"tag":60,"props":5633,"children":5634},{},[5635],{"type":46,"value":5636},"business definitions",{"type":40,"tag":60,"props":5638,"children":5639},{},[5640],{"type":46,"value":5641},"recurring analytical caveats",{"type":40,"tag":60,"props":5643,"children":5644},{},[5645],{"type":46,"value":5646},"known ownership rules",{"type":40,"tag":60,"props":5648,"children":5649},{},[5650],{"type":46,"value":5651},"important operating context",{"type":40,"tag":130,"props":5653,"children":5654},{},[5655],{"type":46,"value":5656},"This memory is meant to reduce re-learning. If Cartos has already figured something out, it should not need to rediscover it from scratch every run.",{"type":40,"tag":4369,"props":5658,"children":5660},{"id":5659},"cartos-onboarding-context",[5661],{"type":46,"value":5662},"Cartos Onboarding Context",{"type":40,"tag":130,"props":5664,"children":5665},{},[5666],{"type":46,"value":5667},"The onboarding section shows the questions Cartos uses to build a more useful company profile.",{"type":40,"tag":130,"props":5669,"children":5670},{},[5671],{"type":46,"value":5672},"This helps Cartos learn things like:",{"type":40,"tag":56,"props":5674,"children":5675},{},[5676,5681,5686,5691],{"type":40,"tag":60,"props":5677,"children":5678},{},[5679],{"type":46,"value":5680},"what the business cares about most",{"type":40,"tag":60,"props":5682,"children":5683},{},[5684],{"type":46,"value":5685},"who owns which topics",{"type":40,"tag":60,"props":5687,"children":5688},{},[5689],{"type":46,"value":5690},"what “good” and “bad” performance looks like",{"type":40,"tag":60,"props":5692,"children":5693},{},[5694],{"type":46,"value":5695},"which questions are urgent versus routine",{"type":40,"tag":130,"props":5697,"children":5698},{},[5699],{"type":46,"value":5700},"Some answers come from direct responses. Others may be inferred from the current recipient configuration when explicit answers do not exist yet.",{"type":40,"tag":130,"props":5702,"children":5703},{},[5704],{"type":46,"value":5705},"That means you may sometimes see a useful fallback answer even before somebody has formally replied to an onboarding prompt.",{"type":40,"tag":49,"props":5707,"children":5709},{"id":5708},"derived-company-profile",[5710],{"type":46,"value":5508},{"type":40,"tag":130,"props":5712,"children":5713},{},[5714],{"type":46,"value":5715},"The Derived Company Profile section shows the current high-level context Cartos is using when it plans analysis and outreach.",{"type":40,"tag":130,"props":5717,"children":5718},{},[5719],{"type":46,"value":5720},"That usually includes:",{"type":40,"tag":56,"props":5722,"children":5723},{},[5724,5729],{"type":40,"tag":60,"props":5725,"children":5726},{},[5727],{"type":46,"value":5728},"a company description",{"type":40,"tag":60,"props":5730,"children":5731},{},[5732],{"type":46,"value":5733},"analytics pointers or caveats",{"type":40,"tag":130,"props":5735,"children":5736},{},[5737],{"type":46,"value":5738},"Think of this as the operating summary Cartos carries into future work.",{"type":40,"tag":130,"props":5740,"children":5741},{},[5742],{"type":46,"value":5743},"If the profile is thin or generic, the best fix is usually not a more complicated prompt. The better fix is better onboarding answers, better recipient coverage, and clearer operational context.",{"type":40,"tag":49,"props":5745,"children":5747},{"id":5746},"how-schema-learnings-happen",[5748],{"type":46,"value":5517},{"type":40,"tag":130,"props":5750,"children":5751},{},[5752],{"type":46,"value":5753},"The schema learning system is focused on the Anamap data model.",{"type":40,"tag":130,"props":5755,"children":5756},{},[5757],{"type":46,"value":5758},"It can propose or apply changes when it discovers things like:",{"type":40,"tag":56,"props":5760,"children":5761},{},[5762,5767,5772,5777,5782,5787],{"type":40,"tag":60,"props":5763,"children":5764},{},[5765],{"type":46,"value":5766},"new attributes",{"type":40,"tag":60,"props":5768,"children":5769},{},[5770],{"type":46,"value":5771},"new events",{"type":40,"tag":60,"props":5773,"children":5774},{},[5775],{"type":46,"value":5776},"new views",{"type":40,"tag":60,"props":5778,"children":5779},{},[5780],{"type":46,"value":5781},"description improvements",{"type":40,"tag":60,"props":5783,"children":5784},{},[5785],{"type":46,"value":5786},"validation rules",{"type":40,"tag":60,"props":5788,"children":5789},{},[5790],{"type":46,"value":5791},"object associations",{"type":40,"tag":130,"props":5793,"children":5794},{},[5795],{"type":46,"value":5796},"Each learning carries a confidence score and a status.",{"type":40,"tag":130,"props":5798,"children":5799},{},[5800],{"type":46,"value":5801},"Typical statuses include:",{"type":40,"tag":56,"props":5803,"children":5804},{},[5805,5810,5815,5820,5825],{"type":40,"tag":60,"props":5806,"children":5807},{},[5808],{"type":46,"value":5809},"pending review",{"type":40,"tag":60,"props":5811,"children":5812},{},[5813],{"type":46,"value":5814},"auto-applied",{"type":40,"tag":60,"props":5816,"children":5817},{},[5818],{"type":46,"value":5819},"approved manually",{"type":40,"tag":60,"props":5821,"children":5822},{},[5823],{"type":46,"value":5824},"rejected",{"type":40,"tag":60,"props":5826,"children":5827},{},[5828],{"type":46,"value":5829},"rolled back",{"type":40,"tag":130,"props":5831,"children":5832},{},[5833],{"type":46,"value":5834},"This gives your team a way to move quickly without giving up control.",{"type":40,"tag":49,"props":5836,"children":5838},{"id":5837},"auto-apply-controls",[5839],{"type":46,"value":5526},{"type":40,"tag":130,"props":5841,"children":5842},{},[5843],{"type":46,"value":5844},"The Schema Learning Auto-Apply section lets owners decide which kinds of learnings should be accepted automatically.",{"type":40,"tag":130,"props":5846,"children":5847},{},[5848],{"type":40,"tag":906,"props":5849,"children":5852},{"alt":5850,"src":5851},"Schema learning auto-apply controls in AI Tuning","/images/learning/core/ai-tuning-schema-learning.png",[],{"type":40,"tag":130,"props":5854,"children":5855},{},[5856],{"type":46,"value":5857},"The current controls cover:",{"type":40,"tag":56,"props":5859,"children":5860},{},[5861,5866,5871,5876,5881,5886],{"type":40,"tag":60,"props":5862,"children":5863},{},[5864],{"type":46,"value":5865},"Auto-accept new Attributes",{"type":40,"tag":60,"props":5867,"children":5868},{},[5869],{"type":46,"value":5870},"Auto-accept new Events",{"type":40,"tag":60,"props":5872,"children":5873},{},[5874],{"type":46,"value":5875},"Auto-accept new Views",{"type":40,"tag":60,"props":5877,"children":5878},{},[5879],{"type":46,"value":5880},"Auto-accept description updates",{"type":40,"tag":60,"props":5882,"children":5883},{},[5884],{"type":46,"value":5885},"Auto-accept validation updates",{"type":40,"tag":60,"props":5887,"children":5888},{},[5889],{"type":46,"value":5890},"Auto-accept associations",{"type":40,"tag":4369,"props":5892,"children":5894},{"id":5893},"a-practical-way-to-think-about-these",[5895],{"type":46,"value":5896},"A practical way to think about these",{"type":40,"tag":56,"props":5898,"children":5899},{},[5900,5910,5920],{"type":40,"tag":60,"props":5901,"children":5902},{},[5903,5908],{"type":40,"tag":1020,"props":5904,"children":5905},{},[5906],{"type":46,"value":5907},"Attributes, Events, and Views",{"type":46,"value":5909}," are structural. Turning these on makes discovery faster, but it can create placeholders that still need cleanup.",{"type":40,"tag":60,"props":5911,"children":5912},{},[5913,5918],{"type":40,"tag":1020,"props":5914,"children":5915},{},[5916],{"type":46,"value":5917},"Description updates",{"type":46,"value":5919}," are lower risk for many teams and can be a good candidate for auto-apply.",{"type":40,"tag":60,"props":5921,"children":5922},{},[5923,5928,5929,5934],{"type":40,"tag":1020,"props":5924,"children":5925},{},[5926],{"type":46,"value":5927},"Validation updates",{"type":46,"value":1129},{"type":40,"tag":1020,"props":5930,"children":5931},{},[5932],{"type":46,"value":5933},"associations",{"type":46,"value":5935}," can have bigger downstream effects, so many teams should treat these more carefully.",{"type":40,"tag":130,"props":5937,"children":5938},{},[5939],{"type":46,"value":5940},"If your schema is still early and moving quickly, a more permissive setup may help. If your schema is already mature and widely used, a more conservative setup is usually better.",{"type":40,"tag":49,"props":5942,"children":5944},{"id":5943},"confidence-threshold",[5945],{"type":46,"value":5535},{"type":40,"tag":130,"props":5947,"children":5948},{},[5949],{"type":46,"value":5950},"The confidence threshold controls which learnings are allowed to auto-apply.",{"type":40,"tag":130,"props":5952,"children":5953},{},[5954],{"type":46,"value":5955},"Only learnings above that threshold are automatically accepted.",{"type":40,"tag":4369,"props":5957,"children":5959},{"id":5958},"what-raising-the-threshold-does",[5960],{"type":46,"value":5961},"What raising the threshold does",{"type":40,"tag":130,"props":5963,"children":5964},{},[5965],{"type":46,"value":5966},"Raising the threshold means:",{"type":40,"tag":56,"props":5968,"children":5969},{},[5970,5975,5980],{"type":40,"tag":60,"props":5971,"children":5972},{},[5973],{"type":46,"value":5974},"fewer automatic changes",{"type":40,"tag":60,"props":5976,"children":5977},{},[5978],{"type":46,"value":5979},"more items left for manual review",{"type":40,"tag":60,"props":5981,"children":5982},{},[5983],{"type":46,"value":5984},"higher average confidence in the changes that do auto-apply",{"type":40,"tag":4369,"props":5986,"children":5988},{"id":5987},"what-lowering-the-threshold-does",[5989],{"type":46,"value":5990},"What lowering the threshold does",{"type":40,"tag":130,"props":5992,"children":5993},{},[5994],{"type":46,"value":5995},"Lowering the threshold means:",{"type":40,"tag":56,"props":5997,"children":5998},{},[5999,6004,6009],{"type":40,"tag":60,"props":6000,"children":6001},{},[6002],{"type":46,"value":6003},"more automatic movement",{"type":40,"tag":60,"props":6005,"children":6006},{},[6007],{"type":46,"value":6008},"faster schema evolution",{"type":40,"tag":60,"props":6010,"children":6011},{},[6012],{"type":46,"value":6013},"more risk of accepting changes your team may want to review first",{"type":40,"tag":4369,"props":6015,"children":6017},{"id":6016},"a-good-default-mindset",[6018],{"type":46,"value":6019},"A good default mindset",{"type":40,"tag":130,"props":6021,"children":6022},{},[6023],{"type":46,"value":6024},"If your team is still learning how the AI behaves, stay closer to the default and change one variable at a time.",{"type":40,"tag":130,"props":6026,"children":6027},{},[6028,6030,6035],{"type":46,"value":6029},"If you loosen the threshold ",{"type":40,"tag":4517,"props":6031,"children":6032},{},[6033],{"type":46,"value":6034},"and",{"type":46,"value":6036}," turn on many auto-accept categories at once, it becomes harder to understand which setting caused a change in behavior.",{"type":40,"tag":49,"props":6038,"children":6040},{"id":6039},"approving-rejecting-and-rolling-back-learnings",[6041],{"type":46,"value":5544},{"type":40,"tag":130,"props":6043,"children":6044},{},[6045],{"type":46,"value":6046},"The learning queue is where human review happens when a change is not auto-applied or when a team wants to revisit what the AI already did.",{"type":40,"tag":4369,"props":6048,"children":6050},{"id":6049},"approve",[6051],{"type":46,"value":6052},"Approve",{"type":40,"tag":130,"props":6054,"children":6055},{},[6056],{"type":46,"value":6057},"Use approval when the learning is correct and should be applied to the schema.",{"type":40,"tag":4369,"props":6059,"children":6061},{"id":6060},"reject",[6062],{"type":46,"value":6063},"Reject",{"type":40,"tag":130,"props":6065,"children":6066},{},[6067],{"type":46,"value":6068},"Use rejection when the learning is wrong, misleading, or not something your team wants represented in Anamap.",{"type":40,"tag":4369,"props":6070,"children":6072},{"id":6071},"roll-back",[6073],{"type":46,"value":6074},"Roll back",{"type":40,"tag":130,"props":6076,"children":6077},{},[6078],{"type":46,"value":6079},"Use rollback when a learning was applied but should be undone.",{"type":40,"tag":130,"props":6081,"children":6082},{},[6083],{"type":46,"value":6084},"That makes rollback different from rejection:",{"type":40,"tag":56,"props":6086,"children":6087},{},[6088,6097],{"type":40,"tag":60,"props":6089,"children":6090},{},[6091,6095],{"type":40,"tag":1020,"props":6092,"children":6093},{},[6094],{"type":46,"value":6063},{"type":46,"value":6096}," says “do not apply this.”",{"type":40,"tag":60,"props":6098,"children":6099},{},[6100,6104],{"type":40,"tag":1020,"props":6101,"children":6102},{},[6103],{"type":46,"value":6074},{"type":46,"value":6105}," says “this was applied already, undo it.”",{"type":40,"tag":4369,"props":6107,"children":6109},{"id":6108},"operational-advice",[6110],{"type":46,"value":6111},"Operational advice",{"type":40,"tag":130,"props":6113,"children":6114},{},[6115],{"type":46,"value":6116},"Review pending learnings regularly instead of letting the queue age indefinitely. A stale queue makes it harder to tell which learnings were useful and which ones were simply never reviewed.",{"type":40,"tag":49,"props":6118,"children":6120},{"id":6119},"who-should-change-these-settings",[6121],{"type":46,"value":5553},{"type":40,"tag":130,"props":6123,"children":6124},{},[6125],{"type":46,"value":6126},"The schema learning controls are owner-only for a reason.",{"type":40,"tag":130,"props":6128,"children":6129},{},[6130],{"type":46,"value":6131},"These settings affect how quickly the data model changes, and the wrong configuration can create extra cleanup work for the whole company.",{"type":40,"tag":130,"props":6133,"children":6134},{},[6135],{"type":46,"value":6136},"In practice:",{"type":40,"tag":56,"props":6138,"children":6139},{},[6140,6150,6160],{"type":40,"tag":60,"props":6141,"children":6142},{},[6143,6148],{"type":40,"tag":1020,"props":6144,"children":6145},{},[6146],{"type":46,"value":6147},"Owners",{"type":46,"value":6149}," should set the auto-apply strategy and confidence threshold.",{"type":40,"tag":60,"props":6151,"children":6152},{},[6153,6158],{"type":40,"tag":1020,"props":6154,"children":6155},{},[6156],{"type":46,"value":6157},"Admins and owners",{"type":46,"value":6159}," can still inspect operational Cartos behavior and, in some cases, manage outreach recipients and agent runs.",{"type":40,"tag":60,"props":6161,"children":6162},{},[6163,6168],{"type":40,"tag":1020,"props":6164,"children":6165},{},[6166],{"type":46,"value":6167},"The whole team",{"type":46,"value":6169}," benefits from providing clearer context so Cartos has less ambiguity to resolve.",{"type":40,"tag":49,"props":6171,"children":6172},{"id":1956},[6173],{"type":46,"value":1716},{"type":40,"tag":56,"props":6175,"children":6176},{},[6177,6182,6187,6192,6197],{"type":40,"tag":60,"props":6178,"children":6179},{},[6180],{"type":46,"value":6181},"Start conservative with validations and associations.",{"type":40,"tag":60,"props":6183,"children":6184},{},[6185],{"type":46,"value":6186},"Use auto-apply more freely for lower-risk categories if your team is moving fast.",{"type":40,"tag":60,"props":6188,"children":6189},{},[6190],{"type":46,"value":6191},"Review the pending queue on a regular cadence instead of in bursts.",{"type":40,"tag":60,"props":6193,"children":6194},{},[6195],{"type":46,"value":6196},"Treat onboarding context and durable memory as part of AI quality, not just metadata.",{"type":40,"tag":60,"props":6198,"children":6199},{},[6200],{"type":46,"value":6201},"If Cartos keeps missing context, improve the company profile and recipient coverage before trying to “fix” everything with a more complex threshold setup.",{"type":40,"tag":130,"props":6203,"children":6204},{},[6205,6207,6211],{"type":46,"value":6206},"If you want to improve the quality of what Cartos produces across chat, email, and Slack, continue with ",{"type":40,"tag":64,"props":6208,"children":6209},{"href":4150},[6210],{"type":46,"value":4153},{"type":46,"value":1466},{"title":8,"searchDepth":1139,"depth":1140,"links":6213},[6214,6215,6216,6220,6221,6222,6225,6230,6236,6237],{"id":51,"depth":1139,"text":54},{"id":5556,"depth":1139,"text":5490},{"id":5605,"depth":1139,"text":5499,"children":6217},[6218,6219],{"id":5615,"depth":1140,"text":5618},{"id":5659,"depth":1140,"text":5662},{"id":5708,"depth":1139,"text":5508},{"id":5746,"depth":1139,"text":5517},{"id":5837,"depth":1139,"text":5526,"children":6223},[6224],{"id":5893,"depth":1140,"text":5896},{"id":5943,"depth":1139,"text":5535,"children":6226},[6227,6228,6229],{"id":5958,"depth":1140,"text":5961},{"id":5987,"depth":1140,"text":5990},{"id":6016,"depth":1140,"text":6019},{"id":6039,"depth":1139,"text":5544,"children":6231},[6232,6233,6234,6235],{"id":6049,"depth":1140,"text":6052},{"id":6060,"depth":1140,"text":6063},{"id":6071,"depth":1140,"text":6074},{"id":6108,"depth":1140,"text":6111},{"id":6119,"depth":1139,"text":5553},{"id":1956,"depth":1139,"text":1716},"content:learning:core:ai-tuning-guide.md","learning/core/ai-tuning-guide.md","learning/core/ai-tuning-guide",{"loc":5397},{"_path":4150,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":4153,"description":6243,"order":3248,"draft":7,"publicationDate":4547,"image":13,"learningSection":2009,"learningSortOrder":6244,"learningBadge":2010,"learningBadgeTone":2011,"learningAccent":1629,"learningIcon":6245,"learningFilters":6246,"learningTags":6247,"head":6250,"author":6256,"category":35,"body":6257,"_type":1150,"_id":7119,"_source":1152,"_file":7120,"_stem":7121,"_extension":1155,"sitemap":7122},"How to work with Cartos across the web app, email, and Slack, how recipient routing works, and what teams can do to help Cartos learn faster and produce stronger output.",30,"mdi-account-voice",[1633],[6248,6249],"Chat","Routing",{"meta":6251},[6252,6254,6255],{"name":27,"content":6253},"anamap, cartos, slack, email, web chat, recipients, topic experts, prompts, context",{"name":30,"content":31},{"name":1644,"content":2414},{"id":2416,"name":2414,"role":2417},{"type":37,"children":6258,"toc":7096},[6259,6264,6269,6274,6279,6292,6296,6362,6367,6372,6405,6410,6415,6420,6425,6433,6438,6461,6466,6489,6499,6505,6510,6515,6520,6525,6530,6553,6558,6562,6575,6585,6590,6595,6603,6608,6627,6632,6637,6642,6681,6686,6691,6714,6719,6724,6729,6762,6767,6773,6778,6796,6801,6806,6811,6816,6844,6850,6855,6860,6883,6888,6893,6899,6917,6923,6946,6952,6957,6975,6980,6985,6990,6995,7018,7023,7054,7058,7086],{"type":40,"tag":41,"props":6260,"children":6262},{"id":6261},"interacting-with-cartos-chat-email-slack-and-better-context",[6263],{"type":46,"value":4153},{"type":40,"tag":130,"props":6265,"children":6266},{},[6267],{"type":46,"value":6268},"Cartos is designed to work more like a teammate than a static analytics chatbot.",{"type":40,"tag":130,"props":6270,"children":6271},{},[6272],{"type":46,"value":6273},"You can ask it questions directly in the web app, and it can also follow up through Slack or email when it needs context from the right person.",{"type":40,"tag":130,"props":6275,"children":6276},{},[6277],{"type":46,"value":6278},"The quality of the results depends on two things together:",{"type":40,"tag":56,"props":6280,"children":6281},{},[6282,6287],{"type":40,"tag":60,"props":6283,"children":6284},{},[6285],{"type":46,"value":6286},"how you interact with Cartos",{"type":40,"tag":60,"props":6288,"children":6289},{},[6290],{"type":46,"value":6291},"how much useful context your company has already given it",{"type":40,"tag":49,"props":6293,"children":6294},{"id":51},[6295],{"type":46,"value":54},{"type":40,"tag":56,"props":6297,"children":6298},{},[6299,6308,6317,6326,6335,6344,6353],{"type":40,"tag":60,"props":6300,"children":6301},{},[6302],{"type":40,"tag":64,"props":6303,"children":6305},{"href":6304},"#the-three-main-interaction-modes",[6306],{"type":46,"value":6307},"The three main interaction modes",{"type":40,"tag":60,"props":6309,"children":6310},{},[6311],{"type":40,"tag":64,"props":6312,"children":6314},{"href":6313},"#using-cartos-in-the-web-app",[6315],{"type":46,"value":6316},"Using Cartos in the web app",{"type":40,"tag":60,"props":6318,"children":6319},{},[6320],{"type":40,"tag":64,"props":6321,"children":6323},{"href":6322},"#how-slack-and-email-outreach-work",[6324],{"type":46,"value":6325},"How Slack and email outreach work",{"type":40,"tag":60,"props":6327,"children":6328},{},[6329],{"type":40,"tag":64,"props":6330,"children":6332},{"href":6331},"#how-the-recipients-list-works",[6333],{"type":46,"value":6334},"How the recipients list works",{"type":40,"tag":60,"props":6336,"children":6337},{},[6338],{"type":40,"tag":64,"props":6339,"children":6341},{"href":6340},"#what-makes-cartos-output-better",[6342],{"type":46,"value":6343},"What makes Cartos output better",{"type":40,"tag":60,"props":6345,"children":6346},{},[6347],{"type":40,"tag":64,"props":6348,"children":6350},{"href":6349},"#prompt-and-reply-patterns-that-work-well",[6351],{"type":46,"value":6352},"Prompt and reply patterns that work well",{"type":40,"tag":60,"props":6354,"children":6355},{},[6356],{"type":40,"tag":64,"props":6357,"children":6359},{"href":6358},"#what-to-do-when-cartos-seems-blocked",[6360],{"type":46,"value":6361},"What to do when Cartos seems blocked",{"type":40,"tag":49,"props":6363,"children":6365},{"id":6364},"the-three-main-interaction-modes",[6366],{"type":46,"value":6307},{"type":40,"tag":130,"props":6368,"children":6369},{},[6370],{"type":46,"value":6371},"Cartos currently works across three practical channels:",{"type":40,"tag":56,"props":6373,"children":6374},{},[6375,6385,6395],{"type":40,"tag":60,"props":6376,"children":6377},{},[6378,6383],{"type":40,"tag":1020,"props":6379,"children":6380},{},[6381],{"type":46,"value":6382},"Web app chat",{"type":46,"value":6384}," for direct questions and follow-up analysis",{"type":40,"tag":60,"props":6386,"children":6387},{},[6388,6393],{"type":40,"tag":1020,"props":6389,"children":6390},{},[6391],{"type":46,"value":6392},"Slack",{"type":46,"value":6394}," for outreach and ongoing team conversations when Slack recipients are configured",{"type":40,"tag":60,"props":6396,"children":6397},{},[6398,6403],{"type":40,"tag":1020,"props":6399,"children":6400},{},[6401],{"type":46,"value":6402},"Email",{"type":46,"value":6404}," for outreach and follow-up when email recipients are configured",{"type":40,"tag":130,"props":6406,"children":6407},{},[6408],{"type":46,"value":6409},"These channels are complementary, not separate products.",{"type":40,"tag":130,"props":6411,"children":6412},{},[6413],{"type":46,"value":6414},"The same company context and retained knowledge can improve all of them.",{"type":40,"tag":49,"props":6416,"children":6418},{"id":6417},"using-cartos-in-the-web-app",[6419],{"type":46,"value":6316},{"type":40,"tag":130,"props":6421,"children":6422},{},[6423],{"type":46,"value":6424},"The web app is the fastest place to start.",{"type":40,"tag":130,"props":6426,"children":6427},{},[6428],{"type":40,"tag":906,"props":6429,"children":6432},{"alt":6430,"src":6431},"Company dashboard actions for improving context and asking Cartos questions","/images/learning/core/cartos-dashboard-actions.png",[],{"type":40,"tag":130,"props":6434,"children":6435},{},[6436],{"type":46,"value":6437},"It is best for:",{"type":40,"tag":56,"props":6439,"children":6440},{},[6441,6446,6451,6456],{"type":40,"tag":60,"props":6442,"children":6443},{},[6444],{"type":46,"value":6445},"asking broad analytical questions",{"type":40,"tag":60,"props":6447,"children":6448},{},[6449],{"type":46,"value":6450},"testing whether a new data connection is working",{"type":40,"tag":60,"props":6452,"children":6453},{},[6454],{"type":46,"value":6455},"following up on a prior answer",{"type":40,"tag":60,"props":6457,"children":6458},{},[6459],{"type":46,"value":6460},"requesting a chart or breakdown",{"type":40,"tag":130,"props":6462,"children":6463},{},[6464],{"type":46,"value":6465},"Examples of strong web-chat questions:",{"type":40,"tag":56,"props":6467,"children":6468},{},[6469,6474,6479,6484],{"type":40,"tag":60,"props":6470,"children":6471},{},[6472],{"type":46,"value":6473},"“Why did signups drop this week?”",{"type":40,"tag":60,"props":6475,"children":6476},{},[6477],{"type":46,"value":6478},"“What changed in conversion rate over the last 30 days?”",{"type":40,"tag":60,"props":6480,"children":6481},{},[6482],{"type":46,"value":6483},"“Compare paid and organic traffic quality last month.”",{"type":40,"tag":60,"props":6485,"children":6486},{},[6487],{"type":46,"value":6488},"“Show me which user segments drove the revenue decline.”",{"type":40,"tag":130,"props":6490,"children":6491},{},[6492,6494,6498],{"type":46,"value":6493},"If you want prompt examples specifically, see ",{"type":40,"tag":64,"props":6495,"children":6496},{"href":2005},[6497],{"type":46,"value":2006},{"type":46,"value":1466},{"type":40,"tag":4369,"props":6500,"children":6502},{"id":6501},"what-web-chat-is-good-at",[6503],{"type":46,"value":6504},"What web chat is good at",{"type":40,"tag":130,"props":6506,"children":6507},{},[6508],{"type":46,"value":6509},"Web chat is especially good when you already know the question you want answered.",{"type":40,"tag":130,"props":6511,"children":6512},{},[6513],{"type":46,"value":6514},"It is less about routing and more about direct investigation.",{"type":40,"tag":49,"props":6516,"children":6518},{"id":6517},"how-slack-and-email-outreach-work",[6519],{"type":46,"value":6325},{"type":40,"tag":130,"props":6521,"children":6522},{},[6523],{"type":46,"value":6524},"Slack and email matter when Cartos needs context from a human.",{"type":40,"tag":130,"props":6526,"children":6527},{},[6528],{"type":46,"value":6529},"That might happen when Cartos needs to know:",{"type":40,"tag":56,"props":6531,"children":6532},{},[6533,6538,6543,6548],{"type":40,"tag":60,"props":6534,"children":6535},{},[6536],{"type":46,"value":6537},"who owns a topic",{"type":40,"tag":60,"props":6539,"children":6540},{},[6541],{"type":46,"value":6542},"whether a KPI changed definition",{"type":40,"tag":60,"props":6544,"children":6545},{},[6546],{"type":46,"value":6547},"whether a release changed expected behavior",{"type":40,"tag":60,"props":6549,"children":6550},{},[6551],{"type":46,"value":6552},"whether a metric movement is known, expected, or already explained",{"type":40,"tag":130,"props":6554,"children":6555},{},[6556],{"type":46,"value":6557},"Cartos can contact people through Slack or email depending on the recipients your company has configured.",{"type":40,"tag":130,"props":6559,"children":6560},{},[6561],{"type":46,"value":6136},{"type":40,"tag":56,"props":6563,"children":6564},{},[6565,6570],{"type":40,"tag":60,"props":6566,"children":6567},{},[6568],{"type":46,"value":6569},"Slack is useful when the team works quickly and wants lightweight back-and-forth",{"type":40,"tag":60,"props":6571,"children":6572},{},[6573],{"type":46,"value":6574},"Email is useful when ownership is formal, external, or slower-moving",{"type":40,"tag":130,"props":6576,"children":6577},{},[6578,6580,6584],{"type":46,"value":6579},"For a broader operational overview, see ",{"type":40,"tag":64,"props":6581,"children":6582},{"href":4143},[6583],{"type":46,"value":4146},{"type":46,"value":1466},{"type":40,"tag":49,"props":6586,"children":6588},{"id":6587},"how-the-recipients-list-works",[6589],{"type":46,"value":6334},{"type":40,"tag":130,"props":6591,"children":6592},{},[6593],{"type":46,"value":6594},"The recipient configuration lives in the AI Tuning page under the Fulltime Agent Runs section.",{"type":40,"tag":130,"props":6596,"children":6597},{},[6598],{"type":40,"tag":906,"props":6599,"children":6602},{"alt":6600,"src":6601},"Recipient configuration and topic expert routing in AI Tuning","/images/learning/core/ai-tuning-recipient-configuration.png",[],{"type":40,"tag":130,"props":6604,"children":6605},{},[6606],{"type":46,"value":6607},"It has two parts:",{"type":40,"tag":56,"props":6609,"children":6610},{},[6611,6619],{"type":40,"tag":60,"props":6612,"children":6613},{},[6614],{"type":40,"tag":1020,"props":6615,"children":6616},{},[6617],{"type":46,"value":6618},"Recipients",{"type":40,"tag":60,"props":6620,"children":6621},{},[6622],{"type":40,"tag":1020,"props":6623,"children":6624},{},[6625],{"type":46,"value":6626},"Topic Experts",{"type":40,"tag":4369,"props":6628,"children":6630},{"id":6629},"recipients",[6631],{"type":46,"value":6618},{"type":40,"tag":130,"props":6633,"children":6634},{},[6635],{"type":46,"value":6636},"Recipients are the people or channels Cartos can contact for general outreach.",{"type":40,"tag":130,"props":6638,"children":6639},{},[6640],{"type":46,"value":6641},"Each recipient has:",{"type":40,"tag":56,"props":6643,"children":6644},{},[6645,6661,6666,6671,6676],{"type":40,"tag":60,"props":6646,"children":6647},{},[6648,6650,6655,6656],{"type":46,"value":6649},"a channel: ",{"type":40,"tag":880,"props":6651,"children":6653},{"className":6652},[],[6654],{"type":46,"value":4348},{"type":46,"value":2550},{"type":40,"tag":880,"props":6657,"children":6659},{"className":6658},[],[6660],{"type":46,"value":4360},{"type":40,"tag":60,"props":6662,"children":6663},{},[6664],{"type":46,"value":6665},"a target identifier: for example an email address, Slack user ID, or Slack channel",{"type":40,"tag":60,"props":6667,"children":6668},{},[6669],{"type":46,"value":6670},"an optional role tag",{"type":40,"tag":60,"props":6672,"children":6673},{},[6674],{"type":46,"value":6675},"a priority / contact order",{"type":40,"tag":60,"props":6677,"children":6678},{},[6679],{"type":46,"value":6680},"an active or inactive state",{"type":40,"tag":130,"props":6682,"children":6683},{},[6684],{"type":46,"value":6685},"The contact order matters because it influences who Cartos tries first for general questions.",{"type":40,"tag":130,"props":6687,"children":6688},{},[6689],{"type":46,"value":6690},"The current priority conventions are roughly:",{"type":40,"tag":56,"props":6692,"children":6693},{},[6694,6699,6704,6709],{"type":40,"tag":60,"props":6695,"children":6696},{},[6697],{"type":46,"value":6698},"Primary",{"type":40,"tag":60,"props":6700,"children":6701},{},[6702],{"type":46,"value":6703},"Early Backup",{"type":40,"tag":60,"props":6705,"children":6706},{},[6707],{"type":46,"value":6708},"Standard",{"type":40,"tag":60,"props":6710,"children":6711},{},[6712],{"type":46,"value":6713},"Last Resort",{"type":40,"tag":4369,"props":6715,"children":6717},{"id":6716},"topic-experts",[6718],{"type":46,"value":6626},{"type":40,"tag":130,"props":6720,"children":6721},{},[6722],{"type":46,"value":6723},"Topic Experts are for narrow routing.",{"type":40,"tag":130,"props":6725,"children":6726},{},[6727],{"type":46,"value":6728},"Use them when a certain person should handle a specific domain such as:",{"type":40,"tag":56,"props":6730,"children":6731},{},[6732,6737,6742,6747,6752,6757],{"type":40,"tag":60,"props":6733,"children":6734},{},[6735],{"type":46,"value":6736},"attribution",{"type":40,"tag":60,"props":6738,"children":6739},{},[6740],{"type":46,"value":6741},"activation",{"type":40,"tag":60,"props":6743,"children":6744},{},[6745],{"type":46,"value":6746},"onboarding",{"type":40,"tag":60,"props":6748,"children":6749},{},[6750],{"type":46,"value":6751},"checkout",{"type":40,"tag":60,"props":6753,"children":6754},{},[6755],{"type":46,"value":6756},"billing",{"type":40,"tag":60,"props":6758,"children":6759},{},[6760],{"type":46,"value":6761},"retention",{"type":40,"tag":130,"props":6763,"children":6764},{},[6765],{"type":46,"value":6766},"This helps Cartos avoid sending the same question to a broad fallback group when the right owner is already known.",{"type":40,"tag":4369,"props":6768,"children":6770},{"id":6769},"what-makes-a-good-recipient-setup",[6771],{"type":46,"value":6772},"What makes a good recipient setup",{"type":40,"tag":130,"props":6774,"children":6775},{},[6776],{"type":46,"value":6777},"A good setup usually includes:",{"type":40,"tag":56,"props":6779,"children":6780},{},[6781,6786,6791],{"type":40,"tag":60,"props":6782,"children":6783},{},[6784],{"type":46,"value":6785},"at least one active owner or admin recipient",{"type":40,"tag":60,"props":6787,"children":6788},{},[6789],{"type":46,"value":6790},"one or more real operating contacts, not just a technical fallback",{"type":40,"tag":60,"props":6792,"children":6793},{},[6794],{"type":46,"value":6795},"topic experts for the domains that most often create ambiguity",{"type":40,"tag":130,"props":6797,"children":6798},{},[6799],{"type":46,"value":6800},"If ownership changes, update the recipients list quickly. Stale routing hurts Cartos quality more than most teams expect.",{"type":40,"tag":49,"props":6802,"children":6804},{"id":6803},"what-makes-cartos-output-better",[6805],{"type":46,"value":6343},{"type":40,"tag":130,"props":6807,"children":6808},{},[6809],{"type":46,"value":6810},"Cartos improves when the company gives it better context, not just more prompts.",{"type":40,"tag":130,"props":6812,"children":6813},{},[6814],{"type":46,"value":6815},"The highest-leverage things you can do are:",{"type":40,"tag":56,"props":6817,"children":6818},{},[6819,6824,6829,6834,6839],{"type":40,"tag":60,"props":6820,"children":6821},{},[6822],{"type":46,"value":6823},"Connect real analytics sources like GA4 or Amplitude",{"type":40,"tag":60,"props":6825,"children":6826},{},[6827],{"type":46,"value":6828},"Fill in onboarding context when Cartos asks for it",{"type":40,"tag":60,"props":6830,"children":6831},{},[6832],{"type":46,"value":6833},"Keep recipients and topic experts accurate",{"type":40,"tag":60,"props":6835,"children":6836},{},[6837],{"type":46,"value":6838},"Maintain a useful derived company profile in AI Tuning",{"type":40,"tag":60,"props":6840,"children":6841},{},[6842],{"type":46,"value":6843},"Answer follow-up questions directly instead of vaguely when ownership or definitions matter",{"type":40,"tag":4369,"props":6845,"children":6847},{"id":6846},"the-best-kind-of-context",[6848],{"type":46,"value":6849},"The best kind of context",{"type":40,"tag":130,"props":6851,"children":6852},{},[6853],{"type":46,"value":6854},"The best context is durable context.",{"type":40,"tag":130,"props":6856,"children":6857},{},[6858],{"type":46,"value":6859},"Examples:",{"type":40,"tag":56,"props":6861,"children":6862},{},[6863,6868,6873,6878],{"type":40,"tag":60,"props":6864,"children":6865},{},[6866],{"type":46,"value":6867},"“Sarah owns billing experiments.”",{"type":40,"tag":60,"props":6869,"children":6870},{},[6871],{"type":46,"value":6872},"“We care more about activation than raw signups.”",{"type":40,"tag":60,"props":6874,"children":6875},{},[6876],{"type":46,"value":6877},"“This funnel usually dips on weekends.”",{"type":40,"tag":60,"props":6879,"children":6880},{},[6881],{"type":46,"value":6882},"“A release shipped yesterday that changed checkout instrumentation.”",{"type":40,"tag":130,"props":6884,"children":6885},{},[6886],{"type":46,"value":6887},"That kind of answer helps not just the current conversation, but future runs too.",{"type":40,"tag":49,"props":6889,"children":6891},{"id":6890},"prompt-and-reply-patterns-that-work-well",[6892],{"type":46,"value":6352},{"type":40,"tag":4369,"props":6894,"children":6896},{"id":6895},"good-direct-prompts",[6897],{"type":46,"value":6898},"Good direct prompts",{"type":40,"tag":56,"props":6900,"children":6901},{},[6902,6907,6912],{"type":40,"tag":60,"props":6903,"children":6904},{},[6905],{"type":46,"value":6906},"“Why did demo requests slow down this week?”",{"type":40,"tag":60,"props":6908,"children":6909},{},[6910],{"type":46,"value":6911},"“Compare activation rate for paid vs organic last month.”",{"type":40,"tag":60,"props":6913,"children":6914},{},[6915],{"type":46,"value":6916},"“Show me what changed after the latest checkout release.”",{"type":40,"tag":4369,"props":6918,"children":6920},{"id":6919},"good-replies-to-cartos-follow-up-questions",[6921],{"type":46,"value":6922},"Good replies to Cartos follow-up questions",{"type":40,"tag":56,"props":6924,"children":6925},{},[6926,6931,6936,6941],{"type":40,"tag":60,"props":6927,"children":6928},{},[6929],{"type":46,"value":6930},"“The checkout team owns this. Use Alex first and Jamie as backup.”",{"type":40,"tag":60,"props":6932,"children":6933},{},[6934],{"type":46,"value":6935},"“The metric changed because we redefined qualified signup on Monday.”",{"type":40,"tag":60,"props":6937,"children":6938},{},[6939],{"type":46,"value":6940},"“This drop is expected. We intentionally paused the campaign.”",{"type":40,"tag":60,"props":6942,"children":6943},{},[6944],{"type":46,"value":6945},"“Please use Slack for this topic going forward.”",{"type":40,"tag":4369,"props":6947,"children":6949},{"id":6948},"less-helpful-replies",[6950],{"type":46,"value":6951},"Less helpful replies",{"type":40,"tag":130,"props":6953,"children":6954},{},[6955],{"type":46,"value":6956},"Replies like these often slow Cartos down:",{"type":40,"tag":56,"props":6958,"children":6959},{},[6960,6965,6970],{"type":40,"tag":60,"props":6961,"children":6962},{},[6963],{"type":46,"value":6964},"“Not sure.”",{"type":40,"tag":60,"props":6966,"children":6967},{},[6968],{"type":46,"value":6969},"“Someone else owns it.”",{"type":40,"tag":60,"props":6971,"children":6972},{},[6973],{"type":46,"value":6974},"“It depends.”",{"type":40,"tag":130,"props":6976,"children":6977},{},[6978],{"type":46,"value":6979},"Those are not wrong, but they do not give Cartos much durable context to work with.",{"type":40,"tag":130,"props":6981,"children":6982},{},[6983],{"type":46,"value":6984},"If you do not know the full answer, even a partial routing answer is helpful.",{"type":40,"tag":49,"props":6986,"children":6988},{"id":6987},"what-to-do-when-cartos-seems-blocked",[6989],{"type":46,"value":6361},{"type":40,"tag":130,"props":6991,"children":6992},{},[6993],{"type":46,"value":6994},"If Cartos is not producing useful work, the issue is usually one of these:",{"type":40,"tag":897,"props":6996,"children":6997},{},[6998,7003,7008,7013],{"type":40,"tag":60,"props":6999,"children":7000},{},[7001],{"type":46,"value":7002},"No analytics source is connected.",{"type":40,"tag":60,"props":7004,"children":7005},{},[7006],{"type":46,"value":7007},"The right recipients are not configured.",{"type":40,"tag":60,"props":7009,"children":7010},{},[7011],{"type":46,"value":7012},"The company context is still too thin.",{"type":40,"tag":60,"props":7014,"children":7015},{},[7016],{"type":46,"value":7017},"The question is too broad for the available data.",{"type":40,"tag":130,"props":7019,"children":7020},{},[7021],{"type":46,"value":7022},"The fixes usually look like this:",{"type":40,"tag":56,"props":7024,"children":7025},{},[7026,7035,7044,7049],{"type":40,"tag":60,"props":7027,"children":7028},{},[7029,7031],{"type":46,"value":7030},"Connect GA4 or Amplitude in ",{"type":40,"tag":64,"props":7032,"children":7033},{"href":2437},[7034],{"type":46,"value":2440},{"type":40,"tag":60,"props":7036,"children":7037},{},[7038,7040],{"type":46,"value":7039},"Improve onboarding and context in ",{"type":40,"tag":64,"props":7041,"children":7042},{"href":5397},[7043],{"type":46,"value":5400},{"type":40,"tag":60,"props":7045,"children":7046},{},[7047],{"type":46,"value":7048},"Add or clean up the recipients list and topic experts",{"type":40,"tag":60,"props":7050,"children":7051},{},[7052],{"type":46,"value":7053},"Give Cartos one concrete follow-up question instead of restarting from scratch",{"type":40,"tag":49,"props":7055,"children":7056},{"id":4478},[7057],{"type":46,"value":4481},{"type":40,"tag":56,"props":7059,"children":7060},{},[7061,7066,7071,7076,7081],{"type":40,"tag":60,"props":7062,"children":7063},{},[7064],{"type":46,"value":7065},"Treat Cartos like a teammate with memory, not a one-off chatbot.",{"type":40,"tag":60,"props":7067,"children":7068},{},[7069],{"type":46,"value":7070},"Answer follow-up questions clearly when they involve ownership, definitions, or expected behavior.",{"type":40,"tag":60,"props":7072,"children":7073},{},[7074],{"type":46,"value":7075},"Keep one or two dependable routing paths configured instead of a long, messy fallback list.",{"type":40,"tag":60,"props":7077,"children":7078},{},[7079],{"type":46,"value":7080},"Use web chat for direct analysis and Slack/email for human context gathering.",{"type":40,"tag":60,"props":7082,"children":7083},{},[7084],{"type":46,"value":7085},"Review Company Settings and AI Tuning together when Cartos quality changes.",{"type":40,"tag":130,"props":7087,"children":7088},{},[7089,7091,7095],{"type":46,"value":7090},"If you are configuring the operating surface behind those interactions, start with ",{"type":40,"tag":64,"props":7092,"children":7093},{"href":2437},[7094],{"type":46,"value":2440},{"type":46,"value":1466},{"title":8,"searchDepth":1139,"depth":1140,"links":7097},[7098,7099,7100,7103,7104,7109,7112,7117,7118],{"id":51,"depth":1139,"text":54},{"id":6364,"depth":1139,"text":6307},{"id":6417,"depth":1139,"text":6316,"children":7101},[7102],{"id":6501,"depth":1140,"text":6504},{"id":6517,"depth":1139,"text":6325},{"id":6587,"depth":1139,"text":6334,"children":7105},[7106,7107,7108],{"id":6629,"depth":1140,"text":6618},{"id":6716,"depth":1140,"text":6626},{"id":6769,"depth":1140,"text":6772},{"id":6803,"depth":1139,"text":6343,"children":7110},[7111],{"id":6846,"depth":1140,"text":6849},{"id":6890,"depth":1139,"text":6352,"children":7113},[7114,7115,7116],{"id":6895,"depth":1140,"text":6898},{"id":6919,"depth":1140,"text":6922},{"id":6948,"depth":1140,"text":6951},{"id":6987,"depth":1139,"text":6361},{"id":4478,"depth":1139,"text":4481},"content:learning:core:interacting-with-cartos.md","learning/core/interacting-with-cartos.md","learning/core/interacting-with-cartos",{"loc":4150},{"_path":1604,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":7124,"description":7125,"draft":7,"order":1139,"publicationDate":12,"image":13,"learningSection":14,"learningSortOrder":6244,"learningBadge":16,"learningBadgeTone":17,"learningAccent":4181,"learningIcon":7126,"learningFilters":7127,"learningTags":7128,"head":7129,"category":35,"body":7135,"_type":1150,"_id":7139,"_source":1152,"_file":7140,"_stem":7141,"_extension":1155,"sitemap":7142},"Views","All of the information you need to understand how to create, update, and delete Views for Anamap.","mdi-monitor-dashboard",[21],[7124,23],{"meta":7130},[7131,7133,7134],{"name":27,"content":7132},"anamap, learning, views",{"name":30,"content":31},{"name":33,"content":34},{"type":37,"children":7136,"toc":7137},[],{"title":8,"searchDepth":1139,"depth":1140,"links":7138},[],"content:learning:core:everything-about-views.md","learning/core/everything-about-views.md","learning/core/everything-about-views",{"loc":1604},{"_path":7144,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":7145,"description":7146,"draft":7,"order":2248,"publicationDate":12,"image":13,"learningSection":14,"learningSortOrder":7147,"learningBadge":2010,"learningBadgeTone":2011,"learningAccent":4548,"learningIcon":7148,"learningFilters":7149,"learningTags":7150,"head":7153,"category":35,"body":7158,"_type":1150,"_id":7162,"_source":1152,"_file":7163,"_stem":7164,"_extension":1155,"sitemap":7165},"/learning/core/data-schema-strategies","How To Structure Your Data","There are many ways to structure the data you collect. Learn which strategy might work you.",50,"mdi-file-tree-outline",[1632,21],[7151,7152],"Schema","Planning",{"meta":7154},[7155,7156,7157],{"name":27,"content":7132},{"name":30,"content":31},{"name":33,"content":34},{"type":37,"children":7159,"toc":7160},[],{"title":8,"searchDepth":1139,"depth":1140,"links":7161},[],"content:learning:core:data-schema-strategies.md","learning/core/data-schema-strategies.md","learning/core/data-schema-strategies",{"loc":7144},[],1780093126207]