GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — feat(piloterr): add Piloterr integration by josselinlbe · Pull Request #9837 · simstudioai/sim

Conversation

@josselinlbe

@josselinlbe josselinlbe commented Nov 10, 2026

Copy link
Copy Markdown

Summary

Adds a Piloterr integration: tools, block, icon and generated docs page. I work on Piloterr, so this PR comes from the Piloterr team.

Fetch or render any web page, take screenshots, detect a website's technologies, search Google, Amazon and eBay, and get structured LinkedIn and Crunchbase company profiles and Zillow properties, with proxies and anti-bot handling included.

Operations:

  • Fetch HTML (piloterr_fetch_html): Fetch a public web page over fast HTTP, without running JavaScript, and get its HTML.
  • Render HTML (piloterr_render_html): Render a JavaScript-heavy page in a headless browser and get the HTML after rendering.
  • Take Screenshot (piloterr_screenshot): Capture a public web page as a PNG, JPEG, WebP image or a PDF, by viewport, full page or CSS selector, and store it as a file.
  • Detect Technologies (piloterr_detect_technologies): Detect the technologies a website runs, such as its CMS, frameworks, analytics, CDN and hosting.
  • Google Search (piloterr_google_search): Search Google and get organic results with their position, title, link and snippet, the knowledge graph and the estimated total.
  • Amazon Search (piloterr_amazon_search): Search an Amazon marketplace and get products with ASIN, title, price, rating and review count.
  • Get eBay Listing (piloterr_ebay_get_listing): Get an eBay listing by item ID or URL, with its price, condition, availability, seller, shipping and item specifics.
  • eBay Search (piloterr_ebay_search): Search eBay listings by keyword or search URL and get their price, condition, buying format, shipping and seller.
  • Get LinkedIn Company (piloterr_linkedin_company): Get a LinkedIn company's profile by page URL, slug or ID, or by website domain: industry, size, headquarters, specialties and followers.
  • Get Crunchbase Company (piloterr_crunchbase_company): Get a company's Crunchbase profile by name, permalink or URL, or by website domain: description, size, categories, locations, investors and products.
  • Get Zillow Property (piloterr_zillow_property): Get a Zillow home from its homedetails URL: address, price, Zestimate, status, size, rooms, year built and photos.

Credentials are a Piloterr API key on the block (AuthMode.ApiKey), sent as the x-api-key header. Every tool is an external ToolConfig.request against the Piloterr API.

Product update (if relevant)

Sales, e-commerce and research teams can scrape pages, monitor marketplace prices, and enrich accounts with LinkedIn and Crunchbase data. The block appears in the integrations catalog with 7 templates and grounded skills; the docs page is apps/docs/content/docs/integrations/piloterr.mdx.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation
  • Other: ___________

Testing

  • Outputs follow the documented OpenAPI response schemas, and every tool was run against the live Piloterr API through its request and transformResponse to confirm the mapped outputs; fields that the API documents as nullable are optional outputs.
  • Local gate on this branch: bun run lint, bun run type-check, bun run check:audits (all 62 audits), bun run apps/sim/scripts/check-block-registry.ts origin/staging, bun run apps/sim/scripts/check-canvas-sentences.ts --block=piloterr, and the existing blocks and tools/request-transport Vitest suites all pass.
  • Regenerated artifacts are committed: tool metadata, docs, block successors and the docs manifest.
  • No new unit tests, following the repo's testing guidance; the live run above is the end-to-end check.

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

Screenshots/Videos

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

greptile-apps[bot] reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
Josselin Liebe
feat(piloterr): add Piloterr integration
82473ff
Add a Piloterr block for web scraping and structured data:
- Fetch a page's HTML, render a JavaScript page, or take a screenshot
- Detect the technologies a website runs
- Search Google, Amazon and eBay
- Get LinkedIn and Crunchbase company profiles by page, name or website
  domain
- Get an eBay listing or a Zillow home

