There are various tricks you can use to ensure your workflows are consistent.

Caching

Simplex automatically caches agentic actions on subsequent runs where you set a workflow name. This can speed up workflows by 10-20x depending on the complexity of the workflow, and make it so runs are extremely consistent.

Using non-agentic actions when available

For form filling and input filling, it’s often possible to use a combination of type, press_tab, press_enter to fill out forms (it’s also cheaper for you as it doesn’t require using agentic actions!). The following video is running at 1x speed.

Running a workflow with non-agentic actions.

Here’s the corresponding code:

from simplex import Simplex

simplex = Simplex(api_key="your_api_key")
simplex.create_session(workflow_name="form-filling-flow", proxies=False)
simplex.goto("https://www.simplex.sh/form-filling-example.html")
simplex.press_tab() # tab into the payment method field
simplex.type("Bank Transfer")
simplex.press_enter() # select Bank Transfer
simplex.press_tab() # tab into the amount field
simplex.press_tab() # (have to tab twice to get past dropdown)
simplex.type("850")
simplex.press_tab() # tab into Credit Card field
simplex.type("1234-5678-9012-3456")
# ... etc
simplex.click("Submit Payment")
simplex.wait(15000) # take a look at the form!
simplex.close_session()