Web Agent
Web Agent is an AI agent that does on the web what you would do with a browser. You describe the task in your own words and it takes care of the rest:
- Read and extract: it opens whatever pages it needs, including pages rendered with JavaScript, infinite scroll or “Load more” buttons, and pulls out the data you ask for.
- Crawl whole sites: it follows the site map, pagination and links, and extracts the same data from hundreds of pages at once.
- Operate websites: it logs in, clicks, fills multi-step forms, picks options, accepts dialogs, switches tabs, uploads and downloads files.
- See the screen like you do: when something is not a normal button (a map, a floor plan, an editor, a canvas), it looks at the page, finds what it needs and clicks or types right there.
- Save pages: it can save any page as a PDF in its files folder.
- Read documents: PDF, Excel, Word and CSV files it finds or downloads.
It returns the answer and, separately, every record it collected as a table, ready to save into a database or a spreadsheet.
Before answering, the agent checks its own work: if a listing goes on beyond the pages it collected, or a figure in its answer does not appear in anything it read, it goes back for it instead of filling it in from memory. Totals, the cheapest or the most expensive are worked out from every record it collected, not added up from memory.
See it in action
This narrated video shows two flows: one that reads a competitor’s whole catalog and returns it as a table, and one that logs in to a portal with passwords kept in Secrets, limited by Allowed Sites and protected by the guard for irreversible actions.
When to use it
- You want the full product and price catalog of a supplier that only publishes it on its website.
- Every month someone logs into a portal to download invoices or reports.
- You need to fill a web form with data from your flow and keep the reference number.
- You want to watch prices, job offers or tenders on several websites every week.
- An agent in your flow needs to look something up or do something on a specific website to answer a customer.
Configuration
| Field | What it does |
|---|---|
| User Prompt | The task, written as you would ask a person. Include the website address if you know it; otherwise the agent searches for it. Defaults to {input}, replaced by whatever reaches Input. You can add other variables in braces; each one appears as a new field. |
| Input | The text that replaces {input}, usually connected from a Chat Input. |
| Connection | What to connect |
|---|---|
| Model (required) | The AI model that drives the agent, for example OpenAI. It needs a model that can use tools. |
| Compression Model | Optional. A cheaper model used to summarise long jobs and to review sensitive actions. Empty: the main model is used. |
| Extra Tools | Optional. Tools the agent can use besides its own: a database to save what it finds, Slack or email to notify, or your mailbox to read a verification code. |
Advanced options
| Field | What it does |
|---|---|
| Secrets | Passwords or keys the agent may type into websites, one per line as NAME=value. In the task you refer to them as {secret:NAME} and the agent never sees the value. Write NAME@shop.com=value so it can only be used on that site, and NAME=${VARIABLE} to take the value from a variable of the flow’s environment. |
| Allowed Sites | If you list sites here (one per line, for example shop.com), the agent only opens pages on them. Empty: any public website. |
| Allow Irreversible Actions | Lets the agent do things that cannot be undone when you ask for them: buy, pay, send messages or forms, sign up, delete or publish. When off, the agent stops just before and tells you what is pending. Default: off. |
| Remember Login As | A name to keep the logged-in session between runs, encrypted in your account. Useful in scheduled flows that log into the same portal every day. Empty: every run starts logged out. |
| Volume Directory | A folder that keeps the agent’s files between runs: what it downloads, what it creates and the files you want it to upload. It is the same folder Python Code components see. Empty: files are deleted at the end. |
| Enable Web Search | Lets the agent search the internet for the right website when you do not give the address. Default: on. |
| Enable Browser Tools | Lets the agent use a real browser to log in, click, fill forms or load infinite lists. Default: on. |
| Enable Bulk Crawl Tools | Lets the agent crawl sites and fetch many pages at once. Default: on. |
| Enable Python Sandbox | Lets the agent run Python to compute, clean or convert the data and files it collects, in an isolated environment. Default: off. |
| Python Internet Access | Lets that Python reach the internet. Off is safer. Default: off. |
| Respect robots.txt | When crawling many pages, skips the ones the site asks robots not to visit. Default: on. |
| Proxy | Optional. A proxy for all of the agent’s traffic, such as http://user:password@server:port. Useful when a site blocks servers or only works from one country. |
| Learn From Previous Runs | After a successful run the agent remembers which pages and steps worked and uses them as a guide next time, so repeated tasks go faster. Passwords are never stored. Default: on. |
| Max Turns | How much the agent can work before it stops. Raise it if answers come back incomplete. Default: 90. |
| Output Schema | Forces the answer into a fixed shape. Usually not needed: records already come out as a table through Records. |
| System Prompt Override | Replaces the agent’s built-in instructions. Leave it empty. |
| Stream Response and Stream Thinking | Show in the chat what the agent is doing and its reasoning while it works. Stream Response is off by default: the answer arrives complete at the end, which is what scheduled and API runs need. Stream Thinking only shows with Stream Response on. |
| Enable Skills | Lets you add NappAI skills with instructions for specific tasks. More in My Skills. |
Output
- Message: the agent’s answer for the chat. If it collected records, a table with the first ones follows.
- Structured Result: the answer (
final_answer), all the records (itemsanditems_count) and the run details: the steps it took (steps), the errors along the way, what was blocked for security and the decisions of the irreversible-action guard. - Records: the records as a table, ready for a database or spreadsheet component.
The three outputs share a single run: connecting several does not make the agent work twice. You can also connect the component to the Tools input of another agent so it uses it as a tool.
Examples
Full catalog. “Get every product in the lighting category of https://competitor.example.com/lighting with name, price and link.” The agent goes through every page and returns the table in Records. Connect it to a spreadsheet and schedule the flow every Monday in the Scheduler.
Invoices from a portal. In Secrets write PORTAL_USER@portal.supplier.com=${PORTAL_USER} and PORTAL_PASSWORD@portal.supplier.com=${PORTAL_PASSWORD}, and in Remember Login As, supplier-portal. Task: “Log into https://portal.supplier.com with {secret:PORTAL_USER} and {secret:PORTAL_PASSWORD}, download this month’s invoices and give me the number, date and amount of each one.” With Volume Directory the PDFs are kept.
A form. “Fill in the application at https://example.com/signup with this data and tell me the confirmation number.” To let it actually submit, turn on Allow Irreversible Actions; otherwise the agent gets everything ready and tells you the submission is pending.
Security
- Passwords are not exposed. The agent writes
{secret:NAME}and the real value is filled in separately; it never appears in its messages, the output or the history. If you lock a secret to a site, it is never typed anywhere else, even if a page asks for it. - Nothing irreversible without permission. With Allow Irreversible Actions off, an independent guard reviews every submission before it happens and stops purchases, payments, sign-ups, messages, bookings, deletions and publications. Logging in, searching and filtering are always allowed.
- Pages do not give it orders. The agent treats website text as data, not as instructions.
- Public internet only. It cannot reach internal networks or private addresses, not even when a website redirects it there.
- Isolated Python. The code it runs goes into a separate container, without network access unless you allow it and without the platform’s keys.
Tips
- Say which data you want and whether you expect the full list (“every product”, “all pages”).
- Put passwords in Secrets, never in the task text.
- For flows that log into the same portal every day, use Remember Login As.
- If answers come back incomplete on very large sites, raise Max Turns.
- The agent answers in the language you write the task in.
Related components
- Agent: NappAI’s general agent, which can use this component as a tool.
- Web Scraper: turns specific addresses into text without an AI model.
- Python Code: shares the Volume Directory files folder.