Workflow Design Principles
Learn best practices for planning and building effective and reliable Jsonify workflows.
Building powerful automations with Jsonify becomes much easier when you follow a few key design principles. This section outlines best practices to help you create workflows that are effective, reliable, and easy to understand.
1. Plan Your Goal Clearly
Before you use a single block, clearly define what you want your workflow to achieve. Ask yourself:
- What is the ultimate output I need? (e.g., a list of company names and their websites, extracted product reviews, a summary of articles).
- What are the starting points? (e.g., a list of URLs, a search query, a set of variables).
- What are the main steps involved in getting from the start to the end, even if a human were doing it?
A clear goal makes it easier to choose the right blocks and structure your workflow logically.
2. Think Sequentially
Workflows in Jsonify execute blocks in a sequence, from top to bottom. The output of one block often becomes the input or context for the next.
- Logical Order: Ensure your blocks are arranged in a logical order. For example, you can’t
Extract Data
before youOpen Websites
orFollow Links
to a page. - One Thing at a Time: While some blocks can perform multiple internal steps (like
Explore Content
), it’s often clearer to break down complex tasks into a series of simpler blocks.
3. Choose the Right Block for the Job
Jsonify provides a variety of blocks, each designed for specific tasks. Understanding their purpose is key:
- Need to input a list of URLs? Use
Open Websites
. - Need to click a button or type text? Use
Interact with Page
. - Need to find links based on a description? Use
Find Links
(followed byFollow Links
). - Need to get specific data from a page? Use
Extract Data
. - Need to run the same logic for multiple inputs? Start with
Apply Variables
.
Refer to the “Mastering Workflow Blocks” section for details on each block.
4. Build and Test Iteratively
Don’t try to build a massive, complex workflow all at once.
- Start Simple: Begin with the first few core steps (e.g., opening a site, extracting one piece of data).
- Test Often: Run your workflow frequently as you build it. This helps you catch errors early and verify that each part is working as expected.
- Add Complexity Gradually: Once a section is working, add the next logical set of blocks.
- Use Small Data Sets for Testing: When using
Apply Variables
or processing lists, test with a small number of items first to speed up debugging. - Handling Paginated Data: To extract similar data from multiple pages (e.g., paginated search results or product listings), it’s often more reliable and less likely to trigger anti-bot measures to provide direct links to each page as input (e.g., using the “Add a numbered range of URLs” feature in
Open Websites
) rather than using a dedicated pagination block that simulates clicks on “Next” buttons. Processing each page URL as a new starting point can be beneficial because each new browser session initiated by the agent might use a unique IP address, making the activity appear less like a single bot rapidly clicking through pages from one IP.
5. Write Clear Instructions for the AI
Many blocks (like Extract Data
, Explore Content
, Find Links
, Interact with Page
) rely on your natural language instructions to guide the AI.
- Be Specific: Vague instructions lead to unpredictable results. Instead of “Get info,” try “Extract the product price listed under ‘Our Price’.”
- Provide Examples: For
Extract Data
, giving examples in the description field significantly improves accuracy. - Use Constraints: Tell the AI what not to do if necessary (e.g., “Do not extract text from the footer”).
- Context is Helpful: Briefly stating the context (e.g., “You are on a search results page…”) can aid the AI.
6. Understand Data Flow
Be mindful of how data flows through your workflow:
- Variables: Data from
Apply Variables
is injected into subsequent blocks. - Block Outputs: Some blocks (like
Find Links
orExtract Data
) produce output that is implicitly used by the next block (likeFollow Links
) or can be explicitly captured and used later. - Iteration: When using
Apply Variables
or “Follow each link” inFollow Links
, the subsequent blocks will run for each item/page, processing data in that specific context.
7. Keep It Readable
- Name Your Workflows: Give your workflows descriptive names.
- Logical Grouping: Arrange blocks in a way that visually represents the flow of logic.
By applying these principles, you’ll be well on your way to creating robust and efficient automations with Jsonify.