2
0

refactor: ♻️ Rename step to block

This commit is contained in:
Baptiste Arnaud
2022-06-11 07:27:38 +02:00
parent 8751766d0e
commit 2df8338505
297 changed files with 4292 additions and 3989 deletions

View File

@ -5,15 +5,15 @@
"name": "My typebot",
"publishedTypebotId": null,
"folderId": null,
"blocks": [
"groups": [
{
"id": "de8iZbvNxMxyhvLrnPBpt8",
"steps": [
"blocks": [
{
"id": "hqgG9FuPDWrkrdHXFnSy9G",
"type": "start",
"label": "Start",
"blockId": "de8iZbvNxMxyhvLrnPBpt8",
"groupId": "de8iZbvNxMxyhvLrnPBpt8",
"outgoingEdgeId": "41aa19ih9WQQQEurwdjmVJ"
}
],
@ -23,11 +23,11 @@
{
"id": "vmDTsAC7aLeqanVVtJ9yQx",
"graphCoordinates": { "x": 85, "y": 220 },
"title": "Block #1",
"steps": [
"title": "Group #1",
"blocks": [
{
"id": "sqUp2x8SXx8JBC8a9XuKGL9",
"blockId": "vmDTsAC7aLeqanVVtJ9yQx",
"groupId": "vmDTsAC7aLeqanVVtJ9yQx",
"type": "text",
"content": {
"html": "<div>Hello!</div>",
@ -37,7 +37,7 @@
},
{
"id": "suRXuWyuJ7kpsdLUYKA6VqM",
"blockId": "vmDTsAC7aLeqanVVtJ9yQx",
"groupId": "vmDTsAC7aLeqanVVtJ9yQx",
"type": "text",
"content": {
"html": "<div>How are you?</div>",
@ -49,25 +49,25 @@
},
{
"id": "ssxDdzVUkgZYPPoPnQK4dCo",
"blockId": "vmDTsAC7aLeqanVVtJ9yQx",
"groupId": "vmDTsAC7aLeqanVVtJ9yQx",
"type": "choice input",
"options": { "buttonLabel": "Send", "isMultipleChoice": false },
"items": [
{
"id": "e7dy3bH2py8fFcak2jUJjr",
"stepId": "ssxDdzVUkgZYPPoPnQK4dCo",
"blockId": "ssxDdzVUkgZYPPoPnQK4dCo",
"type": 0,
"content": "Item 1",
"outgoingEdgeId": "8Ty7noiTJAP3jtaWXLsNwy"
},
{
"stepId": "ssxDdzVUkgZYPPoPnQK4dCo",
"blockId": "ssxDdzVUkgZYPPoPnQK4dCo",
"type": 0,
"id": "mBJkTavGHAygmPTjiLMQyC",
"content": "Item 2"
},
{
"stepId": "ssxDdzVUkgZYPPoPnQK4dCo",
"blockId": "ssxDdzVUkgZYPPoPnQK4dCo",
"type": 0,
"id": "vVfToFyNLyGgRYyB8jYLkn",
"content": "Item 3",
@ -80,16 +80,16 @@
{
"id": "hB4p8rwA1dUSq9A5ctTLqh",
"graphCoordinates": { "x": 513, "y": 152 },
"title": "Block #2",
"steps": [
"title": "Group #2",
"blocks": [
{
"id": "suHw7fjcMD9KjDRpbB413jn",
"blockId": "hB4p8rwA1dUSq9A5ctTLqh",
"groupId": "hB4p8rwA1dUSq9A5ctTLqh",
"type": "Condition",
"items": [
{
"id": "jvGN6sfftqJgfYYVRUYMuJ",
"stepId": "suHw7fjcMD9KjDRpbB413jn",
"blockId": "suHw7fjcMD9KjDRpbB413jn",
"type": 1,
"content": { "comparisons": [], "logicalOperator": "AND" }
}
@ -100,28 +100,28 @@
{
"id": "t7g44CwVvCg6mN16KHVAWv",
"graphCoordinates": { "x": 509, "y": 489 },
"title": "Block #3",
"steps": [
"title": "Group #3",
"blocks": [
{
"id": "suHztCMVss4kTAtgShANxjU",
"blockId": "t7g44CwVvCg6mN16KHVAWv",
"groupId": "t7g44CwVvCg6mN16KHVAWv",
"type": "choice input",
"options": { "buttonLabel": "Send", "isMultipleChoice": false },
"items": [
{
"id": "buQjAL2M3cBUVK2ofnxKW3",
"stepId": "suHztCMVss4kTAtgShANxjU",
"blockId": "suHztCMVss4kTAtgShANxjU",
"type": 0,
"content": "Item 2-1"
},
{
"stepId": "suHztCMVss4kTAtgShANxjU",
"blockId": "suHztCMVss4kTAtgShANxjU",
"type": 0,
"id": "4gQe9XK1vyQUHXVzFErW4t",
"content": "Item 2-2"
},
{
"stepId": "suHztCMVss4kTAtgShANxjU",
"blockId": "suHztCMVss4kTAtgShANxjU",
"type": 0,
"id": "uttagH8w5XWzibkKsW23oi",
"content": "Item 2-3"
@ -135,28 +135,28 @@
"edges": [
{
"from": {
"blockId": "de8iZbvNxMxyhvLrnPBpt8",
"stepId": "hqgG9FuPDWrkrdHXFnSy9G"
"groupId": "de8iZbvNxMxyhvLrnPBpt8",
"blockId": "hqgG9FuPDWrkrdHXFnSy9G"
},
"to": { "blockId": "vmDTsAC7aLeqanVVtJ9yQx" },
"to": { "groupId": "vmDTsAC7aLeqanVVtJ9yQx" },
"id": "41aa19ih9WQQQEurwdjmVJ"
},
{
"from": {
"blockId": "vmDTsAC7aLeqanVVtJ9yQx",
"stepId": "ssxDdzVUkgZYPPoPnQK4dCo",
"groupId": "vmDTsAC7aLeqanVVtJ9yQx",
"blockId": "ssxDdzVUkgZYPPoPnQK4dCo",
"itemId": "e7dy3bH2py8fFcak2jUJjr"
},
"to": { "blockId": "hB4p8rwA1dUSq9A5ctTLqh" },
"to": { "groupId": "hB4p8rwA1dUSq9A5ctTLqh" },
"id": "8Ty7noiTJAP3jtaWXLsNwy"
},
{
"from": {
"blockId": "vmDTsAC7aLeqanVVtJ9yQx",
"stepId": "ssxDdzVUkgZYPPoPnQK4dCo",
"groupId": "vmDTsAC7aLeqanVVtJ9yQx",
"blockId": "ssxDdzVUkgZYPPoPnQK4dCo",
"itemId": "vVfToFyNLyGgRYyB8jYLkn"
},
"to": { "blockId": "t7g44CwVvCg6mN16KHVAWv" },
"to": { "groupId": "t7g44CwVvCg6mN16KHVAWv" },
"id": "tprSzPvt6A5kTFf7iUNaeR"
}
],

View File

@ -1 +1,188 @@
{"id":"cl3wo63la1004801amwsqzbof","createdAt":"2022-06-02T07:01:46.030Z","updatedAt":"2022-06-02T07:34:02.336Z","icon":null,"name":"My typebot","publishedTypebotId":null,"folderId":null,"blocks":[{"id":"cl3wo63l80000801ae4lxgvad","steps":[{"id":"cl3wo63l80001801a8u9g96sp","type":"start","label":"Start","blockId":"cl3wo63l80000801ae4lxgvad","outgoingEdgeId":"cl3wo83ha000j2e6gdrk1crro"}],"title":"Start","graphCoordinates":{"x":0,"y":0}},{"id":"cl3wo7ucc000g2e6gdus80qeb","graphCoordinates":{"x":355,"y":-13},"title":"Group #1","steps":[{"id":"cl3wo7uce000h2e6gr9r3b11k","blockId":"cl3wo7ucc000g2e6gdus80qeb","type":"text","content":{"html":"<div>Hello this is group 1</div>","richText":[{"type":"p","children":[{"text":"Hello this is group 1"}]}],"plainText":"Hello this is group 1"}},{"id":"cl3wo8047000i2e6glma69ddz","blockId":"cl3wo7ucc000g2e6gdus80qeb","type":"text","content":{"html":"<div>What&#x27;s your name?</div>","richText":[{"type":"p","children":[{"text":"What's your name?"}]}],"plainText":"What's your name?"}},{"id":"cl3wo85e8000k2e6gdb8qk860","blockId":"cl3wo7ucc000g2e6gdus80qeb","type":"text input","options":{"isLong":false,"labels":{"button":"Send","placeholder":"Type your answer..."}}}]},{"id":"cl3wo87et000l2e6ga64ipat6","graphCoordinates":{"x":22,"y":260},"title":"Group #1 copy","steps":[{"id":"cl3wo87eu000m2e6g5h90qs9u","blockId":"cl3wo87et000l2e6ga64ipat6","type":"text","content":{"html":"<div>Hello this is group 2</div>","richText":[{"type":"p","children":[{"text":"Hello this is group 2"}]}],"plainText":"Hello this is group 2"}},{"id":"cl3wo87ev000n2e6gp7vn2z62","blockId":"cl3wo87et000l2e6ga64ipat6","type":"text","content":{"html":"<div>What&#x27;s your name?</div>","richText":[{"type":"p","children":[{"text":"What's your name?"}]}],"plainText":"What's your name?"}},{"id":"cl3wo87ev000o2e6g71r3hvor","blockId":"cl3wo87et000l2e6ga64ipat6","type":"text input","options":{"isLong":false,"labels":{"button":"Send","placeholder":"Type your answer..."}}}]},{"id":"cl3wo8kfl000p2e6gszlvkub0","graphCoordinates":{"x":367,"y":294},"title":"Group #1 copy copy","steps":[{"id":"cl3wo8kfl000q2e6gci1itvj3","blockId":"cl3wo8kfl000p2e6gszlvkub0","type":"text","content":{"html":"<div>Hello this is group 3</div>","richText":[{"type":"p","children":[{"text":"Hello this is group 3"}]}],"plainText":"Hello this is group 3"}},{"id":"cl3wo8kfl000r2e6gx0lxwitf","blockId":"cl3wo8kfl000p2e6gszlvkub0","type":"text","content":{"html":"<div>What&#x27;s your name?</div>","richText":[{"type":"p","children":[{"text":"What's your name?"}]}],"plainText":"What's your name?"}},{"id":"cl3wo8kfl000s2e6g6ckc9om4","blockId":"cl3wo8kfl000p2e6gszlvkub0","type":"text input","options":{"isLong":false,"labels":{"button":"Send","placeholder":"Type your answer..."}}}]}],"variables":[],"edges":[{"from":{"blockId":"cl3wo63l80000801ae4lxgvad","stepId":"cl3wo63l80001801a8u9g96sp"},"to":{"blockId":"cl3wo7ucc000g2e6gdus80qeb"},"id":"cl3wo83ha000j2e6gdrk1crro"}],"theme":{"chat":{"inputs":{"color":"#303235","backgroundColor":"#FFFFFF","placeholderColor":"#9095A0"},"buttons":{"color":"#FFFFFF","backgroundColor":"#0042DA"},"hostAvatar":{"url":"https://avatars.githubusercontent.com/u/16015833?v=4","isEnabled":true},"hostBubbles":{"color":"#303235","backgroundColor":"#F7F8FF"},"guestBubbles":{"color":"#FFFFFF","backgroundColor":"#FF8E21"}},"general":{"font":"Open Sans","background":{"type":"None"}}},"settings":{"general":{"isBrandingEnabled":true,"isInputPrefillEnabled":true,"isHideQueryParamsEnabled":true,"isNewResultOnRefreshEnabled":false},"metadata":{"description":"Build beautiful conversational forms and embed them directly in your applications without a line of code. Triple your response rate and collect answers that has more value compared to a traditional form."},"typingEmulation":{"speed":300,"enabled":true,"maxDelay":1.5}},"publicId":null,"customDomain":null,"workspaceId":"cl3ncues300081a1as58wmkxz"}
{
"id": "cl3wo63la1004801amwsqzbof",
"createdAt": "2022-06-02T07:01:46.030Z",
"updatedAt": "2022-06-02T07:34:02.336Z",
"icon": null,
"name": "My typebot",
"publishedTypebotId": null,
"folderId": null,
"groups": [
{
"id": "cl3wo63l80000801ae4lxgvad",
"blocks": [
{
"id": "cl3wo63l80001801a8u9g96sp",
"type": "start",
"label": "Start",
"groupId": "cl3wo63l80000801ae4lxgvad",
"outgoingEdgeId": "cl3wo83ha000j2e6gdrk1crro"
}
],
"title": "Start",
"graphCoordinates": { "x": 0, "y": 0 }
},
{
"id": "cl3wo7ucc000g2e6gdus80qeb",
"graphCoordinates": { "x": 355, "y": -13 },
"title": "Group #1",
"blocks": [
{
"id": "cl3wo7uce000h2e6gr9r3b11k",
"groupId": "cl3wo7ucc000g2e6gdus80qeb",
"type": "text",
"content": {
"html": "<div>Hello this is group 1</div>",
"richText": [
{ "type": "p", "children": [{ "text": "Hello this is group 1" }] }
],
"plainText": "Hello this is group 1"
}
},
{
"id": "cl3wo8047000i2e6glma69ddz",
"groupId": "cl3wo7ucc000g2e6gdus80qeb",
"type": "text",
"content": {
"html": "<div>What&#x27;s your name?</div>",
"richText": [
{ "type": "p", "children": [{ "text": "What's your name?" }] }
],
"plainText": "What's your name?"
}
},
{
"id": "cl3wo85e8000k2e6gdb8qk860",
"groupId": "cl3wo7ucc000g2e6gdus80qeb",
"type": "text input",
"options": {
"isLong": false,
"labels": { "button": "Send", "placeholder": "Type your answer..." }
}
}
]
},
{
"id": "cl3wo87et000l2e6ga64ipat6",
"graphCoordinates": { "x": 22, "y": 260 },
"title": "Group #1 copy",
"blocks": [
{
"id": "cl3wo87eu000m2e6g5h90qs9u",
"groupId": "cl3wo87et000l2e6ga64ipat6",
"type": "text",
"content": {
"html": "<div>Hello this is group 2</div>",
"richText": [
{ "type": "p", "children": [{ "text": "Hello this is group 2" }] }
],
"plainText": "Hello this is group 2"
}
},
{
"id": "cl3wo87ev000n2e6gp7vn2z62",
"groupId": "cl3wo87et000l2e6ga64ipat6",
"type": "text",
"content": {
"html": "<div>What&#x27;s your name?</div>",
"richText": [
{ "type": "p", "children": [{ "text": "What's your name?" }] }
],
"plainText": "What's your name?"
}
},
{
"id": "cl3wo87ev000o2e6g71r3hvor",
"groupId": "cl3wo87et000l2e6ga64ipat6",
"type": "text input",
"options": {
"isLong": false,
"labels": { "button": "Send", "placeholder": "Type your answer..." }
}
}
]
},
{
"id": "cl3wo8kfl000p2e6gszlvkub0",
"graphCoordinates": { "x": 367, "y": 294 },
"title": "Group #1 copy copy",
"blocks": [
{
"id": "cl3wo8kfl000q2e6gci1itvj3",
"groupId": "cl3wo8kfl000p2e6gszlvkub0",
"type": "text",
"content": {
"html": "<div>Hello this is group 3</div>",
"richText": [
{ "type": "p", "children": [{ "text": "Hello this is group 3" }] }
],
"plainText": "Hello this is group 3"
}
},
{
"id": "cl3wo8kfl000r2e6gx0lxwitf",
"groupId": "cl3wo8kfl000p2e6gszlvkub0",
"type": "text",
"content": {
"html": "<div>What&#x27;s your name?</div>",
"richText": [
{ "type": "p", "children": [{ "text": "What's your name?" }] }
],
"plainText": "What's your name?"
}
},
{
"id": "cl3wo8kfl000s2e6g6ckc9om4",
"groupId": "cl3wo8kfl000p2e6gszlvkub0",
"type": "text input",
"options": {
"isLong": false,
"labels": { "button": "Send", "placeholder": "Type your answer..." }
}
}
]
}
],
"variables": [],
"edges": [
{
"from": {
"groupId": "cl3wo63l80000801ae4lxgvad",
"blockId": "cl3wo63l80001801a8u9g96sp"
},
"to": { "groupId": "cl3wo7ucc000g2e6gdus80qeb" },
"id": "cl3wo83ha000j2e6gdrk1crro"
}
],
"theme": {
"chat": {
"inputs": {
"color": "#303235",
"backgroundColor": "#FFFFFF",
"placeholderColor": "#9095A0"
},
"buttons": { "color": "#FFFFFF", "backgroundColor": "#0042DA" },
"hostAvatar": {
"url": "https://avatars.githubusercontent.com/u/16015833?v=4",
"isEnabled": true
},
"hostBubbles": { "color": "#303235", "backgroundColor": "#F7F8FF" },
"guestBubbles": { "color": "#FFFFFF", "backgroundColor": "#FF8E21" }
},
"general": { "font": "Open Sans", "background": { "type": "None" } }
},
"settings": {
"general": {
"isBrandingEnabled": true,
"isInputPrefillEnabled": true,
"isHideQueryParamsEnabled": true,
"isNewResultOnRefreshEnabled": false
},
"metadata": {
"description": "Build beautiful conversational forms and embed them directly in your applications without a line of code. Triple your response rate and collect answers that has more value compared to a traditional form."
},
"typingEmulation": { "speed": 300, "enabled": true, "maxDelay": 1.5 }
},
"publicId": null,
"customDomain": null,
"workspaceId": "cl3ncues300081a1as58wmkxz"
}

View File

@ -5,15 +5,15 @@
"name": "My typebot",
"publishedTypebotId": null,
"folderId": null,
"blocks": [
"groups": [
{
"id": "cl10u677d0000a01aa4g4aazg",
"steps": [
"blocks": [
{
"id": "cl10u677d0001a01a0xfo3d11",
"type": "start",
"label": "Start",
"blockId": "cl10u677d0000a01aa4g4aazg",
"groupId": "cl10u677d0000a01aa4g4aazg",
"outgoingEdgeId": "cl10u6cw500052e6dq284zju3"
}
],
@ -23,11 +23,11 @@
{
"id": "cl10u68pw00032e6depze2oiy",
"graphCoordinates": { "x": 353, "y": 121 },
"title": "Block #1",
"steps": [
"title": "Group #1",
"blocks": [
{
"id": "cl10u68q000042e6dhdipu2wg",
"blockId": "cl10u68pw00032e6depze2oiy",
"groupId": "cl10u68pw00032e6depze2oiy",
"type": "text",
"content": {
"html": "<div>Hi how are you?</div>",
@ -39,7 +39,7 @@
},
{
"id": "cl10u6ey300062e6dea9ikpko",
"blockId": "cl10u68pw00032e6depze2oiy",
"groupId": "cl10u68pw00032e6depze2oiy",
"type": "text input",
"options": {
"isLong": false,
@ -52,11 +52,11 @@
{
"id": "cl10u6jzd00072e6dvo0zwy0s",
"graphCoordinates": { "x": 691, "y": 127 },
"title": "Block #2",
"steps": [
"title": "Group #2",
"blocks": [
{
"id": "cl10u6jzt00082e6dgw1piz0q",
"blockId": "cl10u6jzd00072e6dvo0zwy0s",
"groupId": "cl10u6jzd00072e6dvo0zwy0s",
"type": "text",
"content": {
"html": "<div>How old are you?</div>",
@ -68,7 +68,7 @@
},
{
"id": "cl10u6qa300092e6dh5izz7ig",
"blockId": "cl10u6jzd00072e6dvo0zwy0s",
"groupId": "cl10u6jzd00072e6dvo0zwy0s",
"type": "number input",
"options": {
"labels": { "button": "Send", "placeholder": "Type a number..." }
@ -76,7 +76,7 @@
},
{
"id": "cl10u6vbo000a2e6davz2hfw7",
"blockId": "cl10u6jzd00072e6dvo0zwy0s",
"groupId": "cl10u6jzd00072e6dvo0zwy0s",
"type": "text",
"content": {
"html": "<div>Do you like cookies?</div>",
@ -88,18 +88,18 @@
},
{
"id": "cl10u6zk0000b2e6dvabq067r",
"blockId": "cl10u6jzd00072e6dvo0zwy0s",
"groupId": "cl10u6jzd00072e6dvo0zwy0s",
"type": "choice input",
"options": { "buttonLabel": "Send", "isMultipleChoice": false },
"items": [
{
"id": "cl10u6zk1000c2e6d0d4ivgcl",
"stepId": "cl10u6zk0000b2e6dvabq067r",
"blockId": "cl10u6zk0000b2e6dvabq067r",
"type": 0,
"content": "Yes"
},
{
"stepId": "cl10u6zk0000b2e6dvabq067r",
"blockId": "cl10u6zk0000b2e6dvabq067r",
"type": 0,
"id": "cl10u70gi000d2e6d924ywjsb",
"content": "No"
@ -108,7 +108,7 @@
},
{
"id": "cl10u759h000f2e6d0rhfwep4",
"blockId": "cl10u6jzd00072e6dvo0zwy0s",
"groupId": "cl10u6jzd00072e6dvo0zwy0s",
"type": "text",
"content": {
"html": "<div>Alright, cheers!</div>",
@ -120,7 +120,7 @@
},
{
"id": "cl10u7i6n000h2e6d537h38pg",
"blockId": "cl10u6jzd00072e6dvo0zwy0s",
"groupId": "cl10u6jzd00072e6dvo0zwy0s",
"type": "Webhook",
"options": {
"responseVariableMapping": [],
@ -137,18 +137,18 @@
"edges": [
{
"from": {
"blockId": "cl10u677d0000a01aa4g4aazg",
"stepId": "cl10u677d0001a01a0xfo3d11"
"groupId": "cl10u677d0000a01aa4g4aazg",
"blockId": "cl10u677d0001a01a0xfo3d11"
},
"to": { "blockId": "cl10u68pw00032e6depze2oiy" },
"to": { "groupId": "cl10u68pw00032e6depze2oiy" },
"id": "cl10u6cw500052e6dq284zju3"
},
{
"from": {
"blockId": "cl10u68pw00032e6depze2oiy",
"stepId": "cl10u6ey300062e6dea9ikpko"
"groupId": "cl10u68pw00032e6depze2oiy",
"blockId": "cl10u6ey300062e6dea9ikpko"
},
"to": { "blockId": "cl10u6jzd00072e6dvo0zwy0s" },
"to": { "groupId": "cl10u6jzd00072e6dvo0zwy0s" },
"id": "cl10u7ax4000g2e6dkqoq18kp"
}
],

View File

@ -5,15 +5,15 @@
"name": "My typebot",
"publishedTypebotId": null,
"folderId": null,
"blocks": [
"groups": [
{
"id": "bSHn2HQZ1sKji5pd9Nmejf",
"steps": [
"blocks": [
{
"id": "qYmbSFBxCvGCgTvQTg9HeH",
"type": "start",
"label": "Start",
"blockId": "bSHn2HQZ1sKji5pd9Nmejf",
"groupId": "bSHn2HQZ1sKji5pd9Nmejf",
"outgoingEdgeId": "jdQnqJK4b559rTJzHHhjcz"
}
],
@ -23,11 +23,11 @@
{
"id": "mSvUFogQH16bQDN1iGWF66",
"graphCoordinates": { "x": 324, "y": 209 },
"title": "Block #1",
"steps": [
"title": "Group #1",
"blocks": [
{
"id": "spDLmDCZfNJu4DrZ1MUg84c",
"blockId": "mSvUFogQH16bQDN1iGWF66",
"groupId": "mSvUFogQH16bQDN1iGWF66",
"type": "email input",
"options": {
"labels": { "button": "Send", "placeholder": "Type your email..." },
@ -40,11 +40,11 @@
{
"id": "jd4S6BQsUQ2RuKieHXYKs9",
"graphCoordinates": { "x": 655, "y": 363 },
"title": "Block #2",
"steps": [
"title": "Group #2",
"blocks": [
{
"id": "s1ZvUqWxV6b8UgFGYWh39pV",
"blockId": "jd4S6BQsUQ2RuKieHXYKs9",
"groupId": "jd4S6BQsUQ2RuKieHXYKs9",
"type": "Google Sheets",
"options": {}
}
@ -55,18 +55,18 @@
"edges": [
{
"from": {
"blockId": "bSHn2HQZ1sKji5pd9Nmejf",
"stepId": "qYmbSFBxCvGCgTvQTg9HeH"
"groupId": "bSHn2HQZ1sKji5pd9Nmejf",
"blockId": "qYmbSFBxCvGCgTvQTg9HeH"
},
"to": { "blockId": "mSvUFogQH16bQDN1iGWF66" },
"to": { "groupId": "mSvUFogQH16bQDN1iGWF66" },
"id": "jdQnqJK4b559rTJzHHhjcz"
},
{
"from": {
"blockId": "mSvUFogQH16bQDN1iGWF66",
"stepId": "spDLmDCZfNJu4DrZ1MUg84c"
"groupId": "mSvUFogQH16bQDN1iGWF66",
"blockId": "spDLmDCZfNJu4DrZ1MUg84c"
},
"to": { "blockId": "jd4S6BQsUQ2RuKieHXYKs9" },
"to": { "groupId": "jd4S6BQsUQ2RuKieHXYKs9" },
"id": "4yg9V76fdDntpDEw6H3tvU"
}
],

View File

@ -5,15 +5,15 @@
"name": "My typebot",
"publishedTypebotId": null,
"folderId": null,
"blocks": [
"groups": [
{
"id": "bSHn2HQZ1sKji5pd9Nmejf",
"steps": [
"blocks": [
{
"id": "qYmbSFBxCvGCgTvQTg9HeH",
"type": "start",
"label": "Start",
"blockId": "bSHn2HQZ1sKji5pd9Nmejf",
"groupId": "bSHn2HQZ1sKji5pd9Nmejf",
"outgoingEdgeId": "jdQnqJK4b559rTJzHHhjcz"
}
],
@ -23,11 +23,11 @@
{
"id": "mSvUFogQH16bQDN1iGWF66",
"graphCoordinates": { "x": 324, "y": 209 },
"title": "Block #1",
"steps": [
"title": "Group #1",
"blocks": [
{
"id": "spDLmDCZfNJu4DrZ1MUg84c",
"blockId": "mSvUFogQH16bQDN1iGWF66",
"groupId": "mSvUFogQH16bQDN1iGWF66",
"type": "email input",
"options": {
"labels": { "button": "Send", "placeholder": "Type your email..." },
@ -40,11 +40,11 @@
{
"id": "jd4S6BQsUQ2RuKieHXYKs9",
"graphCoordinates": { "x": 655, "y": 363 },
"title": "Block #2",
"steps": [
"title": "Group #2",
"blocks": [
{
"id": "s1ZvUqWxV6b8UgFGYWh39pV",
"blockId": "jd4S6BQsUQ2RuKieHXYKs9",
"groupId": "jd4S6BQsUQ2RuKieHXYKs9",
"type": "Google Sheets",
"options": {},
"outgoingEdgeId": "tBsPNYzMW1mMSvFMHZpmx8"
@ -54,11 +54,11 @@
{
"id": "pd3PECJqHB9xHMfc52SbrZ",
"graphCoordinates": { "x": 292, "y": 509 },
"title": "Block #3",
"steps": [
"title": "Group #3",
"blocks": [
{
"id": "sdECvSYszxBaZHH5TuWm11h",
"blockId": "pd3PECJqHB9xHMfc52SbrZ",
"groupId": "pd3PECJqHB9xHMfc52SbrZ",
"type": "text",
"content": {
"html": "<div>Your name is: {{First name}} {{Last name}}</div>",
@ -80,26 +80,26 @@
"edges": [
{
"from": {
"blockId": "bSHn2HQZ1sKji5pd9Nmejf",
"stepId": "qYmbSFBxCvGCgTvQTg9HeH"
"groupId": "bSHn2HQZ1sKji5pd9Nmejf",
"blockId": "qYmbSFBxCvGCgTvQTg9HeH"
},
"to": { "blockId": "mSvUFogQH16bQDN1iGWF66" },
"to": { "groupId": "mSvUFogQH16bQDN1iGWF66" },
"id": "jdQnqJK4b559rTJzHHhjcz"
},
{
"from": {
"blockId": "mSvUFogQH16bQDN1iGWF66",
"stepId": "spDLmDCZfNJu4DrZ1MUg84c"
"groupId": "mSvUFogQH16bQDN1iGWF66",
"blockId": "spDLmDCZfNJu4DrZ1MUg84c"
},
"to": { "blockId": "jd4S6BQsUQ2RuKieHXYKs9" },
"to": { "groupId": "jd4S6BQsUQ2RuKieHXYKs9" },
"id": "4yg9V76fdDntpDEw6H3tvU"
},
{
"from": {
"blockId": "jd4S6BQsUQ2RuKieHXYKs9",
"stepId": "s1ZvUqWxV6b8UgFGYWh39pV"
"groupId": "jd4S6BQsUQ2RuKieHXYKs9",
"blockId": "s1ZvUqWxV6b8UgFGYWh39pV"
},
"to": { "blockId": "pd3PECJqHB9xHMfc52SbrZ" },
"to": { "groupId": "pd3PECJqHB9xHMfc52SbrZ" },
"id": "tBsPNYzMW1mMSvFMHZpmx8"
}
],

View File

@ -5,15 +5,15 @@
"name": "My typebot",
"publishedTypebotId": null,
"folderId": null,
"blocks": [
"groups": [
{
"id": "kSDJqC9TmM25eAM3a2yn3o",
"steps": [
"blocks": [
{
"id": "phSmjJU2gYq7b11hpima8b",
"type": "start",
"label": "Start",
"blockId": "kSDJqC9TmM25eAM3a2yn3o",
"groupId": "kSDJqC9TmM25eAM3a2yn3o",
"outgoingEdgeId": "vKtpPmbmqgeGC4vwCfPEdv"
}
],
@ -23,11 +23,11 @@
{
"id": "b5r2MMyftV1nv9vyr6VkZh",
"graphCoordinates": { "x": 242, "y": 174 },
"title": "Block #2",
"steps": [
"title": "Group #2",
"blocks": [
{
"id": "sb7ibhNAKfvs8yy8fz3XRMT",
"blockId": "b5r2MMyftV1nv9vyr6VkZh",
"groupId": "b5r2MMyftV1nv9vyr6VkZh",
"type": "text",
"content": {
"html": "<div>Send email</div>",
@ -39,13 +39,13 @@
},
{
"id": "svM58drFcdtdJ7DaJCfTLXm",
"blockId": "b5r2MMyftV1nv9vyr6VkZh",
"groupId": "b5r2MMyftV1nv9vyr6VkZh",
"type": "choice input",
"options": { "buttonLabel": "Send", "isMultipleChoice": false },
"items": [
{
"id": "nxQEmdaQXc9eFjrbrVBavH",
"stepId": "svM58drFcdtdJ7DaJCfTLXm",
"blockId": "svM58drFcdtdJ7DaJCfTLXm",
"type": 0,
"content": "Go"
}
@ -57,11 +57,11 @@
{
"id": "6jr7XM9GbVkJ2Ru1WyL45v",
"graphCoordinates": { "x": 609, "y": 429 },
"title": "Block #2",
"steps": [
"title": "Group #2",
"blocks": [
{
"id": "sr2sdAzN5dGao1gCiDWCG8i",
"blockId": "6jr7XM9GbVkJ2Ru1WyL45v",
"groupId": "6jr7XM9GbVkJ2Ru1WyL45v",
"type": "Email",
"options": { "credentialsId": "default", "recipients": [] }
}
@ -72,18 +72,18 @@
"edges": [
{
"from": {
"blockId": "kSDJqC9TmM25eAM3a2yn3o",
"stepId": "phSmjJU2gYq7b11hpima8b"
"groupId": "kSDJqC9TmM25eAM3a2yn3o",
"blockId": "phSmjJU2gYq7b11hpima8b"
},
"to": { "blockId": "b5r2MMyftV1nv9vyr6VkZh" },
"to": { "groupId": "b5r2MMyftV1nv9vyr6VkZh" },
"id": "vKtpPmbmqgeGC4vwCfPEdv"
},
{
"from": {
"blockId": "b5r2MMyftV1nv9vyr6VkZh",
"stepId": "svM58drFcdtdJ7DaJCfTLXm"
"groupId": "b5r2MMyftV1nv9vyr6VkZh",
"blockId": "svM58drFcdtdJ7DaJCfTLXm"
},
"to": { "blockId": "6jr7XM9GbVkJ2Ru1WyL45v" },
"to": { "groupId": "6jr7XM9GbVkJ2Ru1WyL45v" },
"id": "ioB4s1iRBb8wXiRam8Pp4s"
}
],

View File

@ -5,15 +5,15 @@
"name": "My typebot",
"publishedTypebotId": null,
"folderId": null,
"blocks": [
"groups": [
{
"id": "p6GeeRXHgwiJeoJRBkKaMJ",
"steps": [
"blocks": [
{
"id": "iDS7jFemUsQ7Sp3eu3xg3w",
"type": "start",
"label": "Start",
"blockId": "p6GeeRXHgwiJeoJRBkKaMJ",
"groupId": "p6GeeRXHgwiJeoJRBkKaMJ",
"outgoingEdgeId": "cyEJPaLU7AchnBSaeWoyiS"
}
],
@ -23,11 +23,11 @@
{
"id": "kBneEpKdMYrF65XxUQ5GS7",
"graphCoordinates": { "x": 260, "y": 186 },
"title": "Block #1",
"steps": [
"title": "Group #1",
"blocks": [
{
"id": "skSkZ4PNP7m1gYvu9Ew6ngM",
"blockId": "kBneEpKdMYrF65XxUQ5GS7",
"groupId": "kBneEpKdMYrF65XxUQ5GS7",
"type": "text",
"content": {
"html": "<div>Ready?</div>",
@ -37,13 +37,13 @@
},
{
"id": "sh6ZVRA3o72y6BEiNKVcoma",
"blockId": "kBneEpKdMYrF65XxUQ5GS7",
"groupId": "kBneEpKdMYrF65XxUQ5GS7",
"type": "choice input",
"options": { "buttonLabel": "Send", "isMultipleChoice": false },
"items": [
{
"id": "rr5mKKBPq73ZrfXZ3uuupz",
"stepId": "sh6ZVRA3o72y6BEiNKVcoma",
"blockId": "sh6ZVRA3o72y6BEiNKVcoma",
"type": 0,
"content": "Go",
"outgoingEdgeId": "1sLicz8gq2QxytFTwBd8ac"
@ -55,11 +55,11 @@
{
"id": "8XnDM1QsqPms4LQHh8q3Jo",
"graphCoordinates": { "x": 646, "y": 511 },
"title": "Block #2",
"steps": [
"title": "Group #2",
"blocks": [
{
"id": "soSmiE7zyb3WF77GxFxAjYX",
"blockId": "8XnDM1QsqPms4LQHh8q3Jo",
"groupId": "8XnDM1QsqPms4LQHh8q3Jo",
"type": "Webhook",
"options": {
"responseVariableMapping": [],
@ -81,19 +81,19 @@
"edges": [
{
"from": {
"blockId": "p6GeeRXHgwiJeoJRBkKaMJ",
"stepId": "iDS7jFemUsQ7Sp3eu3xg3w"
"groupId": "p6GeeRXHgwiJeoJRBkKaMJ",
"blockId": "iDS7jFemUsQ7Sp3eu3xg3w"
},
"to": { "blockId": "kBneEpKdMYrF65XxUQ5GS7" },
"to": { "groupId": "kBneEpKdMYrF65XxUQ5GS7" },
"id": "cyEJPaLU7AchnBSaeWoyiS"
},
{
"from": {
"blockId": "kBneEpKdMYrF65XxUQ5GS7",
"stepId": "sh6ZVRA3o72y6BEiNKVcoma",
"groupId": "kBneEpKdMYrF65XxUQ5GS7",
"blockId": "sh6ZVRA3o72y6BEiNKVcoma",
"itemId": "rr5mKKBPq73ZrfXZ3uuupz"
},
"to": { "blockId": "8XnDM1QsqPms4LQHh8q3Jo" },
"to": { "groupId": "8XnDM1QsqPms4LQHh8q3Jo" },
"id": "1sLicz8gq2QxytFTwBd8ac"
}
],

View File

@ -5,15 +5,15 @@
"name": "My typebot",
"publishedTypebotId": null,
"folderId": null,
"blocks": [
"groups": [
{
"id": "tdN9VXcdBWpuh6Gpaz3w4u",
"steps": [
"blocks": [
{
"id": "cVRL5EuVruTK31SAaVCvNE",
"type": "start",
"label": "Start",
"blockId": "tdN9VXcdBWpuh6Gpaz3w4u",
"groupId": "tdN9VXcdBWpuh6Gpaz3w4u",
"outgoingEdgeId": "jqZYCYGxaL8svJbM2h1QAn"
}
],
@ -23,11 +23,11 @@
{
"id": "vymPUjL9AcWpkg9PkUXovk",
"graphCoordinates": { "x": 685, "y": 194 },
"title": "Block #1",
"steps": [
"title": "Group #1",
"blocks": [
{
"id": "sa8WhnrMyMjYCBMeozfYRoi",
"blockId": "vymPUjL9AcWpkg9PkUXovk",
"groupId": "vymPUjL9AcWpkg9PkUXovk",
"type": "Code",
"options": { "name": "Code snippet" }
}
@ -36,17 +36,17 @@
{
"id": "rEJ3PhFQc7diJ23jdoF6w7",
"graphCoordinates": { "x": 294, "y": 201 },
"title": "Block #2",
"steps": [
"title": "Group #2",
"blocks": [
{
"id": "s7QRApVZmVFZgS53CNruBRz",
"blockId": "rEJ3PhFQc7diJ23jdoF6w7",
"groupId": "rEJ3PhFQc7diJ23jdoF6w7",
"type": "choice input",
"options": { "buttonLabel": "Send", "isMultipleChoice": false },
"items": [
{
"id": "5rWR3enRg6jZyFhtmgbPYo",
"stepId": "s7QRApVZmVFZgS53CNruBRz",
"blockId": "s7QRApVZmVFZgS53CNruBRz",
"type": 0,
"content": "Trigger code",
"outgoingEdgeId": "6aVDkPMEsadze2vf4mLiYt"
@ -60,19 +60,19 @@
"edges": [
{
"from": {
"blockId": "tdN9VXcdBWpuh6Gpaz3w4u",
"stepId": "cVRL5EuVruTK31SAaVCvNE"
"groupId": "tdN9VXcdBWpuh6Gpaz3w4u",
"blockId": "cVRL5EuVruTK31SAaVCvNE"
},
"to": { "blockId": "rEJ3PhFQc7diJ23jdoF6w7" },
"to": { "groupId": "rEJ3PhFQc7diJ23jdoF6w7" },
"id": "jqZYCYGxaL8svJbM2h1QAn"
},
{
"from": {
"blockId": "rEJ3PhFQc7diJ23jdoF6w7",
"stepId": "s7QRApVZmVFZgS53CNruBRz",
"groupId": "rEJ3PhFQc7diJ23jdoF6w7",
"blockId": "s7QRApVZmVFZgS53CNruBRz",
"itemId": "5rWR3enRg6jZyFhtmgbPYo"
},
"to": { "blockId": "vymPUjL9AcWpkg9PkUXovk" },
"to": { "groupId": "vymPUjL9AcWpkg9PkUXovk" },
"id": "6aVDkPMEsadze2vf4mLiYt"
}
],

View File

@ -5,15 +5,15 @@
"name": "My typebot",
"publishedTypebotId": null,
"folderId": null,
"blocks": [
"groups": [
{
"id": "cN46uqNAR3ohjrS8jHJ6xT",
"steps": [
"blocks": [
{
"id": "nzijwLtLTAZfNNCN7kEpn5",
"type": "start",
"label": "Start",
"blockId": "cN46uqNAR3ohjrS8jHJ6xT",
"groupId": "cN46uqNAR3ohjrS8jHJ6xT",
"outgoingEdgeId": "7wxB76VK81JsXMX9jU9dbQ"
}
],
@ -22,11 +22,11 @@
},
{
"id": "eh2ohNATnGg6RTdjG9h5kb",
"steps": [
"blocks": [
{
"id": "sb6xdkJRr6P6BxtTM3ku5JD",
"type": "text",
"blockId": "eh2ohNATnGg6RTdjG9h5kb",
"groupId": "eh2ohNATnGg6RTdjG9h5kb",
"content": {
"html": "<div>How old are you?</div>",
"richText": [
@ -38,7 +38,7 @@
{
"id": "ssyBKZve7bihSxUASYTruZA",
"type": "number input",
"blockId": "eh2ohNATnGg6RTdjG9h5kb",
"groupId": "eh2ohNATnGg6RTdjG9h5kb",
"options": {
"labels": { "button": "Send", "placeholder": "Type a number..." },
"variableId": "iDJzzyzAY2jrapm3NwhGMz"
@ -46,20 +46,20 @@
"outgoingEdgeId": "r8LX7iuEXxjF5SW5dbS6qT"
}
],
"title": "Block #1",
"title": "Group #1",
"graphCoordinates": { "x": 159, "y": 224 }
},
{
"id": "eMk84KvFM53sBxchTeackR",
"steps": [
"blocks": [
{
"id": "s5hz7HQki66cwELvk2738MJ",
"blockId": "eMk84KvFM53sBxchTeackR",
"groupId": "eMk84KvFM53sBxchTeackR",
"type": "Condition",
"items": [
{
"id": "56s4R9THRKeoJtBdKzEGLn",
"stepId": "s5hz7HQki66cwELvk2738MJ",
"blockId": "s5hz7HQki66cwELvk2738MJ",
"type": 1,
"content": {
"comparisons": [
@ -80,7 +80,7 @@
{
"id": "ijYfW38tGhCMRrCtmR3bcr",
"type": 1,
"stepId": "sv8uvEXgYWQNMfZWcdbfyCs",
"blockId": "sv8uvEXgYWQNMfZWcdbfyCs",
"content": {
"comparisons": [
{
@ -92,20 +92,20 @@
"outgoingEdgeId": "s1uVbzP1zMMJjsCguAfhGV"
}
],
"blockId": "eMk84KvFM53sBxchTeackR",
"groupId": "eMk84KvFM53sBxchTeackR",
"outgoingEdgeId": "hVScFHNzToiEsMfYVv5AWZ"
}
],
"title": "Block #2",
"title": "Group #2",
"graphCoordinates": { "x": 561, "y": 295 }
},
{
"id": "fGrzjahWecA8hoNMRrLSwn",
"steps": [
"blocks": [
{
"id": "soZqPdPUjYAht9nHmVpba1Q",
"type": "text",
"blockId": "fGrzjahWecA8hoNMRrLSwn",
"groupId": "fGrzjahWecA8hoNMRrLSwn",
"content": {
"html": "<div>You are older than 80</div>",
"richText": [
@ -118,16 +118,16 @@
}
}
],
"title": "Block #3",
"title": "Group #3",
"graphCoordinates": { "x": 936, "y": 63 }
},
{
"id": "49Jv45UJi9R3U4FuWS8R2c",
"steps": [
"blocks": [
{
"id": "svipUacs1sDk9KDxzaGhnsG",
"type": "text",
"blockId": "49Jv45UJi9R3U4FuWS8R2c",
"groupId": "49Jv45UJi9R3U4FuWS8R2c",
"content": {
"html": "<div>You are older than 20</div>",
"richText": [
@ -140,16 +140,16 @@
}
}
],
"title": "Block #4",
"title": "Group #4",
"graphCoordinates": { "x": 950, "y": 298 }
},
{
"id": "fD28kefdySKK7XA7SyTozC",
"steps": [
"blocks": [
{
"id": "spHJ7v9bDdVrFfuF2zg3YNR",
"type": "text",
"blockId": "fD28kefdySKK7XA7SyTozC",
"groupId": "fD28kefdySKK7XA7SyTozC",
"content": {
"html": "<div>You are younger than 20</div>",
"richText": [
@ -162,7 +162,7 @@
}
}
],
"title": "Block #5",
"title": "Group #5",
"graphCoordinates": { "x": 985, "y": 537 }
}
],
@ -170,44 +170,44 @@
"edges": [
{
"from": {
"blockId": "eMk84KvFM53sBxchTeackR",
"stepId": "s5hz7HQki66cwELvk2738MJ",
"groupId": "eMk84KvFM53sBxchTeackR",
"blockId": "s5hz7HQki66cwELvk2738MJ",
"itemId": "56s4R9THRKeoJtBdKzEGLn"
},
"to": { "blockId": "fGrzjahWecA8hoNMRrLSwn" },
"to": { "groupId": "fGrzjahWecA8hoNMRrLSwn" },
"id": "nDjMjM11xPQF7c9Be6ukdY"
},
{
"from": {
"blockId": "eMk84KvFM53sBxchTeackR",
"stepId": "sv8uvEXgYWQNMfZWcdbfyCs",
"groupId": "eMk84KvFM53sBxchTeackR",
"blockId": "sv8uvEXgYWQNMfZWcdbfyCs",
"itemId": "ijYfW38tGhCMRrCtmR3bcr"
},
"to": { "blockId": "49Jv45UJi9R3U4FuWS8R2c" },
"to": { "groupId": "49Jv45UJi9R3U4FuWS8R2c" },
"id": "s1uVbzP1zMMJjsCguAfhGV"
},
{
"from": {
"blockId": "eMk84KvFM53sBxchTeackR",
"stepId": "sv8uvEXgYWQNMfZWcdbfyCs"
"groupId": "eMk84KvFM53sBxchTeackR",
"blockId": "sv8uvEXgYWQNMfZWcdbfyCs"
},
"to": { "blockId": "fD28kefdySKK7XA7SyTozC" },
"to": { "groupId": "fD28kefdySKK7XA7SyTozC" },
"id": "hVScFHNzToiEsMfYVv5AWZ"
},
{
"from": {
"blockId": "eh2ohNATnGg6RTdjG9h5kb",
"stepId": "ssyBKZve7bihSxUASYTruZA"
"groupId": "eh2ohNATnGg6RTdjG9h5kb",
"blockId": "ssyBKZve7bihSxUASYTruZA"
},
"to": { "blockId": "eMk84KvFM53sBxchTeackR" },
"to": { "groupId": "eMk84KvFM53sBxchTeackR" },
"id": "r8LX7iuEXxjF5SW5dbS6qT"
},
{
"from": {
"blockId": "cN46uqNAR3ohjrS8jHJ6xT",
"stepId": "nzijwLtLTAZfNNCN7kEpn5"
"groupId": "cN46uqNAR3ohjrS8jHJ6xT",
"blockId": "nzijwLtLTAZfNNCN7kEpn5"
},
"to": { "blockId": "eh2ohNATnGg6RTdjG9h5kb" },
"to": { "groupId": "eh2ohNATnGg6RTdjG9h5kb" },
"id": "7wxB76VK81JsXMX9jU9dbQ"
}
],

View File

@ -5,15 +5,15 @@
"name": "My typebot",
"publishedTypebotId": null,
"folderId": null,
"blocks": [
"groups": [
{
"id": "jPVDjQ5go4ZxmGCmApbcQf",
"steps": [
"blocks": [
{
"id": "nrCKsAYzbCogJanfxUavUV",
"type": "start",
"label": "Start",
"blockId": "jPVDjQ5go4ZxmGCmApbcQf",
"groupId": "jPVDjQ5go4ZxmGCmApbcQf",
"outgoingEdgeId": "8MazLBx8HbfKeYLADQkA3z"
}
],
@ -23,11 +23,11 @@
{
"id": "nyD3H7h6tEZqDmGwGciGV4",
"graphCoordinates": { "x": 428, "y": 168 },
"title": "Block #1",
"steps": [
"title": "Group #1",
"blocks": [
{
"id": "s8Pz7fPg4niG1JcvBS3CwAs",
"blockId": "nyD3H7h6tEZqDmGwGciGV4",
"groupId": "nyD3H7h6tEZqDmGwGciGV4",
"type": "Typebot link",
"options": {}
}
@ -37,10 +37,10 @@
"id": "jMbvgRQfXUaXg37LRNqRaJ",
"graphCoordinates": { "x": 423, "y": 386 },
"title": "Hello",
"steps": [
"blocks": [
{
"id": "scE368YFYn9cWU1RkQDFLUW",
"blockId": "jMbvgRQfXUaXg37LRNqRaJ",
"groupId": "jMbvgRQfXUaXg37LRNqRaJ",
"type": "text",
"content": {
"html": "<div>Hello world</div>",
@ -52,7 +52,7 @@
},
{
"id": "sem1do43KTkuvf49eqWcMgc",
"blockId": "jMbvgRQfXUaXg37LRNqRaJ",
"groupId": "jMbvgRQfXUaXg37LRNqRaJ",
"type": "text input",
"options": {
"isLong": false,
@ -66,10 +66,10 @@
"edges": [
{
"from": {
"blockId": "jPVDjQ5go4ZxmGCmApbcQf",
"stepId": "nrCKsAYzbCogJanfxUavUV"
"groupId": "jPVDjQ5go4ZxmGCmApbcQf",
"blockId": "nrCKsAYzbCogJanfxUavUV"
},
"to": { "blockId": "nyD3H7h6tEZqDmGwGciGV4" },
"to": { "groupId": "nyD3H7h6tEZqDmGwGciGV4" },
"id": "8MazLBx8HbfKeYLADQkA3z"
}
],

View File

@ -5,15 +5,15 @@
"name": "Another typebot",
"publishedTypebotId": null,
"folderId": null,
"blocks": [
"groups": [
{
"id": "p4ByLVoKiDRyRoPHKmcTfw",
"steps": [
"blocks": [
{
"id": "rw6smEWEJzHKbiVKLUKFvZ",
"type": "start",
"label": "Start",
"blockId": "p4ByLVoKiDRyRoPHKmcTfw",
"groupId": "p4ByLVoKiDRyRoPHKmcTfw",
"outgoingEdgeId": "1z3pfiatTUHbraD2uSoA3E"
}
],
@ -22,11 +22,11 @@
},
{
"id": "bg4QEJseUsTP496H27j5k2",
"steps": [
"blocks": [
{
"id": "s8ZeBL9p5za77eBmdKECLYq",
"type": "text input",
"blockId": "bg4QEJseUsTP496H27j5k2",
"groupId": "bg4QEJseUsTP496H27j5k2",
"options": {
"isLong": false,
"labels": { "button": "Send", "placeholder": "Type your answer..." }
@ -34,16 +34,16 @@
"outgoingEdgeId": "aEBnubX4EMx4Cse6xPAR1m"
}
],
"title": "Block #1",
"title": "Group #1",
"graphCoordinates": { "x": 366, "y": 191 }
},
{
"id": "uhqCZSNbsYVFxop7Gc8xvn",
"steps": [
"blocks": [
{
"id": "smyHyeS6yaFaHHU44BNmN4n",
"type": "text",
"blockId": "uhqCZSNbsYVFxop7Gc8xvn",
"groupId": "uhqCZSNbsYVFxop7Gc8xvn",
"content": {
"html": "<div>Second block</div>",
"richText": [
@ -53,7 +53,7 @@
}
}
],
"title": "Block #2",
"title": "Group #2",
"graphCoordinates": { "x": 793, "y": 99 }
}
],
@ -61,18 +61,18 @@
"edges": [
{
"id": "1z3pfiatTUHbraD2uSoA3E",
"to": { "blockId": "bg4QEJseUsTP496H27j5k2" },
"to": { "groupId": "bg4QEJseUsTP496H27j5k2" },
"from": {
"stepId": "rw6smEWEJzHKbiVKLUKFvZ",
"blockId": "p4ByLVoKiDRyRoPHKmcTfw"
"blockId": "rw6smEWEJzHKbiVKLUKFvZ",
"groupId": "p4ByLVoKiDRyRoPHKmcTfw"
}
},
{
"id": "aEBnubX4EMx4Cse6xPAR1m",
"to": { "blockId": "uhqCZSNbsYVFxop7Gc8xvn" },
"to": { "groupId": "uhqCZSNbsYVFxop7Gc8xvn" },
"from": {
"stepId": "s8ZeBL9p5za77eBmdKECLYq",
"blockId": "bg4QEJseUsTP496H27j5k2"
"blockId": "s8ZeBL9p5za77eBmdKECLYq",
"groupId": "bg4QEJseUsTP496H27j5k2"
}
}
],

View File

@ -5,15 +5,15 @@
"name": "My typebot",
"publishedTypebotId": null,
"folderId": null,
"blocks": [
"groups": [
{
"id": "tdN9VXcdBWpuh6Gpaz3w4u",
"steps": [
"blocks": [
{
"id": "cVRL5EuVruTK31SAaVCvNE",
"type": "start",
"label": "Start",
"blockId": "tdN9VXcdBWpuh6Gpaz3w4u",
"groupId": "tdN9VXcdBWpuh6Gpaz3w4u",
"outgoingEdgeId": "jqZYCYGxaL8svJbM2h1QAn"
}
],
@ -23,11 +23,11 @@
{
"id": "vymPUjL9AcWpkg9PkUXovk",
"graphCoordinates": { "x": 685, "y": 194 },
"title": "Block #1",
"steps": [
"title": "Group #1",
"blocks": [
{
"id": "sa8WhnrMyMjYCBMeozfYRoi",
"blockId": "vymPUjL9AcWpkg9PkUXovk",
"groupId": "vymPUjL9AcWpkg9PkUXovk",
"type": "Redirect",
"options": { "isNewTab": false }
}
@ -36,17 +36,17 @@
{
"id": "rEJ3PhFQc7diJ23jdoF6w7",
"graphCoordinates": { "x": 294, "y": 201 },
"title": "Block #2",
"steps": [
"title": "Group #2",
"blocks": [
{
"id": "s7QRApVZmVFZgS53CNruBRz",
"blockId": "rEJ3PhFQc7diJ23jdoF6w7",
"groupId": "rEJ3PhFQc7diJ23jdoF6w7",
"type": "choice input",
"options": { "buttonLabel": "Send", "isMultipleChoice": false },
"items": [
{
"id": "5rWR3enRg6jZyFhtmgbPYo",
"stepId": "s7QRApVZmVFZgS53CNruBRz",
"blockId": "s7QRApVZmVFZgS53CNruBRz",
"type": 0,
"content": "Go to URL",
"outgoingEdgeId": "6aVDkPMEsadze2vf4mLiYt"
@ -60,19 +60,19 @@
"edges": [
{
"from": {
"blockId": "tdN9VXcdBWpuh6Gpaz3w4u",
"stepId": "cVRL5EuVruTK31SAaVCvNE"
"groupId": "tdN9VXcdBWpuh6Gpaz3w4u",
"blockId": "cVRL5EuVruTK31SAaVCvNE"
},
"to": { "blockId": "rEJ3PhFQc7diJ23jdoF6w7" },
"to": { "groupId": "rEJ3PhFQc7diJ23jdoF6w7" },
"id": "jqZYCYGxaL8svJbM2h1QAn"
},
{
"from": {
"blockId": "rEJ3PhFQc7diJ23jdoF6w7",
"stepId": "s7QRApVZmVFZgS53CNruBRz",
"groupId": "rEJ3PhFQc7diJ23jdoF6w7",
"blockId": "s7QRApVZmVFZgS53CNruBRz",
"itemId": "5rWR3enRg6jZyFhtmgbPYo"
},
"to": { "blockId": "vymPUjL9AcWpkg9PkUXovk" },
"to": { "groupId": "vymPUjL9AcWpkg9PkUXovk" },
"id": "6aVDkPMEsadze2vf4mLiYt"
}
],

View File

@ -5,15 +5,15 @@
"name": "My typebot",
"publishedTypebotId": null,
"folderId": null,
"blocks": [
"groups": [
{
"id": "jvbBpKifJ3ssvKQxPqhBiD",
"steps": [
"blocks": [
{
"id": "rqecLJCZT7gP2JgBhRpb3a",
"type": "start",
"label": "Start",
"blockId": "jvbBpKifJ3ssvKQxPqhBiD",
"groupId": "jvbBpKifJ3ssvKQxPqhBiD",
"outgoingEdgeId": "qnD38SqA7sYEh7efPZgDoR"
}
],
@ -23,11 +23,11 @@
{
"id": "roD9feCwx6jTDuVCThgzM2",
"graphCoordinates": { "x": 200, "y": 171 },
"title": "Block #1",
"steps": [
"title": "Group #1",
"blocks": [
{
"id": "souEkLukHsYU9jrN2rAP7YT",
"blockId": "roD9feCwx6jTDuVCThgzM2",
"groupId": "roD9feCwx6jTDuVCThgzM2",
"type": "text",
"content": {
"html": "<div>How old are you?</div>",
@ -39,7 +39,7 @@
},
{
"id": "skfn5McXVrTNpi2e62RtEEY",
"blockId": "roD9feCwx6jTDuVCThgzM2",
"groupId": "roD9feCwx6jTDuVCThgzM2",
"type": "number input",
"options": {
"labels": { "button": "Send", "placeholder": "Type a number..." }
@ -51,17 +51,17 @@
{
"id": "tFFeBrrWxY4tvr11C8rjTw",
"graphCoordinates": { "x": 526, "y": 283 },
"title": "Block #2",
"steps": [
"title": "Group #2",
"blocks": [
{
"id": "spgqbyvunY91Ct5kVgeLLkz",
"blockId": "tFFeBrrWxY4tvr11C8rjTw",
"groupId": "tFFeBrrWxY4tvr11C8rjTw",
"type": "Set variable",
"options": {}
},
{
"id": "skeKC71L8C8wpfeuV4TTLCD",
"blockId": "tFFeBrrWxY4tvr11C8rjTw",
"groupId": "tFFeBrrWxY4tvr11C8rjTw",
"type": "Set variable",
"options": {},
"outgoingEdgeId": "7A4BD2vJT87grt3xFw86bn"
@ -71,11 +71,11 @@
{
"id": "k6jFuKuSwy29LVwKxMWasv",
"graphCoordinates": { "x": 691, "y": 35 },
"title": "Block #3",
"steps": [
"title": "Group #3",
"blocks": [
{
"id": "svpmd4uNoAXpoKyfYuuXTQe",
"blockId": "k6jFuKuSwy29LVwKxMWasv",
"groupId": "k6jFuKuSwy29LVwKxMWasv",
"type": "text",
"content": {
"html": "<div>Total: {{Total}}</div><div>Custom var: {{Custom var}}</div>",
@ -96,26 +96,26 @@
"edges": [
{
"from": {
"blockId": "jvbBpKifJ3ssvKQxPqhBiD",
"stepId": "rqecLJCZT7gP2JgBhRpb3a"
"groupId": "jvbBpKifJ3ssvKQxPqhBiD",
"blockId": "rqecLJCZT7gP2JgBhRpb3a"
},
"to": { "blockId": "roD9feCwx6jTDuVCThgzM2" },
"to": { "groupId": "roD9feCwx6jTDuVCThgzM2" },
"id": "qnD38SqA7sYEh7efPZgDoR"
},
{
"from": {
"blockId": "roD9feCwx6jTDuVCThgzM2",
"stepId": "skfn5McXVrTNpi2e62RtEEY"
"groupId": "roD9feCwx6jTDuVCThgzM2",
"blockId": "skfn5McXVrTNpi2e62RtEEY"
},
"to": { "blockId": "tFFeBrrWxY4tvr11C8rjTw" },
"to": { "groupId": "tFFeBrrWxY4tvr11C8rjTw" },
"id": "5ZYDLyR1CUF6B8ESHrFXwK"
},
{
"from": {
"blockId": "tFFeBrrWxY4tvr11C8rjTw",
"stepId": "skeKC71L8C8wpfeuV4TTLCD"
"groupId": "tFFeBrrWxY4tvr11C8rjTw",
"blockId": "skeKC71L8C8wpfeuV4TTLCD"
},
"to": { "blockId": "k6jFuKuSwy29LVwKxMWasv" },
"to": { "groupId": "k6jFuKuSwy29LVwKxMWasv" },
"id": "7A4BD2vJT87grt3xFw86bn"
}
],

View File

@ -5,15 +5,15 @@
"name": "My typebot",
"publishedTypebotId": null,
"folderId": null,
"blocks": [
"groups": [
{
"id": "k6kY6gwRE6noPoYQNGzgUq",
"steps": [
"blocks": [
{
"id": "22HP69iipkLjJDTUcc1AWW",
"type": "start",
"label": "Start",
"blockId": "k6kY6gwRE6noPoYQNGzgUq",
"groupId": "k6kY6gwRE6noPoYQNGzgUq",
"outgoingEdgeId": "oNvqaqNExdSH2kKEhKZHuE"
}
],
@ -22,11 +22,11 @@
},
{
"id": "kinRXxYop2X4d7F9qt8WNB",
"steps": [
"blocks": [
{
"id": "sc1y8VwDabNJgiVTBi4qtif",
"type": "text",
"blockId": "kinRXxYop2X4d7F9qt8WNB",
"groupId": "kinRXxYop2X4d7F9qt8WNB",
"content": {
"html": "<div>Welcome to <span class=\"slate-bold\">AA</span> (Awesome Agency)</div>",
"richText": [
@ -45,7 +45,7 @@
{
"id": "s7YqZTBeyCa4Hp3wN2j922c",
"type": "image",
"blockId": "kinRXxYop2X4d7F9qt8WNB",
"groupId": "kinRXxYop2X4d7F9qt8WNB",
"content": {
"url": "https://media2.giphy.com/media/XD9o33QG9BoMis7iM4/giphy.gif?cid=fe3852a3ihg8rvipzzky5lybmdyq38fhke2tkrnshwk52c7d&rid=giphy.gif&ct=g"
}
@ -57,11 +57,11 @@
{
"id": "hQw2zbp7FDX7XYK9cFpbgC",
"type": 0,
"stepId": "sbjZWLJGVkHAkDqS4JQeGow",
"blockId": "sbjZWLJGVkHAkDqS4JQeGow",
"content": "Hi!"
}
],
"blockId": "kinRXxYop2X4d7F9qt8WNB",
"groupId": "kinRXxYop2X4d7F9qt8WNB",
"options": { "buttonLabel": "Send", "isMultipleChoice": false },
"outgoingEdgeId": "i51YhHpk1dtSyduFNf5Wim"
}
@ -71,11 +71,11 @@
},
{
"id": "o4SH1UtKANnW5N5D67oZUz",
"steps": [
"blocks": [
{
"id": "sxeYubYN6XzhAfG7m9Fivhc",
"type": "text",
"blockId": "o4SH1UtKANnW5N5D67oZUz",
"groupId": "o4SH1UtKANnW5N5D67oZUz",
"content": {
"html": "<div>Great! Nice to meet you {{Name}}</div>",
"richText": [
@ -90,7 +90,7 @@
{
"id": "scQ5kduafAtfP9T8SHUJnGi",
"type": "text",
"blockId": "o4SH1UtKANnW5N5D67oZUz",
"groupId": "o4SH1UtKANnW5N5D67oZUz",
"content": {
"html": "<div>What&#x27;s the best email we can reach you at?</div>",
"richText": [
@ -107,7 +107,7 @@
{
"id": "snbsad18Bgry8yZ8DZCfdFD",
"type": "email input",
"blockId": "o4SH1UtKANnW5N5D67oZUz",
"groupId": "o4SH1UtKANnW5N5D67oZUz",
"options": {
"labels": { "button": "Send", "placeholder": "Type your email..." },
"variableId": "3VFChNVSCXQ2rXv4DrJ8Ah"
@ -120,11 +120,11 @@
},
{
"id": "q5dAhqSTCaNdiGSJm9B9Rw",
"steps": [
"blocks": [
{
"id": "sgtE2Sy7cKykac9B223Kq9R",
"type": "text",
"blockId": "q5dAhqSTCaNdiGSJm9B9Rw",
"groupId": "q5dAhqSTCaNdiGSJm9B9Rw",
"content": {
"html": "<div>What&#x27;s your name?</div>",
"richText": [
@ -136,7 +136,7 @@
{
"id": "sqEsMo747LTDnY9FjQcEwUv",
"type": "text input",
"blockId": "q5dAhqSTCaNdiGSJm9B9Rw",
"groupId": "q5dAhqSTCaNdiGSJm9B9Rw",
"options": {
"isLong": false,
"labels": {
@ -153,11 +153,11 @@
},
{
"id": "fKqRz7iswk7ULaj5PJocZL",
"steps": [
"blocks": [
{
"id": "su7HceVXWyTCzi2vv3m4QbK",
"type": "text",
"blockId": "fKqRz7iswk7ULaj5PJocZL",
"groupId": "fKqRz7iswk7ULaj5PJocZL",
"content": {
"html": "<div>What services are you interested in?</div>",
"richText": [
@ -176,29 +176,29 @@
{
"id": "fnLCBF4NdraSwcubnBhk8H",
"type": 0,
"stepId": "s5VQGsVF4hQgziQsXVdwPDW",
"blockId": "s5VQGsVF4hQgziQsXVdwPDW",
"content": "Website dev"
},
{
"id": "a782h8ynMouY84QjH7XSnR",
"type": 0,
"stepId": "s5VQGsVF4hQgziQsXVdwPDW",
"blockId": "s5VQGsVF4hQgziQsXVdwPDW",
"content": "Content Marketing"
},
{
"id": "jGvh94zBByvVFpSS3w97zY",
"type": 0,
"stepId": "s5VQGsVF4hQgziQsXVdwPDW",
"blockId": "s5VQGsVF4hQgziQsXVdwPDW",
"content": "Social Media"
},
{
"id": "6PRLbKUezuFmwWtLVbvAQ7",
"type": 0,
"stepId": "s5VQGsVF4hQgziQsXVdwPDW",
"blockId": "s5VQGsVF4hQgziQsXVdwPDW",
"content": "UI / UX Design"
}
],
"blockId": "fKqRz7iswk7ULaj5PJocZL",
"groupId": "fKqRz7iswk7ULaj5PJocZL",
"options": { "buttonLabel": "Send", "isMultipleChoice": true },
"outgoingEdgeId": "ohTRakmcYJ7GdFWRZrWRjk"
}
@ -208,11 +208,11 @@
},
{
"id": "7qHBEyCMvKEJryBHzPmHjV",
"steps": [
"blocks": [
{
"id": "sqR8Sz9gW21aUYKtUikq7qZ",
"type": "text",
"blockId": "7qHBEyCMvKEJryBHzPmHjV",
"groupId": "7qHBEyCMvKEJryBHzPmHjV",
"content": {
"html": "<div>Can you tell me a bit more about your needs?</div>",
"richText": [
@ -229,7 +229,7 @@
{
"id": "sqFy2G3C1mh9p6s3QBdSS5x",
"type": "text input",
"blockId": "7qHBEyCMvKEJryBHzPmHjV",
"groupId": "7qHBEyCMvKEJryBHzPmHjV",
"options": {
"isLong": true,
"labels": { "button": "Send", "placeholder": "Type your answer..." }
@ -242,11 +242,11 @@
},
{
"id": "vF7AD7zSAj7SNvN3gr9N94",
"steps": [
"blocks": [
{
"id": "seLegenCgUwMopRFeAefqZ7",
"type": "text",
"blockId": "vF7AD7zSAj7SNvN3gr9N94",
"groupId": "vF7AD7zSAj7SNvN3gr9N94",
"content": {
"html": "<div>Perfect!</div>",
"richText": [{ "type": "p", "children": [{ "text": "Perfect!" }] }],
@ -256,7 +256,7 @@
{
"id": "s779Q1y51aVaDUJVrFb16vv",
"type": "text",
"blockId": "vF7AD7zSAj7SNvN3gr9N94",
"groupId": "vF7AD7zSAj7SNvN3gr9N94",
"content": {
"html": "<div>We&#x27;ll get back to you at {{Email}}</div>",
"richText": [
@ -283,50 +283,50 @@
"edges": [
{
"id": "oNvqaqNExdSH2kKEhKZHuE",
"to": { "blockId": "kinRXxYop2X4d7F9qt8WNB" },
"to": { "groupId": "kinRXxYop2X4d7F9qt8WNB" },
"from": {
"stepId": "22HP69iipkLjJDTUcc1AWW",
"blockId": "k6kY6gwRE6noPoYQNGzgUq"
"blockId": "22HP69iipkLjJDTUcc1AWW",
"groupId": "k6kY6gwRE6noPoYQNGzgUq"
}
},
{
"id": "i51YhHpk1dtSyduFNf5Wim",
"to": { "blockId": "q5dAhqSTCaNdiGSJm9B9Rw" },
"to": { "groupId": "q5dAhqSTCaNdiGSJm9B9Rw" },
"from": {
"stepId": "sbjZWLJGVkHAkDqS4JQeGow",
"blockId": "kinRXxYop2X4d7F9qt8WNB"
"blockId": "sbjZWLJGVkHAkDqS4JQeGow",
"groupId": "kinRXxYop2X4d7F9qt8WNB"
}
},
{
"id": "4tYbERpi5Po4goVgt6rWXg",
"to": { "blockId": "o4SH1UtKANnW5N5D67oZUz" },
"to": { "groupId": "o4SH1UtKANnW5N5D67oZUz" },
"from": {
"stepId": "sqEsMo747LTDnY9FjQcEwUv",
"blockId": "q5dAhqSTCaNdiGSJm9B9Rw"
"blockId": "sqEsMo747LTDnY9FjQcEwUv",
"groupId": "q5dAhqSTCaNdiGSJm9B9Rw"
}
},
{
"id": "w3MiN1Ct38jT5NykVsgmb5",
"to": { "blockId": "fKqRz7iswk7ULaj5PJocZL" },
"to": { "groupId": "fKqRz7iswk7ULaj5PJocZL" },
"from": {
"stepId": "snbsad18Bgry8yZ8DZCfdFD",
"blockId": "o4SH1UtKANnW5N5D67oZUz"
"blockId": "snbsad18Bgry8yZ8DZCfdFD",
"groupId": "o4SH1UtKANnW5N5D67oZUz"
}
},
{
"id": "ohTRakmcYJ7GdFWRZrWRjk",
"to": { "blockId": "7qHBEyCMvKEJryBHzPmHjV" },
"to": { "groupId": "7qHBEyCMvKEJryBHzPmHjV" },
"from": {
"stepId": "s5VQGsVF4hQgziQsXVdwPDW",
"blockId": "fKqRz7iswk7ULaj5PJocZL"
"blockId": "s5VQGsVF4hQgziQsXVdwPDW",
"groupId": "fKqRz7iswk7ULaj5PJocZL"
}
},
{
"id": "sH5nUssG2XQbm6ZidGv9BY",
"to": { "blockId": "vF7AD7zSAj7SNvN3gr9N94" },
"to": { "groupId": "vF7AD7zSAj7SNvN3gr9N94" },
"from": {
"stepId": "sqFy2G3C1mh9p6s3QBdSS5x",
"blockId": "7qHBEyCMvKEJryBHzPmHjV"
"blockId": "sqFy2G3C1mh9p6s3QBdSS5x",
"groupId": "7qHBEyCMvKEJryBHzPmHjV"
}
}
],

View File

@ -5,15 +5,15 @@
"name": "My typebot",
"publishedTypebotId": null,
"folderId": null,
"blocks": [
"groups": [
{
"id": "cAvp3oQUNYcANvcEQEVSpD",
"steps": [
"blocks": [
{
"id": "bAkhPioPM1uAda6K2aJzHD",
"type": "start",
"label": "Start",
"blockId": "cAvp3oQUNYcANvcEQEVSpD",
"groupId": "cAvp3oQUNYcANvcEQEVSpD",
"outgoingEdgeId": "2V3HtAH5fSAm6fyYzCyotq"
}
],
@ -23,11 +23,11 @@
{
"id": "8KLYVvRVGVHRQGJHHe2YPv",
"graphCoordinates": { "x": 362, "y": 96 },
"title": "Block #1",
"steps": [
"title": "Group #1",
"blocks": [
{
"id": "s7QbNUSgojnka9v9LX7Tp7L",
"blockId": "8KLYVvRVGVHRQGJHHe2YPv",
"groupId": "8KLYVvRVGVHRQGJHHe2YPv",
"type": "Set variable",
"options": {
"variableId": "htYvG7crtdjpsZ6XKTh1PM",
@ -40,11 +40,11 @@
{
"id": "4H8ucvLjTiQ7sAyB23Huka",
"graphCoordinates": { "x": 723, "y": 203 },
"title": "Block #2",
"steps": [
"title": "Group #2",
"blocks": [
{
"id": "s4xoCc33mHyKv6hbVWd8MLo",
"blockId": "4H8ucvLjTiQ7sAyB23Huka",
"groupId": "4H8ucvLjTiQ7sAyB23Huka",
"type": "text",
"content": {
"html": "<div>What&#x27;s your name?</div>",
@ -56,7 +56,7 @@
},
{
"id": "s5AjAPTMbUbhYxVTjSNwQuJ",
"blockId": "4H8ucvLjTiQ7sAyB23Huka",
"groupId": "4H8ucvLjTiQ7sAyB23Huka",
"type": "text input",
"options": {
"isLong": false,
@ -74,18 +74,18 @@
"edges": [
{
"from": {
"blockId": "cAvp3oQUNYcANvcEQEVSpD",
"stepId": "bAkhPioPM1uAda6K2aJzHD"
"groupId": "cAvp3oQUNYcANvcEQEVSpD",
"blockId": "bAkhPioPM1uAda6K2aJzHD"
},
"to": { "blockId": "8KLYVvRVGVHRQGJHHe2YPv" },
"to": { "groupId": "8KLYVvRVGVHRQGJHHe2YPv" },
"id": "2V3HtAH5fSAm6fyYzCyotq"
},
{
"from": {
"blockId": "8KLYVvRVGVHRQGJHHe2YPv",
"stepId": "s7QbNUSgojnka9v9LX7Tp7L"
"groupId": "8KLYVvRVGVHRQGJHHe2YPv",
"blockId": "s7QbNUSgojnka9v9LX7Tp7L"
},
"to": { "blockId": "4H8ucvLjTiQ7sAyB23Huka" },
"to": { "groupId": "4H8ucvLjTiQ7sAyB23Huka" },
"id": "7kKfQWo6xFy97cTwV7B2w7"
}
],

View File

@ -5,15 +5,15 @@
"name": "My typebot",
"publishedTypebotId": null,
"folderId": null,
"blocks": [
"groups": [
{
"id": "3EgW9xiicKuiCNycEY2huP",
"steps": [
"blocks": [
{
"id": "bHS7nGbziYUwD27tKANQY6",
"type": "start",
"label": "Start",
"blockId": "3EgW9xiicKuiCNycEY2huP",
"groupId": "3EgW9xiicKuiCNycEY2huP",
"outgoingEdgeId": "9LViRZxY8G6iswJrE4YLsq"
}
],
@ -23,29 +23,29 @@
{
"id": "bs9JCJfixRTv8W2imPAoyX",
"graphCoordinates": { "x": 392, "y": 180 },
"title": "Block #1",
"steps": [
"title": "Group #1",
"blocks": [
{
"id": "sqcez9cUVbPvaFL4rQsUwUk",
"blockId": "bs9JCJfixRTv8W2imPAoyX",
"groupId": "bs9JCJfixRTv8W2imPAoyX",
"type": "choice input",
"options": { "buttonLabel": "Send", "isMultipleChoice": false },
"items": [
{
"id": "2jCerpszvvbmhUS8FXkKG9",
"stepId": "sqcez9cUVbPvaFL4rQsUwUk",
"blockId": "sqcez9cUVbPvaFL4rQsUwUk",
"type": 0,
"content": "Burgers",
"outgoingEdgeId": "aTS7nwxhRdFN8NwAXE2oSq"
},
{
"stepId": "sqcez9cUVbPvaFL4rQsUwUk",
"blockId": "sqcez9cUVbPvaFL4rQsUwUk",
"type": 0,
"id": "vP4HWCYkeRL6egk3yjCCmg",
"content": "Hot dogs"
},
{
"stepId": "sqcez9cUVbPvaFL4rQsUwUk",
"blockId": "sqcez9cUVbPvaFL4rQsUwUk",
"type": 0,
"id": "hhveB5JSxJ8X9N66LFaUfe",
"content": "Carpaccio"
@ -58,11 +58,11 @@
{
"id": "ih574JsgYCSSt3t77DH9gp",
"graphCoordinates": { "x": 770, "y": 105 },
"title": "Block #2",
"steps": [
"title": "Group #2",
"blocks": [
{
"id": "s9hdG689cjRzmTdb5hMN83q",
"blockId": "ih574JsgYCSSt3t77DH9gp",
"groupId": "ih574JsgYCSSt3t77DH9gp",
"type": "text",
"content": {
"html": "<div>I love burgers!</div>",
@ -77,11 +77,11 @@
{
"id": "5bMwu6Wv79avgdz3TKjVXr",
"graphCoordinates": { "x": 766, "y": 311 },
"title": "Block #3",
"steps": [
"title": "Group #3",
"blocks": [
{
"id": "s3Zwr8m3Nm2BwGxNNCu4n7N",
"blockId": "5bMwu6Wv79avgdz3TKjVXr",
"groupId": "5bMwu6Wv79avgdz3TKjVXr",
"type": "text",
"content": {
"html": "<div>Cool!</div>",
@ -96,27 +96,27 @@
"edges": [
{
"from": {
"blockId": "3EgW9xiicKuiCNycEY2huP",
"stepId": "bHS7nGbziYUwD27tKANQY6"
"groupId": "3EgW9xiicKuiCNycEY2huP",
"blockId": "bHS7nGbziYUwD27tKANQY6"
},
"to": { "blockId": "bs9JCJfixRTv8W2imPAoyX" },
"to": { "groupId": "bs9JCJfixRTv8W2imPAoyX" },
"id": "9LViRZxY8G6iswJrE4YLsq"
},
{
"from": {
"blockId": "bs9JCJfixRTv8W2imPAoyX",
"stepId": "sqcez9cUVbPvaFL4rQsUwUk",
"groupId": "bs9JCJfixRTv8W2imPAoyX",
"blockId": "sqcez9cUVbPvaFL4rQsUwUk",
"itemId": "2jCerpszvvbmhUS8FXkKG9"
},
"to": { "blockId": "ih574JsgYCSSt3t77DH9gp" },
"to": { "groupId": "ih574JsgYCSSt3t77DH9gp" },
"id": "aTS7nwxhRdFN8NwAXE2oSq"
},
{
"from": {
"blockId": "bs9JCJfixRTv8W2imPAoyX",
"stepId": "sqcez9cUVbPvaFL4rQsUwUk"
"groupId": "bs9JCJfixRTv8W2imPAoyX",
"blockId": "sqcez9cUVbPvaFL4rQsUwUk"
},
"to": { "blockId": "5bMwu6Wv79avgdz3TKjVXr" },
"to": { "groupId": "5bMwu6Wv79avgdz3TKjVXr" },
"id": "8FaF38WfM7PiLJLS5z6vQe"
}
],

View File

@ -5,15 +5,15 @@
"name": "My typebot",
"publishedTypebotId": null,
"folderId": null,
"blocks": [
"groups": [
{
"id": "teepNancm8TLj1qYhaTYAf",
"steps": [
"blocks": [
{
"id": "8fG3wDsExSSkq5ekUMzWVY",
"type": "start",
"label": "Start",
"blockId": "teepNancm8TLj1qYhaTYAf",
"groupId": "teepNancm8TLj1qYhaTYAf",
"outgoingEdgeId": "pj6fgTAjarwBq2jVgMgYoK"
}
],
@ -23,11 +23,11 @@
{
"id": "6Dj1i7LeM3qXg5SKMhMyo1",
"graphCoordinates": { "x": 315, "y": 137 },
"title": "Block #1",
"steps": [
"title": "Group #1",
"blocks": [
{
"id": "swUB2pSmvcv3NC7ySzskRpL",
"blockId": "6Dj1i7LeM3qXg5SKMhMyo1",
"groupId": "6Dj1i7LeM3qXg5SKMhMyo1",
"type": "text",
"content": {
"html": "<div>Ready?</div>",
@ -37,13 +37,13 @@
},
{
"id": "sc7ZYFtHVegJUA8c5K3gghi",
"blockId": "6Dj1i7LeM3qXg5SKMhMyo1",
"groupId": "6Dj1i7LeM3qXg5SKMhMyo1",
"type": "choice input",
"options": { "buttonLabel": "Send", "isMultipleChoice": false },
"items": [
{
"id": "nTjur4kxyL473XTbAb4Fak",
"stepId": "sc7ZYFtHVegJUA8c5K3gghi",
"blockId": "sc7ZYFtHVegJUA8c5K3gghi",
"type": 0,
"content": "Go"
}
@ -55,11 +55,11 @@
{
"id": "2TR5xAQobKAg8hbArfh5br",
"graphCoordinates": { "x": 760, "y": 299 },
"title": "Block #2",
"steps": [
"title": "Group #2",
"blocks": [
{
"id": "s4xokHybra1jmZsWGVmza1K",
"blockId": "2TR5xAQobKAg8hbArfh5br",
"groupId": "2TR5xAQobKAg8hbArfh5br",
"type": "text input",
"options": {
"isLong": false,
@ -73,18 +73,18 @@
"edges": [
{
"from": {
"blockId": "teepNancm8TLj1qYhaTYAf",
"stepId": "8fG3wDsExSSkq5ekUMzWVY"
"groupId": "teepNancm8TLj1qYhaTYAf",
"blockId": "8fG3wDsExSSkq5ekUMzWVY"
},
"to": { "blockId": "6Dj1i7LeM3qXg5SKMhMyo1" },
"to": { "groupId": "6Dj1i7LeM3qXg5SKMhMyo1" },
"id": "pj6fgTAjarwBq2jVgMgYoK"
},
{
"from": {
"blockId": "6Dj1i7LeM3qXg5SKMhMyo1",
"stepId": "sc7ZYFtHVegJUA8c5K3gghi"
"groupId": "6Dj1i7LeM3qXg5SKMhMyo1",
"blockId": "sc7ZYFtHVegJUA8c5K3gghi"
},
"to": { "blockId": "2TR5xAQobKAg8hbArfh5br" },
"to": { "groupId": "2TR5xAQobKAg8hbArfh5br" },
"id": "uAsACqSmud99zmyCABWDwr"
}
],

View File

@ -3,7 +3,7 @@ import {
defaultSettings,
defaultTheme,
PublicTypebot,
Step,
Block,
Typebot,
Webhook,
} from 'models'
@ -248,8 +248,8 @@ const createAnswers = () => {
...Array.from(Array(200)).map((_, idx) => ({
resultId: `result${idx}`,
content: `content${idx}`,
stepId: 'step1',
blockId: 'block1',
groupId: 'block1',
})),
],
})
@ -260,7 +260,7 @@ const parseTypebotToPublicTypebot = (
typebot: Typebot
): Omit<PublicTypebot, 'createdAt' | 'updatedAt'> => ({
id,
blocks: typebot.blocks,
groups: typebot.groups,
typebotId: typebot.id,
theme: typebot.theme,
settings: typebot.settings,
@ -286,44 +286,44 @@ const parseTestTypebot = (partialTypebot: Partial<Typebot>): Typebot => ({
edges: [
{
id: 'edge1',
from: { blockId: 'block0', stepId: 'step0' },
to: { blockId: 'block1' },
from: { groupId: 'block0', blockId: 'block0' },
to: { groupId: 'block1' },
},
],
blocks: [
groups: [
{
id: 'block0',
title: 'Block #0',
steps: [
title: 'Group #0',
blocks: [
{
id: 'step0',
id: 'block0',
type: 'start',
blockId: 'block0',
groupId: 'block0',
label: 'Start',
outgoingEdgeId: 'edge1',
},
],
graphCoordinates: { x: 0, y: 0 },
},
...(partialTypebot.blocks ?? []),
...(partialTypebot.groups ?? []),
],
})
export const parseDefaultBlockWithStep = (
step: Partial<Step>
): Pick<Typebot, 'blocks'> => ({
blocks: [
export const parseDefaultGroupWithBlock = (
block: Partial<Block>
): Pick<Typebot, 'groups'> => ({
groups: [
{
graphCoordinates: { x: 200, y: 200 },
id: 'block1',
steps: [
blocks: [
{
id: 'step1',
blockId: 'block1',
...step,
} as Step,
id: 'block1',
groupId: 'block1',
...block,
} as Block,
],
title: 'Block #1',
title: 'Group #1',
},
],
})

View File

@ -1,9 +1,9 @@
import test, { expect } from '@playwright/test'
import {
createTypebots,
parseDefaultBlockWithStep,
parseDefaultGroupWithBlock,
} from '../../services/database'
import { BubbleStepType, defaultEmbedBubbleContent } from 'models'
import { BubbleBlockType, defaultEmbedBubbleContent } from 'models'
import { typebotViewer } from '../../services/selectorUtils'
import cuid from 'cuid'
@ -11,15 +11,15 @@ const pdfSrc = 'https://www.orimi.com/pdf-test.pdf'
const iframeCode = '<iframe src="https://typebot.io"></iframe>'
const siteSrc = 'https://app.cal.com/baptistearno/15min'
test.describe.parallel('Embed bubble step', () => {
test.describe.parallel('Embed bubble block', () => {
test.describe('Content settings', () => {
test('should import and parse embed correctly', async ({ page }) => {
const typebotId = cuid()
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: BubbleStepType.EMBED,
...parseDefaultGroupWithBlock({
type: BubbleBlockType.EMBED,
content: defaultEmbedBubbleContent,
}),
},
@ -54,8 +54,8 @@ test.describe.parallel('Embed bubble step', () => {
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: BubbleStepType.EMBED,
...parseDefaultGroupWithBlock({
type: BubbleBlockType.EMBED,
content: {
url: siteSrc,
height: 700,

View File

@ -1,9 +1,9 @@
import test, { expect } from '@playwright/test'
import {
createTypebots,
parseDefaultBlockWithStep,
parseDefaultGroupWithBlock,
} from '../../services/database'
import { BubbleStepType, defaultImageBubbleContent } from 'models'
import { BubbleBlockType, defaultImageBubbleContent } from 'models'
import { typebotViewer } from '../../services/selectorUtils'
import path from 'path'
import cuid from 'cuid'
@ -11,15 +11,15 @@ import cuid from 'cuid'
const unsplashImageSrc =
'https://images.unsplash.com/photo-1504297050568-910d24c426d3?ixlib=rb-1.2.1&ixid=MnwxMjA3fDF8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1287&q=80'
test.describe.parallel('Image bubble step', () => {
test.describe.parallel('Image bubble block', () => {
test.describe('Content settings', () => {
test('should upload image file correctly', async ({ page }) => {
const typebotId = cuid()
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: BubbleStepType.IMAGE,
...parseDefaultGroupWithBlock({
type: BubbleBlockType.IMAGE,
content: defaultImageBubbleContent,
}),
},
@ -46,8 +46,8 @@ test.describe.parallel('Image bubble step', () => {
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: BubbleStepType.IMAGE,
...parseDefaultGroupWithBlock({
type: BubbleBlockType.IMAGE,
content: defaultImageBubbleContent,
}),
},
@ -69,8 +69,8 @@ test.describe.parallel('Image bubble step', () => {
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: BubbleStepType.IMAGE,
...parseDefaultGroupWithBlock({
type: BubbleBlockType.IMAGE,
content: defaultImageBubbleContent,
}),
},
@ -84,7 +84,7 @@ test.describe.parallel('Image bubble step', () => {
force: true,
position: { x: 0, y: 0 },
})
await expect(page.locator('img[alt="Block image"]')).toHaveAttribute(
await expect(page.locator('img[alt="Group image"]')).toHaveAttribute(
'src',
new RegExp('giphy.com/media', 'gm')
)
@ -97,8 +97,8 @@ test.describe.parallel('Image bubble step', () => {
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: BubbleStepType.IMAGE,
...parseDefaultGroupWithBlock({
type: BubbleBlockType.IMAGE,
content: {
url: unsplashImageSrc,
},

View File

@ -1,20 +1,20 @@
import test, { expect } from '@playwright/test'
import {
createTypebots,
parseDefaultBlockWithStep,
parseDefaultGroupWithBlock,
} from '../../services/database'
import { BubbleStepType, defaultTextBubbleContent } from 'models'
import { BubbleBlockType, defaultTextBubbleContent } from 'models'
import { typebotViewer } from '../../services/selectorUtils'
import cuid from 'cuid'
test.describe('Text bubble step', () => {
test.describe('Text bubble block', () => {
test('rich text features should work', async ({ page }) => {
const typebotId = cuid()
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: BubbleStepType.TEXT,
...parseDefaultGroupWithBlock({
type: BubbleBlockType.TEXT,
content: defaultTextBubbleContent,
}),
},

View File

@ -1,10 +1,10 @@
import test, { expect } from '@playwright/test'
import {
createTypebots,
parseDefaultBlockWithStep,
parseDefaultGroupWithBlock,
} from '../../services/database'
import {
BubbleStepType,
BubbleBlockType,
defaultVideoBubbleContent,
VideoBubbleContentType,
} from 'models'
@ -16,15 +16,15 @@ const videoSrc =
const youtubeVideoSrc = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
const vimeoVideoSrc = 'https://vimeo.com/649301125'
test.describe.parallel('Video bubble step', () => {
test.describe.parallel('Video bubble block', () => {
test.describe('Content settings', () => {
test('should import video url correctly', async ({ page }) => {
const typebotId = cuid()
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: BubbleStepType.VIDEO,
...parseDefaultGroupWithBlock({
type: BubbleBlockType.VIDEO,
content: defaultVideoBubbleContent,
}),
},
@ -47,8 +47,8 @@ test.describe.parallel('Video bubble step', () => {
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: BubbleStepType.VIDEO,
...parseDefaultGroupWithBlock({
type: BubbleBlockType.VIDEO,
content: {
type: VideoBubbleContentType.URL,
url: videoSrc,
@ -69,8 +69,8 @@ test.describe.parallel('Video bubble step', () => {
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: BubbleStepType.VIDEO,
...parseDefaultGroupWithBlock({
type: BubbleBlockType.VIDEO,
content: {
type: VideoBubbleContentType.YOUTUBE,
url: youtubeVideoSrc,
@ -93,8 +93,8 @@ test.describe.parallel('Video bubble step', () => {
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: BubbleStepType.VIDEO,
...parseDefaultGroupWithBlock({
type: BubbleBlockType.VIDEO,
content: {
type: VideoBubbleContentType.VIMEO,
url: vimeoVideoSrc,

View File

@ -2,11 +2,11 @@ import test, { expect } from '@playwright/test'
import cuid from 'cuid'
import { CollaborationType, Plan, WorkspaceRole } from 'db'
import prisma from 'libs/prisma'
import { InputStepType, defaultTextInputOptions } from 'models'
import { InputBlockType, defaultTextInputOptions } from 'models'
import {
createResults,
createTypebots,
parseDefaultBlockWithStep,
parseDefaultGroupWithBlock,
} from '../services/database'
test.describe('Typebot owner', () => {
@ -30,8 +30,8 @@ test.describe('Typebot owner', () => {
id: typebotId,
name: 'Guest typebot',
workspaceId: guestWorkspaceId,
...parseDefaultBlockWithStep({
type: InputStepType.TEXT,
...parseDefaultGroupWithBlock({
type: InputBlockType.TEXT,
options: defaultTextInputOptions,
}),
},
@ -83,8 +83,8 @@ test.describe('Collaborator', () => {
id: typebotId,
name: 'Guest typebot',
workspaceId: guestWorkspaceId,
...parseDefaultBlockWithStep({
type: InputStepType.TEXT,
...parseDefaultGroupWithBlock({
type: InputBlockType.TEXT,
options: defaultTextInputOptions,
}),
},
@ -105,8 +105,8 @@ test.describe('Collaborator', () => {
await page.click('text=Everyone at Guest workspace')
await expect(page.locator('text="Remove"')).toBeHidden()
await expect(page.locator('text=Pro user')).toBeVisible()
await page.click('text=Block #1', { force: true })
await expect(page.locator('input[value="Block #1"]')).toBeHidden()
await page.click('text=Group #1', { force: true })
await expect(page.locator('input[value="Group #1"]')).toBeHidden()
await page.goto(`/typebots/${typebotId}/results`)
await expect(page.locator('text="content199"')).toBeVisible()
})

View File

@ -1,9 +1,9 @@
import test, { expect } from '@playwright/test'
import { InputStepType, defaultTextInputOptions } from 'models'
import { InputBlockType, defaultTextInputOptions } from 'models'
import {
createTypebots,
freeWorkspaceId,
parseDefaultBlockWithStep,
parseDefaultGroupWithBlock,
} from '../services/database'
import path from 'path'
import cuid from 'cuid'
@ -13,8 +13,8 @@ test('should be able to connect custom domain', async ({ page }) => {
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: InputStepType.TEXT,
...parseDefaultGroupWithBlock({
type: InputBlockType.TEXT,
options: defaultTextInputOptions,
}),
},
@ -54,8 +54,8 @@ test.describe('Free workspace', () => {
{
id: typebotId,
workspaceId: freeWorkspaceId,
...parseDefaultBlockWithStep({
type: InputStepType.TEXT,
...parseDefaultGroupWithBlock({
type: InputBlockType.TEXT,
options: defaultTextInputOptions,
}),
},

View File

@ -2,9 +2,9 @@ import test, { expect } from '@playwright/test'
import {
createTypebots,
importTypebotInDatabase,
parseDefaultBlockWithStep,
parseDefaultGroupWithBlock,
} from '../services/database'
import { defaultTextInputOptions, InputStepType } from 'models'
import { defaultTextInputOptions, InputBlockType } from 'models'
import path from 'path'
import cuid from 'cuid'
import { typebotViewer } from '../services/selectorUtils'
@ -18,25 +18,26 @@ test.describe.parallel('Editor', () => {
},
])
await page.goto(`/typebots/${typebotId}/edit`)
await expect(page.locator("text='Start'")).toBeVisible()
await page.dragAndDrop('text=Button', '#editor-container', {
targetPosition: { x: 800, y: 400 },
})
await page.dragAndDrop(
'text=Text >> nth=0',
'[data-testid="block"] >> nth=1',
'[data-testid="group"] >> nth=1',
{
targetPosition: { x: 100, y: 50 },
}
)
await page.dragAndDrop(
'[data-testid="endpoint"]',
'[data-testid="block"] >> nth=1',
'[data-testid="group"] >> nth=1',
{ targetPosition: { x: 100, y: 10 } }
)
await expect(page.locator('[data-testid="edge"]')).toBeVisible()
await page.dragAndDrop(
'[data-testid="endpoint"]',
'[data-testid="step"] >> nth=1'
'[data-testid="group"] >> nth=1'
)
await expect(page.locator('[data-testid="edge"]')).toBeVisible()
await page.dragAndDrop('text=Date', '#editor-container', {
@ -44,7 +45,7 @@ test.describe.parallel('Editor', () => {
})
await page.dragAndDrop(
'[data-testid="endpoint"] >> nth=2',
'[data-testid="block"] >> nth=2',
'[data-testid="group"] >> nth=2',
{
targetPosition: { x: 100, y: 10 },
}
@ -60,7 +61,7 @@ test.describe.parallel('Editor', () => {
const total = await page.locator('[data-testid="edge"]').count()
expect(total).toBe(1)
})
test('Drag and drop steps and items should work', async ({ page }) => {
test('Drag and drop blocks and items should work', async ({ page }) => {
const typebotId = cuid()
await importTypebotInDatabase(
path.join(__dirname, '../fixtures/typebots/editor/buttonsDnd.json'),
@ -69,19 +70,19 @@ test.describe.parallel('Editor', () => {
}
)
// Steps dnd
// Blocks dnd
await page.goto(`/typebots/${typebotId}/edit`)
await expect(page.locator('[data-testid="step"] >> nth=1')).toHaveText(
await expect(page.locator('[data-testid="block"] >> nth=1')).toHaveText(
'Hello!'
)
await page.dragAndDrop('text=Hello', '[data-testid="step"] >> nth=3', {
await page.dragAndDrop('text=Hello', '[data-testid="block"] >> nth=3', {
targetPosition: { x: 100, y: 0 },
})
await expect(page.locator('[data-testid="step"] >> nth=2')).toHaveText(
await expect(page.locator('[data-testid="block"] >> nth=2')).toHaveText(
'Hello!'
)
await page.dragAndDrop('text=Hello', 'text=Block #2')
await expect(page.locator('[data-testid="step"] >> nth=3')).toHaveText(
await page.dragAndDrop('text=Hello', 'text=Group #2')
await expect(page.locator('[data-testid="block"] >> nth=3')).toHaveText(
'Hello!'
)
@ -106,25 +107,25 @@ test.describe.parallel('Editor', () => {
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: InputStepType.TEXT,
...parseDefaultGroupWithBlock({
type: InputBlockType.TEXT,
options: defaultTextInputOptions,
}),
},
])
await page.goto(`/typebots/${typebotId}/edit`)
await page.click('text=Block #1', { button: 'right' })
await page.click('text=Group #1', { button: 'right' })
await page.click('text=Duplicate')
await expect(page.locator('text="Block #1"')).toBeVisible()
await expect(page.locator('text="Block #1 copy"')).toBeVisible()
await page.click('text="Block #1"', { button: 'right' })
await expect(page.locator('text="Group #1"')).toBeVisible()
await expect(page.locator('text="Group #1 copy"')).toBeVisible()
await page.click('text="Group #1"', { button: 'right' })
await page.click('text=Delete')
await expect(page.locator('text="Block #1"')).toBeHidden()
await expect(page.locator('text="Group #1"')).toBeHidden()
await page.click('button[aria-label="Undo"]')
await expect(page.locator('text="Block #1"')).toBeVisible()
await expect(page.locator('text="Group #1"')).toBeVisible()
await page.click('button[aria-label="Redo"]')
await expect(page.locator('text="Block #1"')).toBeHidden()
await expect(page.locator('text="Group #1"')).toBeHidden()
})
test('Rename and icon change should work', async ({ page }) => {
@ -133,8 +134,8 @@ test.describe.parallel('Editor', () => {
{
id: typebotId,
name: 'My awesome typebot',
...parseDefaultBlockWithStep({
type: InputStepType.TEXT,
...parseDefaultGroupWithBlock({
type: InputBlockType.TEXT,
options: defaultTextInputOptions,
}),
},

View File

@ -1,24 +1,24 @@
import test, { expect } from '@playwright/test'
import {
createTypebots,
parseDefaultBlockWithStep,
parseDefaultGroupWithBlock,
} from '../../services/database'
import { defaultChoiceInputOptions, InputStepType, ItemType } from 'models'
import { defaultChoiceInputOptions, InputBlockType, ItemType } from 'models'
import { typebotViewer } from '../../services/selectorUtils'
import cuid from 'cuid'
test.describe.parallel('Buttons input step', () => {
test.describe.parallel('Buttons input block', () => {
test('can edit button items', async ({ page }) => {
const typebotId = cuid()
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: InputStepType.CHOICE,
...parseDefaultGroupWithBlock({
type: InputBlockType.CHOICE,
items: [
{
id: 'choice1',
stepId: 'step1',
blockId: 'block1',
type: ItemType.BUTTON,
},
],
@ -46,10 +46,10 @@ test.describe.parallel('Buttons input step', () => {
await expect(typebotViewer(page).locator('text=Item 3')).toBeVisible()
await page.click('button[aria-label="Close"]')
await page.click('[data-testid="step1-icon"]')
await page.click('[data-testid="block1-icon"]')
await page.click('text=Multiple choice?')
await page.fill('#button', 'Go')
await page.click('[data-testid="step1-icon"]')
await page.click('[data-testid="block1-icon"]')
await page.locator('text=Item 1').hover()
await page.click('[aria-label="Add item"]')

View File

@ -1,20 +1,20 @@
import test, { expect } from '@playwright/test'
import {
createTypebots,
parseDefaultBlockWithStep,
parseDefaultGroupWithBlock,
} from '../../services/database'
import { defaultDateInputOptions, InputStepType } from 'models'
import { defaultDateInputOptions, InputBlockType } from 'models'
import { typebotViewer } from '../../services/selectorUtils'
import cuid from 'cuid'
test.describe('Date input step', () => {
test.describe('Date input block', () => {
test('options should work', async ({ page }) => {
const typebotId = cuid()
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: InputStepType.DATE,
...parseDefaultGroupWithBlock({
type: InputBlockType.DATE,
options: defaultDateInputOptions,
}),
},

View File

@ -1,20 +1,20 @@
import test, { expect } from '@playwright/test'
import {
createTypebots,
parseDefaultBlockWithStep,
parseDefaultGroupWithBlock,
} from '../../services/database'
import { defaultEmailInputOptions, InputStepType } from 'models'
import { defaultEmailInputOptions, InputBlockType } from 'models'
import { typebotViewer } from '../../services/selectorUtils'
import cuid from 'cuid'
test.describe('Email input step', () => {
test.describe('Email input block', () => {
test('options should work', async ({ page }) => {
const typebotId = cuid()
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: InputStepType.EMAIL,
...parseDefaultGroupWithBlock({
type: InputBlockType.EMAIL,
options: defaultEmailInputOptions,
}),
},

View File

@ -1,20 +1,20 @@
import test, { expect } from '@playwright/test'
import {
createTypebots,
parseDefaultBlockWithStep,
parseDefaultGroupWithBlock,
} from '../../services/database'
import { defaultNumberInputOptions, InputStepType } from 'models'
import { defaultNumberInputOptions, InputBlockType } from 'models'
import { typebotViewer } from '../../services/selectorUtils'
import cuid from 'cuid'
test.describe('Number input step', () => {
test.describe('Number input block', () => {
test('options should work', async ({ page }) => {
const typebotId = cuid()
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: InputStepType.NUMBER,
...parseDefaultGroupWithBlock({
type: InputBlockType.NUMBER,
options: defaultNumberInputOptions,
}),
},

View File

@ -1,20 +1,20 @@
import test, { expect } from '@playwright/test'
import {
createTypebots,
parseDefaultBlockWithStep,
parseDefaultGroupWithBlock,
} from '../../services/database'
import { defaultPaymentInputOptions, InputStepType } from 'models'
import { defaultPaymentInputOptions, InputBlockType } from 'models'
import cuid from 'cuid'
import { stripePaymentForm, typebotViewer } from '../../services/selectorUtils'
test.describe('Payment input step', () => {
test.describe('Payment input block', () => {
test('Can configure Stripe account', async ({ page }) => {
const typebotId = cuid()
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: InputStepType.PAYMENT,
...parseDefaultGroupWithBlock({
type: InputBlockType.PAYMENT,
options: defaultPaymentInputOptions,
}),
},

View File

@ -1,20 +1,20 @@
import test, { expect } from '@playwright/test'
import {
createTypebots,
parseDefaultBlockWithStep,
parseDefaultGroupWithBlock,
} from '../../services/database'
import { defaultPhoneInputOptions, InputStepType } from 'models'
import { defaultPhoneInputOptions, InputBlockType } from 'models'
import { typebotViewer } from '../../services/selectorUtils'
import cuid from 'cuid'
test.describe('Phone input step', () => {
test.describe('Phone input block', () => {
test('options should work', async ({ page }) => {
const typebotId = cuid()
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: InputStepType.PHONE,
...parseDefaultGroupWithBlock({
type: InputBlockType.PHONE,
options: defaultPhoneInputOptions,
}),
},

View File

@ -1,9 +1,9 @@
import test, { expect } from '@playwright/test'
import {
createTypebots,
parseDefaultBlockWithStep,
parseDefaultGroupWithBlock,
} from '../../services/database'
import { defaultRatingInputOptions, InputStepType } from 'models'
import { defaultRatingInputOptions, InputBlockType } from 'models'
import { typebotViewer } from '../../services/selectorUtils'
import cuid from 'cuid'
@ -25,8 +25,8 @@ test('options should work', async ({ page }) => {
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: InputStepType.RATING,
...parseDefaultGroupWithBlock({
type: InputBlockType.RATING,
options: defaultRatingInputOptions,
}),
},

View File

@ -1,20 +1,20 @@
import test, { expect } from '@playwright/test'
import {
createTypebots,
parseDefaultBlockWithStep,
parseDefaultGroupWithBlock,
} from '../../services/database'
import { defaultTextInputOptions, InputStepType } from 'models'
import { defaultTextInputOptions, InputBlockType } from 'models'
import { typebotViewer } from '../../services/selectorUtils'
import cuid from 'cuid'
test.describe.parallel('Text input step', () => {
test.describe.parallel('Text input block', () => {
test('options should work', async ({ page }) => {
const typebotId = cuid()
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: InputStepType.TEXT,
...parseDefaultGroupWithBlock({
type: InputBlockType.TEXT,
options: defaultTextInputOptions,
}),
},

View File

@ -1,20 +1,20 @@
import test, { expect } from '@playwright/test'
import {
createTypebots,
parseDefaultBlockWithStep,
parseDefaultGroupWithBlock,
} from '../../services/database'
import { defaultUrlInputOptions, InputStepType } from 'models'
import { defaultUrlInputOptions, InputBlockType } from 'models'
import { typebotViewer } from '../../services/selectorUtils'
import cuid from 'cuid'
test.describe('Url input step', () => {
test.describe('Url input block', () => {
test('options should work', async ({ page }) => {
const typebotId = cuid()
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: InputStepType.URL,
...parseDefaultGroupWithBlock({
type: InputBlockType.URL,
options: defaultUrlInputOptions,
}),
},

View File

@ -1,19 +1,19 @@
import test from '@playwright/test'
import {
createTypebots,
parseDefaultBlockWithStep,
parseDefaultGroupWithBlock,
} from '../../services/database'
import { defaultGoogleAnalyticsOptions, IntegrationStepType } from 'models'
import { defaultGoogleAnalyticsOptions, IntegrationBlockType } from 'models'
import cuid from 'cuid'
test.describe('Google Analytics step', () => {
test.describe('Google Analytics block', () => {
test('its configuration should work', async ({ page }) => {
const typebotId = cuid()
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: IntegrationStepType.GOOGLE_ANALYTICS,
...parseDefaultGroupWithBlock({
type: IntegrationBlockType.GOOGLE_ANALYTICS,
options: defaultGoogleAnalyticsOptions,
}),
},

View File

@ -6,7 +6,7 @@ import cuid from 'cuid'
const typebotId = cuid()
test.describe('Send email step', () => {
test.describe('Send email block', () => {
test('its configuration should work', async ({ page }) => {
if (
!process.env.SMTP_USERNAME ||

View File

@ -4,7 +4,7 @@ import path from 'path'
import { HttpMethod } from 'models'
import cuid from 'cuid'
test.describe('Webhook step', () => {
test.describe('Webhook block', () => {
test('easy configuration should work', async ({ page }) => {
const typebotId = cuid()
await importTypebotInDatabase(
@ -25,7 +25,7 @@ test.describe('Webhook step', () => {
)
await page.click('text=Test the request')
await expect(page.locator('div[role="textbox"] >> nth=-1')).toContainText(
`"Block #1": "answer value", "Block #2": "20", "Block #2 (1)": "Yes"`
`"Group #1": "answer value", "Group #2": "20", "Group #2 (1)": "Yes"`
)
})
test('Generated body should work', async ({ page }) => {

View File

@ -6,7 +6,7 @@ import cuid from 'cuid'
const typebotId = cuid()
test.describe('Code step', () => {
test.describe('Code block', () => {
test('code should trigger', async ({ page }) => {
await importTypebotInDatabase(
path.join(__dirname, '../../fixtures/typebots/logic/code.json'),

View File

@ -6,7 +6,7 @@ import cuid from 'cuid'
const typebotId = cuid()
test.describe('Condition step', () => {
test.describe('Condition block', () => {
test('its configuration should work', async ({ page }) => {
await importTypebotInDatabase(
path.join(__dirname, '../../fixtures/typebots/logic/condition.json'),

View File

@ -6,7 +6,7 @@ import cuid from 'cuid'
const typebotId = cuid()
test.describe('Redirect step', () => {
test.describe('Redirect block', () => {
test('its configuration should work', async ({ page, context }) => {
await importTypebotInDatabase(
path.join(__dirname, '../../fixtures/typebots/logic/redirect.json'),

View File

@ -6,7 +6,7 @@ import cuid from 'cuid'
const typebotId = cuid()
test.describe('Set variable step', () => {
test.describe('Set variable block', () => {
test('its configuration should work', async ({ page }) => {
await importTypebotInDatabase(
path.join(__dirname, '../../fixtures/typebots/logic/setVariable.json'),

View File

@ -30,15 +30,15 @@ test('should be configurable', async ({ page }) => {
await page.click('text=Jump in My link typebot 2')
await expect(page.locator('input[value="My link typebot 2"]')).toBeVisible()
await page.click('input[placeholder="Select a block"]')
await page.click('text=Block #2')
await page.click('text=Group #2')
await page.click('text=Preview')
await expect(typebotViewer(page).locator('text=Second block')).toBeVisible()
await page.click('[aria-label="Close"]')
await page.click('text=Jump to Block #2 in My link typebot 2')
await page.click('input[value="Block #2"]', { clickCount: 3 })
await page.press('input[value="Block #2"]', 'Backspace')
await page.click('text=Jump to Group #2 in My link typebot 2')
await page.click('input[value="Group #2"]', { clickCount: 3 })
await page.press('input[value="Group #2"]', 'Backspace')
await page.click('button >> text=Start')
await page.click('text=Preview')

View File

@ -2,14 +2,14 @@ import test, { expect, Page } from '@playwright/test'
import cuid from 'cuid'
import { readFileSync } from 'fs'
import prisma from 'libs/prisma'
import { defaultTextInputOptions, InputStepType } from 'models'
import { defaultTextInputOptions, InputBlockType } from 'models'
import { parse } from 'papaparse'
import path from 'path'
import {
createResults,
createTypebots,
importTypebotInDatabase,
parseDefaultBlockWithStep,
parseDefaultGroupWithBlock,
} from '../services/database'
import { deleteButtonInConfirmDialog } from '../services/selectorUtils'
@ -44,8 +44,8 @@ test.describe('Results page', () => {
await createTypebots([
{
id: typebotId,
...parseDefaultBlockWithStep({
type: InputStepType.TEXT,
...parseDefaultGroupWithBlock({
type: InputBlockType.TEXT,
options: defaultTextInputOptions,
}),
},

View File

@ -1,9 +1,9 @@
import test, { expect } from '@playwright/test'
import cuid from 'cuid'
import { defaultTextInputOptions, InputStepType } from 'models'
import { defaultTextInputOptions, InputBlockType } from 'models'
import {
createTypebots,
parseDefaultBlockWithStep,
parseDefaultGroupWithBlock,
sharedWorkspaceId,
} from '../services/database'
@ -17,8 +17,8 @@ test.beforeAll(async () => {
id: freeTypebotId,
name: 'Shared typebot',
workspaceId: sharedWorkspaceId,
...parseDefaultBlockWithStep({
type: InputStepType.TEXT,
...parseDefaultGroupWithBlock({
type: InputBlockType.TEXT,
options: {
...defaultTextInputOptions,
labels: {