[{"data":1,"prerenderedAt":1436},["ShallowReactive",2],{"docs-navigation":3,"\u002Fdocs\u002Fguides\u002Fonboarding-with-events":202,"\u002Fdocs\u002Fguides\u002Fonboarding-with-events-surround":1431},[4],{"title":5,"path":6,"stem":7,"children":8,"page":22},"Docs","\u002Fdocs","docs",[9,23,36,65,86,115,128,172,185],{"title":10,"path":11,"stem":12,"children":13,"page":22},"Getting started","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",[14,18],{"title":15,"path":16,"stem":17},"Quickstart","\u002Fdocs\u002Fgetting-started\u002Fquickstart","docs\u002F1.getting-started\u002F1.quickstart",{"title":19,"path":20,"stem":21},"Concepts","\u002Fdocs\u002Fgetting-started\u002Fconcepts","docs\u002F1.getting-started\u002F2.concepts",false,{"title":24,"path":25,"stem":26,"children":27,"page":22},"Sending domain","\u002Fdocs\u002Fdomains","docs\u002F2.domains",[28,32],{"title":29,"path":30,"stem":31},"Add your domain","\u002Fdocs\u002Fdomains\u002Fadd-your-domain","docs\u002F2.domains\u002F1.add-your-domain",{"title":33,"path":34,"stem":35},"Troubleshooting","\u002Fdocs\u002Fdomains\u002Ftroubleshooting","docs\u002F2.domains\u002F2.troubleshooting",{"title":37,"path":38,"stem":39,"children":40,"page":22},"Audience","\u002Fdocs\u002Faudience","docs\u002F3.audience",[41,45,49,53,57,61],{"title":42,"path":43,"stem":44},"Contacts","\u002Fdocs\u002Faudience\u002Fcontacts","docs\u002F3.audience\u002F1.contacts",{"title":46,"path":47,"stem":48},"Import contacts","\u002Fdocs\u002Faudience\u002Fimport","docs\u002F3.audience\u002F2.import",{"title":50,"path":51,"stem":52},"Lists","\u002Fdocs\u002Faudience\u002Flists","docs\u002F3.audience\u002F3.lists",{"title":54,"path":55,"stem":56},"Segments","\u002Fdocs\u002Faudience\u002Fsegments","docs\u002F3.audience\u002F4.segments",{"title":58,"path":59,"stem":60},"Signup forms","\u002Fdocs\u002Faudience\u002Fsignup-forms","docs\u002F3.audience\u002F5.signup-forms",{"title":62,"path":63,"stem":64},"Unsubscribe and preferences","\u002Fdocs\u002Faudience\u002Funsubscribe-and-preferences","docs\u002F3.audience\u002F6.unsubscribe-and-preferences",{"title":66,"path":67,"stem":68,"children":69,"page":22},"Sending emails","\u002Fdocs\u002Femails","docs\u002F4.emails",[70,74,78,82],{"title":71,"path":72,"stem":73},"Writing emails","\u002Fdocs\u002Femails\u002Fwriting-emails","docs\u002F4.emails\u002F1.writing-emails",{"title":75,"path":76,"stem":77},"Campaigns","\u002Fdocs\u002Femails\u002Fcampaigns","docs\u002F4.emails\u002F2.campaigns",{"title":79,"path":80,"stem":81},"Flows","\u002Fdocs\u002Femails\u002Fflows","docs\u002F4.emails\u002F3.flows",{"title":83,"path":84,"stem":85},"Transactional emails","\u002Fdocs\u002Femails\u002Ftransactional","docs\u002F4.emails\u002F4.transactional",{"title":87,"path":88,"stem":89,"children":90,"page":22},"Deliverability","\u002Fdocs\u002Fdeliverability","docs\u002F5.deliverability",[91,95,99,103,107,111],{"title":92,"path":93,"stem":94},"Overview","\u002Fdocs\u002Fdeliverability\u002Foverview","docs\u002F5.deliverability\u002F1.overview",{"title":96,"path":97,"stem":98},"Warm-up","\u002Fdocs\u002Fdeliverability\u002Fwarm-up","docs\u002F5.deliverability\u002F2.warm-up",{"title":100,"path":101,"stem":102},"Contacts under review","\u002Fdocs\u002Fdeliverability\u002Fimported-contacts","docs\u002F5.deliverability\u002F3.imported-contacts",{"title":104,"path":105,"stem":106},"Reputation","\u002Fdocs\u002Fdeliverability\u002Freputation","docs\u002F5.deliverability\u002F4.reputation",{"title":108,"path":109,"stem":110},"Bounces and suppressions","\u002Fdocs\u002Fdeliverability\u002Fbounces-and-suppressions","docs\u002F5.deliverability\u002F5.bounces-and-suppressions",{"title":112,"path":113,"stem":114},"Deliverability report","\u002Fdocs\u002Fdeliverability\u002Fdeliverability-report","docs\u002F5.deliverability\u002F6.deliverability-report",{"title":116,"path":117,"stem":118,"children":119,"page":22},"AI","\u002Fdocs\u002Fai","docs\u002F6.ai",[120,124],{"title":121,"path":122,"stem":123},"Assistant","\u002Fdocs\u002Fai\u002Fassistant","docs\u002F6.ai\u002F1.assistant",{"title":125,"path":126,"stem":127},"Connect your agent (MCP)","\u002Fdocs\u002Fai\u002Fmcp","docs\u002F6.ai\u002F2.mcp",{"title":129,"path":130,"stem":131,"children":132,"page":22},"API reference","\u002Fdocs\u002Fapi","docs\u002F7.api",[133,137,141,145,148,152,156,160,164,168],{"title":134,"path":135,"stem":136},"Introduction","\u002Fdocs\u002Fapi\u002Fintroduction","docs\u002F7.api\u002F01.introduction",{"title":138,"path":139,"stem":140},"Emails","\u002Fdocs\u002Fapi\u002Femails","docs\u002F7.api\u002F02.emails",{"title":142,"path":143,"stem":144},"Templates","\u002Fdocs\u002Fapi\u002Ftemplates","docs\u002F7.api\u002F03.templates",{"title":42,"path":146,"stem":147},"\u002Fdocs\u002Fapi\u002Fcontacts","docs\u002F7.api\u002F04.contacts",{"title":149,"path":150,"stem":151},"Events","\u002Fdocs\u002Fapi\u002Fevents","docs\u002F7.api\u002F05.events",{"title":153,"path":154,"stem":155},"Lists and segments","\u002Fdocs\u002Fapi\u002Flists-and-segments","docs\u002F7.api\u002F06.lists-and-segments",{"title":157,"path":158,"stem":159},"Campaigns and flows","\u002Fdocs\u002Fapi\u002Fcampaigns-and-flows","docs\u002F7.api\u002F07.campaigns-and-flows",{"title":161,"path":162,"stem":163},"Domains and suppressions","\u002Fdocs\u002Fapi\u002Fdomains-and-suppressions","docs\u002F7.api\u002F08.domains-and-suppressions",{"title":165,"path":166,"stem":167},"Spaces","\u002Fdocs\u002Fapi\u002Fspaces","docs\u002F7.api\u002F09.spaces",{"title":169,"path":170,"stem":171},"Webhooks","\u002Fdocs\u002Fapi\u002Fwebhooks","docs\u002F7.api\u002F10.webhooks",{"title":173,"path":174,"stem":175,"children":176,"page":22},"Account & billing","\u002Fdocs\u002Faccount","docs\u002F8.account",[177,181],{"title":178,"path":179,"stem":180},"Spaces and members","\u002Fdocs\u002Faccount\u002Fspaces-and-members","docs\u002F8.account\u002F1.spaces-and-members",{"title":182,"path":183,"stem":184},"Billing","\u002Fdocs\u002Faccount\u002Fbilling","docs\u002F8.account\u002F2.billing",{"title":186,"path":187,"stem":188,"children":189,"page":22},"Guides","\u002Fdocs\u002Fguides","docs\u002F9.guides",[190,194,198],{"title":191,"path":192,"stem":193},"Welcome new subscribers","\u002Fdocs\u002Fguides\u002Fwelcome-sequence","docs\u002F9.guides\u002F1.welcome-sequence",{"title":195,"path":196,"stem":197},"Onboarding with events","\u002Fdocs\u002Fguides\u002Fonboarding-with-events","docs\u002F9.guides\u002F2.onboarding-with-events",{"title":199,"path":200,"stem":201},"Migrate from another tool","\u002Fdocs\u002Fguides\u002Fmigrate-from-another-tool","docs\u002F9.guides\u002F3.migrate-from-another-tool",{"id":203,"title":195,"body":204,"description":1425,"extension":1426,"links":1427,"meta":1428,"navigation":1020,"path":196,"seo":1429,"stem":197,"__hash__":1430},"docs\u002Fdocs\u002F9.guides\u002F2.onboarding-with-events.md",{"type":205,"value":206,"toc":1420},"minimark",[207,216,219,238,864,868,871,1346,1364,1367,1371,1394,1398,1416],[208,209,210,211,215],"p",{},"Send moments from your product (a signup, a first project, a trial ending) to Kula as ",[212,213,214],"strong",{},"events",", and flows turn them into emails.",[208,217,218],{},"This guide builds a trial onboarding: a welcome email at signup, a nudge two days later for users who have not created a project, and a reminder before the trial ends.",[208,220,221,224,225,229,230,233,234,237],{},[212,222,223],{},"You need:"," a ",[226,227,228],"a",{"href":30},"verified domain"," and an API key with ",[212,231,232],{},"sending access"," from ",[212,235,236],{},"Settings › API keys",". It is enough to send events, and safer to store in your app.",[239,240,242,247,255,677,697,703,707,710,758,764,768,774,830,835,839,846,849,853],"steps",{"level":241},"2",[243,244,246],"h2",{"id":245},"send-an-event-when-a-user-signs-up","Send an event when a user signs up",[208,248,249,250,254],{},"Call ",[251,252,253],"code",{},"POST \u002Fv1\u002Fevents"," from your backend when a user signs up. If the address is not yet a contact, Kula creates it with the name and attributes you send.",[256,257,258,383],"code-group",{},[259,260,266],"pre",{"className":261,"code":262,"filename":263,"language":264,"meta":265,"style":265},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl https:\u002F\u002Fapi.kulamail.com\u002Fv1\u002Fevents \\\n  -H \"Authorization: Bearer $KULA_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"email\": \"ada@example.com\",\n    \"name\": \"signed_up\",\n    \"properties\": { \"plan\": \"trial\" },\n    \"contact\": {\n      \"firstName\": \"Ada\",\n      \"attributes\": { \"plan\": \"trial\", \"trial_ends_at\": \"2026-11-01T00:00:00Z\" }\n    }\n  }'\n","cURL","bash","",[251,267,268,285,306,320,332,338,344,350,356,362,368,374],{"__ignoreMap":265},[269,270,273,277,281],"span",{"class":271,"line":272},"line",1,[269,274,276],{"class":275},"sBMFI","curl",[269,278,280],{"class":279},"sfazB"," https:\u002F\u002Fapi.kulamail.com\u002Fv1\u002Fevents",[269,282,284],{"class":283},"sTEyZ"," \\\n",[269,286,288,291,295,298,301,304],{"class":271,"line":287},2,[269,289,290],{"class":279},"  -H",[269,292,294],{"class":293},"sMK4o"," \"",[269,296,297],{"class":279},"Authorization: Bearer ",[269,299,300],{"class":283},"$KULA_API_KEY",[269,302,303],{"class":293},"\"",[269,305,284],{"class":283},[269,307,309,311,313,316,318],{"class":271,"line":308},3,[269,310,290],{"class":279},[269,312,294],{"class":293},[269,314,315],{"class":279},"Content-Type: application\u002Fjson",[269,317,303],{"class":293},[269,319,284],{"class":283},[269,321,323,326,329],{"class":271,"line":322},4,[269,324,325],{"class":279},"  -d",[269,327,328],{"class":293}," '",[269,330,331],{"class":279},"{\n",[269,333,335],{"class":271,"line":334},5,[269,336,337],{"class":279},"    \"email\": \"ada@example.com\",\n",[269,339,341],{"class":271,"line":340},6,[269,342,343],{"class":279},"    \"name\": \"signed_up\",\n",[269,345,347],{"class":271,"line":346},7,[269,348,349],{"class":279},"    \"properties\": { \"plan\": \"trial\" },\n",[269,351,353],{"class":271,"line":352},8,[269,354,355],{"class":279},"    \"contact\": {\n",[269,357,359],{"class":271,"line":358},9,[269,360,361],{"class":279},"      \"firstName\": \"Ada\",\n",[269,363,365],{"class":271,"line":364},10,[269,366,367],{"class":279},"      \"attributes\": { \"plan\": \"trial\", \"trial_ends_at\": \"2026-11-01T00:00:00Z\" }\n",[269,369,371],{"class":271,"line":370},11,[269,372,373],{"class":279},"    }\n",[269,375,377,380],{"class":271,"line":376},12,[269,378,379],{"class":279},"  }",[269,381,382],{"class":293},"'\n",[259,384,389],{"className":385,"code":386,"filename":387,"language":388,"meta":265,"style":265},"language-js shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","await fetch('https:\u002F\u002Fapi.kulamail.com\u002Fv1\u002Fevents', {\n  method: 'POST',\n  headers: {\n    'Authorization': `Bearer ${process.env.KULA_API_KEY}`,\n    'Content-Type': 'application\u002Fjson'\n  },\n  body: JSON.stringify({\n    email: user.email,\n    name: 'signed_up',\n    properties: { plan: 'trial' },\n    contact: {\n      firstName: user.firstName,\n      attributes: { plan: 'trial', trial_ends_at: user.trialEndsAt.toISOString() }\n    }\n  })\n})\n","Node","js",[251,390,391,418,437,446,486,504,509,528,545,561,586,595,611,656,661,669],{"__ignoreMap":265},[269,392,393,397,401,404,407,410,412,415],{"class":271,"line":272},[269,394,396],{"class":395},"s7zQu","await",[269,398,400],{"class":399},"s2Zo4"," fetch",[269,402,403],{"class":283},"(",[269,405,406],{"class":293},"'",[269,408,409],{"class":279},"https:\u002F\u002Fapi.kulamail.com\u002Fv1\u002Fevents",[269,411,406],{"class":293},[269,413,414],{"class":293},",",[269,416,417],{"class":293}," {\n",[269,419,420,424,427,429,432,434],{"class":271,"line":287},[269,421,423],{"class":422},"swJcz","  method",[269,425,426],{"class":293},":",[269,428,328],{"class":293},[269,430,431],{"class":279},"POST",[269,433,406],{"class":293},[269,435,436],{"class":293},",\n",[269,438,439,442,444],{"class":271,"line":308},[269,440,441],{"class":422},"  headers",[269,443,426],{"class":293},[269,445,417],{"class":293},[269,447,448,451,454,456,458,461,464,467,470,473,476,478,481,484],{"class":271,"line":322},[269,449,450],{"class":293},"    '",[269,452,453],{"class":422},"Authorization",[269,455,406],{"class":293},[269,457,426],{"class":293},[269,459,460],{"class":293}," `",[269,462,463],{"class":279},"Bearer ",[269,465,466],{"class":293},"${",[269,468,469],{"class":283},"process",[269,471,472],{"class":293},".",[269,474,475],{"class":283},"env",[269,477,472],{"class":293},[269,479,480],{"class":283},"KULA_API_KEY",[269,482,483],{"class":293},"}`",[269,485,436],{"class":293},[269,487,488,490,493,495,497,499,502],{"class":271,"line":334},[269,489,450],{"class":293},[269,491,492],{"class":422},"Content-Type",[269,494,406],{"class":293},[269,496,426],{"class":293},[269,498,328],{"class":293},[269,500,501],{"class":279},"application\u002Fjson",[269,503,382],{"class":293},[269,505,506],{"class":271,"line":340},[269,507,508],{"class":293},"  },\n",[269,510,511,514,516,519,521,524,526],{"class":271,"line":346},[269,512,513],{"class":422},"  body",[269,515,426],{"class":293},[269,517,518],{"class":283}," JSON",[269,520,472],{"class":293},[269,522,523],{"class":399},"stringify",[269,525,403],{"class":283},[269,527,331],{"class":293},[269,529,530,533,535,538,540,543],{"class":271,"line":352},[269,531,532],{"class":422},"    email",[269,534,426],{"class":293},[269,536,537],{"class":283}," user",[269,539,472],{"class":293},[269,541,542],{"class":283},"email",[269,544,436],{"class":293},[269,546,547,550,552,554,557,559],{"class":271,"line":358},[269,548,549],{"class":422},"    name",[269,551,426],{"class":293},[269,553,328],{"class":293},[269,555,556],{"class":279},"signed_up",[269,558,406],{"class":293},[269,560,436],{"class":293},[269,562,563,566,568,571,574,576,578,581,583],{"class":271,"line":364},[269,564,565],{"class":422},"    properties",[269,567,426],{"class":293},[269,569,570],{"class":293}," {",[269,572,573],{"class":422}," plan",[269,575,426],{"class":293},[269,577,328],{"class":293},[269,579,580],{"class":279},"trial",[269,582,406],{"class":293},[269,584,585],{"class":293}," },\n",[269,587,588,591,593],{"class":271,"line":370},[269,589,590],{"class":422},"    contact",[269,592,426],{"class":293},[269,594,417],{"class":293},[269,596,597,600,602,604,606,609],{"class":271,"line":376},[269,598,599],{"class":422},"      firstName",[269,601,426],{"class":293},[269,603,537],{"class":283},[269,605,472],{"class":293},[269,607,608],{"class":283},"firstName",[269,610,436],{"class":293},[269,612,614,617,619,621,623,625,627,629,631,633,636,638,640,642,645,647,650,653],{"class":271,"line":613},13,[269,615,616],{"class":422},"      attributes",[269,618,426],{"class":293},[269,620,570],{"class":293},[269,622,573],{"class":422},[269,624,426],{"class":293},[269,626,328],{"class":293},[269,628,580],{"class":279},[269,630,406],{"class":293},[269,632,414],{"class":293},[269,634,635],{"class":422}," trial_ends_at",[269,637,426],{"class":293},[269,639,537],{"class":283},[269,641,472],{"class":293},[269,643,644],{"class":283},"trialEndsAt",[269,646,472],{"class":293},[269,648,649],{"class":399},"toISOString",[269,651,652],{"class":283},"() ",[269,654,655],{"class":293},"}\n",[269,657,659],{"class":271,"line":658},14,[269,660,373],{"class":293},[269,662,664,666],{"class":271,"line":663},15,[269,665,379],{"class":293},[269,667,668],{"class":283},")\n",[269,670,672,675],{"class":271,"line":671},16,[269,673,674],{"class":293},"}",[269,676,668],{"class":283},[208,678,679,680,683,684,686,687,686,690,693,694,472],{},"Event names use letters, digits and ",[251,681,682],{},"_ . : -",", up to 100 characters: ",[251,685,556],{},", ",[251,688,689],{},"project_created",[251,691,692],{},"trial_ended",". ",[226,695,696],{"href":150},"Events API",[698,699,700],"note",{},[208,701,702],{},"Sending an event does not subscribe anyone to a list. Only send messages about the user's account and their use of your product. For a newsletter, ask them to subscribe to a list.",[243,704,706],{"id":705},"send-the-other-moments","Send the other moments",[208,708,709],{},"Send an event for each moment worth reacting to:",[259,711,713],{"className":385,"code":712,"language":388,"meta":265,"style":265},"await kulaEvent(user.email, 'project_created', { projectId: project.id })\n",[251,714,715],{"__ignoreMap":265},[269,716,717,719,722,725,727,729,731,733,735,737,739,741,744,746,749,751,754,756],{"class":271,"line":272},[269,718,396],{"class":395},[269,720,721],{"class":399}," kulaEvent",[269,723,724],{"class":283},"(user",[269,726,472],{"class":293},[269,728,542],{"class":283},[269,730,414],{"class":293},[269,732,328],{"class":293},[269,734,689],{"class":279},[269,736,406],{"class":293},[269,738,414],{"class":293},[269,740,570],{"class":293},[269,742,743],{"class":422}," projectId",[269,745,426],{"class":293},[269,747,748],{"class":283}," project",[269,750,472],{"class":293},[269,752,753],{"class":283},"id ",[269,755,674],{"class":293},[269,757,668],{"class":283},[208,759,760,761,763],{},"Each event is stored on the contact, so you can use it in segments and flow conditions: \"has done ",[251,762,689],{}," within 7 days\".",[243,765,767],{"id":766},"build-the-onboarding-flow","Build the onboarding flow",[208,769,770,771,426],{},"Open ",[212,772,773],{},"Flows › New flow",[775,776,777,790,802,808,825],"ol",{},[778,779,780,783,784,787,788,472],"li",{},[212,781,782],{},"Starts when",": ",[212,785,786],{},"A contact performs an event",", event name ",[251,789,556],{},[778,791,792,795,796,686,799,472],{},[212,793,794],{},"Add email",": the welcome email. Use the values you sent: ",[251,797,798],{},"{{ contact.first_name | default: \"there\" }}",[251,800,801],{},"{{ contact.plan }}",[778,803,804,807],{},[212,805,806],{},"Add delay",": 2 days.",[778,809,810,783,813,816,817,816,820,816,822,472],{},[212,811,812],{},"Add condition",[212,814,815],{},"Continue only if"," ",[212,818,819],{},"Event",[251,821,689],{},[212,823,824],{},"has not done",[778,826,827,829],{},[212,828,794],{},": \"Create your first project in 2 minutes\", with a direct link.",[208,831,832,833,472],{},"Users who created a project exit at step 4. ",[226,834,79],{"href":80},[243,836,838],{"id":837},"remind-users-before-the-trial-ends","Remind users before the trial ends",[208,840,841,842,845],{},"Create a second flow triggered by a ",[251,843,844],{},"trial_ending"," event, sent by your app three days before the end, with one email that explains what happens next.",[208,847,848],{},"Sending the event at the right moment stays correct if the trial date changes, unlike a long wait in a flow.",[243,850,852],{"id":851},"test-and-activate","Test and activate",[208,854,855,856,859,860,863],{},"Send an event with your own address, check the emails with ",[212,857,858],{},"Send a test",", then click ",[212,861,862],{},"Activate"," on each flow. Only events received after activation start a run.",[243,865,867],{"id":866},"connect-stripe-and-other-services","Connect Stripe and other services",[208,869,870],{},"Kula has no built-in Stripe integration: forward the events you need from your webhook handler.",[259,872,875],{"className":385,"code":873,"filename":874,"language":388,"meta":265,"style":265},"app.post('\u002Fstripe\u002Fwebhook', express.raw({ type: 'application\u002Fjson' }), async (req, res) => {\n  const event = stripe.webhooks.constructEvent(req.body, req.headers['stripe-signature'], endpointSecret)\n\n  if (event.type === 'invoice.paid') {\n    const invoice = event.data.object\n    await fetch('https:\u002F\u002Fapi.kulamail.com\u002Fv1\u002Fevents', {\n      method: 'POST',\n      headers: {\n        'Authorization': `Bearer ${process.env.KULA_API_KEY}`,\n        'Content-Type': 'application\u002Fjson'\n      },\n      body: JSON.stringify({\n        email: invoice.customer_email,\n        name: 'invoice_paid',\n        properties: { amount: invoice.amount_paid \u002F 100, currency: invoice.currency },\n        contact: { attributes: { plan: 'pro' } }\n      })\n    })\n  }\n\n  res.sendStatus(200)\n})\n","stripe-webhook.js",[251,876,877,953,1016,1022,1052,1074,1093,1108,1117,1148,1164,1169,1186,1202,1218,1262,1294,1302,1310,1316,1321,1339],{"__ignoreMap":265},[269,878,879,882,884,887,889,891,894,896,898,901,903,906,908,911,914,916,918,920,922,925,928,930,934,937,941,943,946,948,951],{"class":271,"line":272},[269,880,881],{"class":283},"app",[269,883,472],{"class":293},[269,885,886],{"class":399},"post",[269,888,403],{"class":283},[269,890,406],{"class":293},[269,892,893],{"class":279},"\u002Fstripe\u002Fwebhook",[269,895,406],{"class":293},[269,897,414],{"class":293},[269,899,900],{"class":283}," express",[269,902,472],{"class":293},[269,904,905],{"class":399},"raw",[269,907,403],{"class":283},[269,909,910],{"class":293},"{",[269,912,913],{"class":422}," type",[269,915,426],{"class":293},[269,917,328],{"class":293},[269,919,501],{"class":279},[269,921,406],{"class":293},[269,923,924],{"class":293}," }",[269,926,927],{"class":283},")",[269,929,414],{"class":293},[269,931,933],{"class":932},"spNyl"," async",[269,935,936],{"class":293}," (",[269,938,940],{"class":939},"sHdIc","req",[269,942,414],{"class":293},[269,944,945],{"class":939}," res",[269,947,927],{"class":293},[269,949,950],{"class":932}," =>",[269,952,417],{"class":293},[269,954,955,958,961,964,967,969,972,974,977,979,981,983,986,988,991,993,996,999,1001,1004,1006,1009,1011,1014],{"class":271,"line":287},[269,956,957],{"class":932},"  const",[269,959,960],{"class":283}," event",[269,962,963],{"class":293}," =",[269,965,966],{"class":283}," stripe",[269,968,472],{"class":293},[269,970,971],{"class":283},"webhooks",[269,973,472],{"class":293},[269,975,976],{"class":399},"constructEvent",[269,978,403],{"class":422},[269,980,940],{"class":283},[269,982,472],{"class":293},[269,984,985],{"class":283},"body",[269,987,414],{"class":293},[269,989,990],{"class":283}," req",[269,992,472],{"class":293},[269,994,995],{"class":283},"headers",[269,997,998],{"class":422},"[",[269,1000,406],{"class":293},[269,1002,1003],{"class":279},"stripe-signature",[269,1005,406],{"class":293},[269,1007,1008],{"class":422},"]",[269,1010,414],{"class":293},[269,1012,1013],{"class":283}," endpointSecret",[269,1015,668],{"class":422},[269,1017,1018],{"class":271,"line":308},[269,1019,1021],{"emptyLinePlaceholder":1020},true,"\n",[269,1023,1024,1027,1029,1032,1034,1037,1040,1042,1045,1047,1050],{"class":271,"line":322},[269,1025,1026],{"class":395},"  if",[269,1028,936],{"class":422},[269,1030,1031],{"class":283},"event",[269,1033,472],{"class":293},[269,1035,1036],{"class":283},"type",[269,1038,1039],{"class":293}," ===",[269,1041,328],{"class":293},[269,1043,1044],{"class":279},"invoice.paid",[269,1046,406],{"class":293},[269,1048,1049],{"class":422},") ",[269,1051,331],{"class":293},[269,1053,1054,1057,1060,1062,1064,1066,1069,1071],{"class":271,"line":334},[269,1055,1056],{"class":932},"    const",[269,1058,1059],{"class":283}," invoice",[269,1061,963],{"class":293},[269,1063,960],{"class":283},[269,1065,472],{"class":293},[269,1067,1068],{"class":283},"data",[269,1070,472],{"class":293},[269,1072,1073],{"class":283},"object\n",[269,1075,1076,1079,1081,1083,1085,1087,1089,1091],{"class":271,"line":340},[269,1077,1078],{"class":395},"    await",[269,1080,400],{"class":399},[269,1082,403],{"class":422},[269,1084,406],{"class":293},[269,1086,409],{"class":279},[269,1088,406],{"class":293},[269,1090,414],{"class":293},[269,1092,417],{"class":293},[269,1094,1095,1098,1100,1102,1104,1106],{"class":271,"line":346},[269,1096,1097],{"class":422},"      method",[269,1099,426],{"class":293},[269,1101,328],{"class":293},[269,1103,431],{"class":279},[269,1105,406],{"class":293},[269,1107,436],{"class":293},[269,1109,1110,1113,1115],{"class":271,"line":352},[269,1111,1112],{"class":422},"      headers",[269,1114,426],{"class":293},[269,1116,417],{"class":293},[269,1118,1119,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146],{"class":271,"line":358},[269,1120,1121],{"class":293},"        '",[269,1123,453],{"class":422},[269,1125,406],{"class":293},[269,1127,426],{"class":293},[269,1129,460],{"class":293},[269,1131,463],{"class":279},[269,1133,466],{"class":293},[269,1135,469],{"class":283},[269,1137,472],{"class":293},[269,1139,475],{"class":283},[269,1141,472],{"class":293},[269,1143,480],{"class":283},[269,1145,483],{"class":293},[269,1147,436],{"class":293},[269,1149,1150,1152,1154,1156,1158,1160,1162],{"class":271,"line":364},[269,1151,1121],{"class":293},[269,1153,492],{"class":422},[269,1155,406],{"class":293},[269,1157,426],{"class":293},[269,1159,328],{"class":293},[269,1161,501],{"class":279},[269,1163,382],{"class":293},[269,1165,1166],{"class":271,"line":370},[269,1167,1168],{"class":293},"      },\n",[269,1170,1171,1174,1176,1178,1180,1182,1184],{"class":271,"line":376},[269,1172,1173],{"class":422},"      body",[269,1175,426],{"class":293},[269,1177,518],{"class":283},[269,1179,472],{"class":293},[269,1181,523],{"class":399},[269,1183,403],{"class":422},[269,1185,331],{"class":293},[269,1187,1188,1191,1193,1195,1197,1200],{"class":271,"line":613},[269,1189,1190],{"class":422},"        email",[269,1192,426],{"class":293},[269,1194,1059],{"class":283},[269,1196,472],{"class":293},[269,1198,1199],{"class":283},"customer_email",[269,1201,436],{"class":293},[269,1203,1204,1207,1209,1211,1214,1216],{"class":271,"line":658},[269,1205,1206],{"class":422},"        name",[269,1208,426],{"class":293},[269,1210,328],{"class":293},[269,1212,1213],{"class":279},"invoice_paid",[269,1215,406],{"class":293},[269,1217,436],{"class":293},[269,1219,1220,1223,1225,1227,1230,1232,1234,1236,1239,1242,1246,1248,1251,1253,1255,1257,1260],{"class":271,"line":663},[269,1221,1222],{"class":422},"        properties",[269,1224,426],{"class":293},[269,1226,570],{"class":293},[269,1228,1229],{"class":422}," amount",[269,1231,426],{"class":293},[269,1233,1059],{"class":283},[269,1235,472],{"class":293},[269,1237,1238],{"class":283},"amount_paid",[269,1240,1241],{"class":293}," \u002F",[269,1243,1245],{"class":1244},"sbssI"," 100",[269,1247,414],{"class":293},[269,1249,1250],{"class":422}," currency",[269,1252,426],{"class":293},[269,1254,1059],{"class":283},[269,1256,472],{"class":293},[269,1258,1259],{"class":283},"currency",[269,1261,585],{"class":293},[269,1263,1264,1267,1269,1271,1274,1276,1278,1280,1282,1284,1287,1289,1291],{"class":271,"line":671},[269,1265,1266],{"class":422},"        contact",[269,1268,426],{"class":293},[269,1270,570],{"class":293},[269,1272,1273],{"class":422}," attributes",[269,1275,426],{"class":293},[269,1277,570],{"class":293},[269,1279,573],{"class":422},[269,1281,426],{"class":293},[269,1283,328],{"class":293},[269,1285,1286],{"class":279},"pro",[269,1288,406],{"class":293},[269,1290,924],{"class":293},[269,1292,1293],{"class":293}," }\n",[269,1295,1297,1300],{"class":271,"line":1296},17,[269,1298,1299],{"class":293},"      }",[269,1301,668],{"class":422},[269,1303,1305,1308],{"class":271,"line":1304},18,[269,1306,1307],{"class":293},"    }",[269,1309,668],{"class":422},[269,1311,1313],{"class":271,"line":1312},19,[269,1314,1315],{"class":293},"  }\n",[269,1317,1319],{"class":271,"line":1318},20,[269,1320,1021],{"emptyLinePlaceholder":1020},[269,1322,1324,1327,1329,1332,1334,1337],{"class":271,"line":1323},21,[269,1325,1326],{"class":283},"  res",[269,1328,472],{"class":293},[269,1330,1331],{"class":399},"sendStatus",[269,1333,403],{"class":422},[269,1335,1336],{"class":1244},"200",[269,1338,668],{"class":422},[269,1340,1342,1344],{"class":271,"line":1341},22,[269,1343,674],{"class":293},[269,1345,668],{"class":283},[208,1347,1348,1349,1351,1352,1355,1356,1359,1360,1363],{},"A flow on ",[251,1350,1213],{}," with ",[212,1353,1354],{},"Re-entry"," set to ",[212,1357,1358],{},"Every time the trigger fires"," can thank customers after each payment. The ",[251,1361,1362],{},"plan"," attribute updated on the way lets you leave paying customers out of your trial reminders with a segment.",[208,1365,1366],{},"The same pattern works for any tool that sends webhooks: your auth provider, your billing tool, your CRM.",[243,1368,1370],{"id":1369},"good-to-know","Good to know",[1372,1373,1374,1381,1388],"ul",{},[778,1375,1376,1377,1380],{},"Events with ",[251,1378,1379],{},"createContact: false"," are ignored for unknown addresses (the API answers 404): use it when only existing contacts should be tracked.",[778,1382,1383,1384,1387],{},"Pass ",[251,1385,1386],{},"occurredAt"," to record an event that happened earlier, for example when backfilling history.",[778,1389,1390,1391,472],{},"Flow emails are marketing emails: they carry an unsubscribe link and respect your reputation rules. Password resets and receipts belong in ",[226,1392,1393],{"href":84},"transactional emails",[243,1395,1397],{"id":1396},"related","Related",[1399,1400,1401,1410],"card-group",{},[1402,1403,1405],"card",{"icon":1404,"title":696,"to":150},"i-mingcute-code-fill",[208,1406,1407,1408],{},"Every field of ",[251,1409,253],{},[1402,1411,1413],{"icon":1412,"title":54,"to":55},"i-mingcute-filter-fill",[208,1414,1415],{},"Filter contacts on their events",[1417,1418,1419],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":265,"searchDepth":272,"depth":287,"links":1421},[1422,1423,1424],{"id":866,"depth":287,"text":867},{"id":1369,"depth":287,"text":1370},{"id":1396,"depth":287,"text":1397},"Trigger flows from events sent by your product","md",null,{},{"title":195,"description":1425},"GLknb72wVJTz2_39ji6-o4S4xtL4O9W3_GFUtmkrNtw",[1432,1434],{"title":191,"path":192,"stem":193,"description":1433,"children":-1},"Build a three-email welcome series for new subscribers",{"title":199,"path":200,"stem":201,"description":1435,"children":-1},"Move from Mailchimp, Brevo, Kit, Loops or any other tool",1792265664868]