返回 Skill 列表
extension
分类: 数据与分析无需 API Key

sf-scrapper

使用浏览器自动化从已登录的 SAP SuccessFactors 浏览器会话中抓取员工数据。适用场景:用户提供员工 ID 并希望获取员工信息。

person作者: venkatalokesh-dothubclawhub

SF Scraper — SuccessFactors Browser Scraping Skill

Scrape employee data from a live, logged-in SAP SuccessFactors session via browser automation.

Prerequisites

  • User must have SAP SuccessFactors open and logged in on a Chrome tab.
  • OpenClaw Browser Relay Chrome extension must be active (badge ON) on that tab.
  • Use profile="chrome" for all browser calls.

Workflow

1. Discover the SuccessFactors Base URL

Take a snapshot of the attached Chrome tab to identify the current SF domain:

browser(action="snapshot", profile="chrome", compact=true)

Extract the base URL (e.g., https://<company>.successfactors.com or https://pmsalesdemo8.successfactors.com).

2. Navigate to Employee Search / People Profile

SuccessFactors supports deep-link URLs. Use the following pattern to go directly to an employee's profile:

Primary pattern (People Profile / Live Profile):

{base_url}/sf/liveprofile?selected_user={employee_id}

Fallback patterns if primary doesn't work:

{base_url}/xi/ui/peopleprofile/pages/index.xhtml?selected_user={employee_id}
{base_url}/sf/home?selected_user={employee_id}

Navigate using:

browser(action="navigate", profile="chrome", targetUrl="{constructed_url}")

Wait briefly for the page to load, then snapshot.

3. If Deep Link Fails — Use Search

If the deep link lands on a generic page or errors, fall back to the global search:

  1. Snapshot the page to find the search bar (usually top-right, role: searchbox or textbox with name containing "Search").
  2. Click the search box, type the employee ID, press Enter.
  3. Snapshot results, click the matching employee profile link.

4. Scrape Employee Data

Once on the profile page, take a snapshot:

browser(action="snapshot", profile="chrome", compact=true)

Extract the following fields from the rendered accessibility tree:

| Field | Where to Look | |-------|---------------| | Name | Page heading / heading role, or prominent text near avatar | | Employee ID | Usually in a details section or the URL itself | | Email | Look for link with mailto: or text containing @ | | Job Title | Near name, often under heading | | Department | In profile details / info card | | Manager | In profile details, often a clickable link | | Location | In profile details section | | Phone | In contact info section |

Not all fields will always be visible — return what's available.

5. If Profile Page Uses Tabs/Sections

SuccessFactors profiles often have tabs (Personal Info, Employment Info, Job Info, etc.). If needed data isn't visible:

  1. Snapshot to find tab elements.
  2. Click the relevant tab (e.g., "Personal Information", "Job Information", "Employment Details").
  3. Snapshot again and extract.

6. Return Results

Format results clearly:

Employee: John Doe
ID: 12345
Email: john.doe@company.com
Title: Senior Developer
Department: Engineering
Manager: Jane Smith
Location: Bangalore, India

Only include fields that were actually found on the page. Do not guess or fabricate data.

Configuration

The user should create a config in TOOLS.md or the workspace with:

### SuccessFactors
- Base URL: https://yourcompany.successfactors.com

If no base URL is configured, discover it from the currently open tab.

Error Handling

  • Not logged in: If snapshot shows a login page, tell the user to log in first.
  • Access denied / no profile found: Report clearly — the user may lack permissions for that employee.
  • Page timeout: Retry snapshot once after 3 seconds. If still loading, inform the user.
  • Search returns multiple results: List them and ask the user to clarify.

Batch Mode

If user provides multiple employee IDs, iterate through each one sequentially using the same workflow. Collect results and present as a table.

Important Notes

  • Never use OData API, REST endpoints, or any programmatic API. This skill is purely browser-based scraping.
  • Always use profile="chrome" — never profile="openclaw" (we need the user's authenticated session).
  • Be patient with page loads — SF can be slow. Use snapshots to verify page state before extracting.
  • Respect the user's session — don't navigate away from SF without warning.