๐ Overview#
Block Execution is the action performed on a block to transition it from its initial state to its final state: generated content in the Publication Interface. When a block is executed, it takes into account the attributes assigned to the publication to accomplish its purpose.โ ๏ธ In Thinkeo, all blocks must be executed before the end of a publication. Some will be executed automatically and others must be triggered manually through a Wizard Step. The simplest approach is to execute your entire App at once.
Before going further, it is important to understand Thinkeo's overall functioning:1
๐งโโ๏ธ Wizard Assignment
The Wizard allows assigning attributes and/or attribute values to the publication
2
๐ฏ Block Behavior
These attributes determine block behavior and feed them with content
3
โก Real-time Execution
Blocks are executed and generate a document in real-time on the Publication Interface
In other words, during execution, a choice block can select the variant that corresponds to the attributes assigned to the publication, a condition block becomes visible or hidden, and an AI block transforms its prompt into text generated in real-time.As soon as the User clicks "Next" in their Wizard to validate a Step, block execution is launched.๐ก Parent-Child Execution Logic: When a Parent block is executed, all its nested Child blocks are executed automatically beforehand. This makes it easy to control manual block execution by choosing Parent blocks, and the simplest approach is to execute your App block at once so everything runs "automatically."
๐ค Why don't all blocks execute automatically?#
Certain blocks like AI blocks must be executed at the right moment during the publication journey because they need the User to have entered enough information for the Prompt to be complete. If executed too early, the generated content will not be relevant or will be incomplete.
๐ง Execution Specifications#
Let's now detail the points to understand well for proper execution implementation.We'll answer the following questions:Which blocks need manual execution?
When to execute them at the optimal moment?
How to execute them simply and efficiently?
๐ Which blocks require manual execution?#
Let's start by identifying blocks that execute automatically at each Step validation, meaning every time the User presses the "Next" button during their publication journey.We distinguish simple blocks from advanced blocks - the former are executed automatically at each step, and the latter must be triggered manually.๐ข Simple Blocks#
Executed automatically at each stepYou'll understand that all these blocks are autonomous in their functioning. They are executed at each step until the attributes assigned during the publication journey determine what they should do.๐ต Advanced Blocks#
These blocks must be executed manually, either directly or by a parent block, by assigning them to a Wizard Step.๐ Examples of Automatic Execution:#
Condition Block: Verifies whether it should remain visible or not according to attributes or attribute values assigned at the step
Paragraph Block: Updates its content to replace a variable like "Client Name" with the value just entered by the User
Choice Block: Determines which variant to display according to attributes or attribute values assigned at the step
๐ง Advanced Block Requirements:#
AI Block: Needs all elements of its prompt to be filled in (variables and/or nested blocks according to your configuration)
Search Block: Must be executed once after file upload to populate the File Attribute it's associated with; all other Search blocks can be executed automatically via parent AI block execution
Word Block: Must be executed during the second-to-last Step (the Message Step preceding the End step) to generate a link on the publication interface for the User to retrieve their document
โฐ When to execute them at the optimal moment?#
General Recommendation: We recommend executing the entire App at once just before your End step.
If your questionnaire is long and/or your App complex, then it becomes relevant to progressively trigger execution of your blocks throughout the steps. Even then, favor executing parent blocks so all child blocks execute automatically.Execution will always happen from bottom to top, from the most distant nested block to the highest parent block.๐ค For AI Blocks:#
You must wait until all necessary elements in its Prompt are available.Make sure to verify that the following elements are properly filled before triggering its execution on a Step:1
โ
Variable Completion
All variables present in the Prompt have been entered by the User
2
๐ฏ Attribute Assignment
All attributes necessary for child blocks of the AI block have been assigned during the publication journey
๐ For Search Blocks:#
You must add ONE SINGLE Search block during the "File Upload" Step. It will then begin segmenting files to make them available to other Search blocks.๐ For Word Export Blocks:#
The Word Export block must be executed during the second-to-last Step of the journey.
๐ฏ How to execute them simply and efficiently?#
Following the guidelines mentioned above in this document, you already have the keys to execute blocks at the right moment. There's still one point to completely master block execution: leveraging the block hierarchy.๐ก Hierarchy Advantage: When we execute a parent block, it will automatically execute the child blocks below it, unless one of its child blocks is already in manual execution.
๐ If you want to generate content throughout the user journey instead of executing the entire App at once:#
It's necessary to have blocking Steps with the "Wait for everything to be executed" option activated to ensure that child blocks triggered manually have finished their execution before triggering that of their parent block.1
๐ซ Blocking Steps
Make the step that will execute a parent block "blocking" to ensure its child blocks are either already finished executing or ready to be executed
2
๐จโ๐ฉโ๐งโ๐ฆ Execute Parent Blocks
Execute parent blocks rather than children, so executions chain easily without having to manually specify execution of each Search or AI block
๐ Execution Example:#
In this example, we assigned the "TA. IA. summary" block on a Step to be executed.In order, it will therefore automatically:1.
Execute nested Paragraph blocks in the "TA. Ch. Analysis Length" choice block and deduce the variant to use
2.
Execute higher-level blocks: the "TA. Ch. Analysis Length" choice block, "TA. P. Analysis" and "TA. P. Analysis 2" Paragraph blocks with prompt instructions, and also execute the "TA. F. Technical Document" file block to extract content from provided documents. All these executed blocks will constitute the prompt for the "TA. IA. Analysis" AI block
3.
Execute the "TA. AI. Analysis" AI block to generate analysis content and execute the "TA.P. Summary" paragraph block with prompt instructions for the "TA. AI. Summary" AI block
4.
Execute the parent "TA. AI. Summary" AI block which can use all visible and executed nested blocks to generate a summary from the analysis already performed by the nested "TA. AI. Analysis" AI block
We could have also executed a Group block located higher in the tree structure to trigger an entire section. It's even possible (and highly recommended) to trigger an entire App at once by executing the Group block that contains the entire App.๐ก Configuration Best Practices:#
During your configurations, always think to:Execute manually as few blocks as possible by choosing the right parent blocks
Regularly use the "blocking" option for Steps to ensure ongoing block executions are finished before launching manual block execution
๐ฎ Advanced Execution Control#
๐ Execution Flow Management#
Understanding the execution flow is crucial for optimal App performance:๐๏ธ Step Configuration Options#
๐ซ Blocking Steps
Use "Wait for everything to be executed" to ensure all child blocks complete before proceedingโก Non-blocking Steps
Allow immediate progression while blocks execute in background (use carefully)๐๏ธ App-Level Execution Strategy#
For most use cases, we recommend the single execution approach:Execute your entire App at once by selecting the top-level Group block on the step just before your End step. This ensures all content is generated in the correct order without complex step management.
โ ๏ธ Common Execution Pitfalls#
Executing child blocks individually instead of leveraging parent block execution
Not using blocking steps when progressive execution is needed
Executing AI blocks too early before all prompt elements are available
Forgetting to execute required blocks before publication completion