Outputs follow the documented OpenAPI schemas and were checked against live
responses. Credentials are a Piloterr API key sent in the x-api-key header.
@vercel

vercel Bot commented Nov 10, 2026

Copy link
Copy Markdown

Someone is attempting to deploy a commit to the Sim Team on Vercel.

A member of the Team first needs to authorize it.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@greptile-apps

greptile-apps Bot commented Nov 10, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 4/5

[Medium impact] Piloterr adds external data lookups to workflows that choose to use the new integration.

The PR appears safe to merge, with non-blocking fixes for agent number checks and the Google Search description.

Findings

  1. P2 Agent tools skip number checks ▶
  2. P2 Knowledge graph output is missing ▶

Summary

Adds Piloterr with eleven tools for web scraping, screenshots, search, and company and property research.

  • Piloterr can fetch and render web pages, save screenshots, detect technologies, and search Google.
  • Piloterr searches Amazon and eBay and retrieves individual eBay listings.
  • Piloterr returns company profiles from LinkedIn and Crunchbase and details for Zillow homes.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  A[Workflow block or agent tool] --> B[Select Piloterr operation]
  B --> C[Build request with API key]
  C --> D[Piloterr API]
  D --> E[Map response fields]
  D --> F[Store screenshot file]
  E --> G[Return tool output]
  F --> G
Loading

Reviews (1) · Last reviewed commit: "feat(piloterr): add Piloterr integration" · Reviewed by Greptile

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

greptile-apps[bot]
greptile-apps Bot reviewed Nov 10, 2026
View reviewed changes
Comment thread apps/sim/blocks/blocks/piloterr.ts Outdated
Comment on lines +308 to +310
params: (params) => {
const result: Record<string, unknown> = {}
if (params.operation === 'render_html') {

@greptile-apps greptile-apps Bot Nov 10, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Agent tools skip number checks

tools.config.params checks params.operation, but agent tools keep the selected operation separately and pass it through the second callback argument. After switching a Piloterr agent tool to a search or screenshot operation, its numeric inputs skip this mapper. Saved short-input strings stay strings, and blank values are sent instead of being omitted. Read context?.operation ?? params.operation before choosing which numbers to parse.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@josselinlbe josselinlbe Nov 12, 2026

Copy link
Copy Markdown
Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 56dcdf7. tools.config.params now reads context?.operation ?? params.operation, so an agent tool switched to a search or screenshot operation parses its numeric inputs and drops blank values like the block does.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

greptile-apps[bot] reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
Comment thread apps/sim/tools/piloterr/google_search.ts Outdated
id: 'piloterr_google_search',
name: 'Piloterr Google Search',
description:
'Search Google and get organic results with their position, title, link and snippet, the knowledge graph and the estimated total.',

@greptile-apps greptile-apps Bot Nov 10, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Knowledge graph output is missing

piloterr_google_search promises a knowledge graph, but its response mapper and output fields expose only results, totalResults, and hasNextPage. Workflows and agents cannot read the advertised company or entity details. Expose the knowledge graph, or remove that promise from the tool description and generated docs and catalog.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@josselinlbe josselinlbe Nov 12, 2026

Copy link
Copy Markdown
Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 56dcdf7 by removing the knowledge-graph claim: piloterr_google_search now describes only what it returns (organic results, total results and whether a next page exists), and the docs and catalog were regenerated from it.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

greptile-apps[bot] reacted with thumbs up emoji
All reactions
  • 👍 1 reaction
Josselin Liebe
fix(piloterr): address review feedback
56dcdf7
- Describe Google Search without a knowledge graph, which it does not return
- Read the operation from the mapper context so agent tools coerce numeric
  inputs too
- Keep response mappers with a single caller in that tool's file
- Document the PiloterrIcon export

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@greptile-apps greptile-apps[bot] greptile-apps[bot] left review comments

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

1 participant

@josselinlbe
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.