willhaben
Create and manage listings on Willhaben.at (Austrian marketplace).
Installation
npx clawhub@latest install willhabenView the full skill documentation and source below.
Documentation
Willhaben Listing Creator
Create listings on Willhaben.at via browser automation.
First-Time Setup
Check if config/user-preferences.json exists in the skill folder.
- If missing → run setup flow (see
references/SETUP.md) - If exists → read preferences and apply to all listings
User preferences include: location, shipping, description style, pricing strategy, disclaimers.
Workflow
1. Receive Item Details
- User sends photos (via WhatsApp/chat)
- Optional: user provides details (condition, category, price range)
2. Market Research
Before suggesting a price, search Willhaben for similar/identical items:- Search willhaben.at for the item
- Note price range of comparable listings
- Check sold prices if available
- Report findings to user:
3. Generate Listing
- Analyze photos to understand the item
- Generate:
- Ask user:
- Present draft for confirmation including package size estimate
Listing Summary Template
Show the user something like:📝 Listing Draft
Title: [title]
Description: [description]
Price: €XX VB
Location: [location]
Pickup: ✅ / Shipping: ✅
📦 Package: ~Xkg (selecting [size] package)
→ If wrong, let me know!
Photos: X attached
Ready to post?
If package weight is unclear (e.g., unusual item), ask the user rather than guessing wrong.
4. Post to Willhaben
See detailed browser automation steps below.Description Style
Default: Casual & short
Blue Yeti USB Mikrofon, schwarz. Funktioniert einwandfrei, inkl. Kabel und Standfuß. Privatverkauf, keine Garantie/Rücknahme.
NOT like this (too AI/formal):
Zum Verkauf steht ein hochwertiges Blue Yeti USB Kondensatormikrofon in der eleganten Blackout Edition. Dieses professionelle Mikrofon eignet sich perfekt für Podcasting, Streaming, Gaming oder Home-Office...
Only add detail if user explicitly asks for it.
Language
All listings in German (Austrian market). Keep it natural, like a real person wrote it.
Browser Automation Guide
Use clawd browser profile with saved Willhaben login.
Step 1: Start Listing
2. Click **"Kostenlose Anzeige aufgeben"** (link to Marktplatz free listing)
## Step 2: Fill Details Page
The form has these fields:
### Images
- **Upload method**: Use browser upload action with inputRef pointing to the "Bild auswählen" button
- Example: browser upload inputRef=e12 paths=[...] where e12 is the button ref
- Can upload multiple images at once via paths array
- After upload, verify images appear as thumbnails before proceeding
### Price (Verkaufspreis)
- Textbox, just enter the number (no € symbol needed)
### Title (Titel)
- Textbox with placeholder "z.B. Levi's 501 Jeans, schwarz, Größe 32"
- Keep concise and searchable
### Category (Kategorie)
- **Auto-suggests based on title** - a radio option appears
- **IMPORTANT**: Must click the category option to select it (even if it looks selected)
- If wrong category suggested, click "Andere Kategorie wählen"
### Condition (Zustand)
- Appears AFTER category is selected
- Options: Neu / Neuwertig / Gebraucht / Defekt
- Usually select "Gebraucht" for used items
### Description (Beschreibung)
- Rich text editor (contenteditable paragraph)
- Click on the paragraph area first, then type
- Keep it short!
### Contact & Location
- Pre-filled from account settings
- Shows name, email, address
## Step 3: Click "Weiter"
Proceeds to shipping options.
## Step 4: Shipping Page (Übergabe & Versand)
### Delivery Options
- **Selbstabholung**: Pickup (usually keep checked)
- **Versand**: Shipping (check if offering shipping)
### PayLivery (willhaben's shipping service)
If Versand is checked:
**Package Size (Versandgröße)** - Choose based on actual item weight!
- **Paket bis 3 kg** - Small items
- **Paket bis 10 kg** - Medium items (electronics, small appliances)
- **Paket bis 31,5 kg** - Heavy items (appliances with compressors, etc.)
Example weights:
- Ice cream maker with compressor: ~9kg → select 10kg
- Keyboard/mouse: ~1kg → select 3kg
- Monitor: ~5kg → select 10kg
- Books/games: ~0.5kg → select 3kg
- Laptop: ~2-3kg → select 3kg
- Kitchen appliance (mixer, blender): ~3-5kg → select 10kg
**⚠️ If weight is unclear**: This should have been confirmed with user in the listing summary step. If you reach this point unsure, go back and ask!
**Carrier**: Post or DPD (Post is default, fine for most)
**Sperrgut**: Check if item is oversized (>100×60×60cm) or non-rectangular
Buyer pays shipping (shown at bottom).
## Step 5: Click "Weiter"
Proceeds to upsells page.
## Step 6: Upsells Page (Zusatzprodukte)
Shows paid promotion options:
- Anzeige vorreihen (€14.99)
- Farblich hervorheben (€7.99)
- TOP Anzeige options (€21.99 - €89.99)
**Skip all** - just click **"Veröffentlichen"** to publish for free.
Shows "Gewählt: € 0" at bottom confirming no paid options.
## Step 7: Success!
Confirmation page shows:
- ✅ "Anzeige erfolgreich aufgegeben"
- Listing preview with image
- **willhaben-Code**: The listing ID (e.g., 1832624977)
- Note: "Die Veröffentlichung kann bis zu 24h dauern" (review period)
**Listing URL**: Troubleshooting
Category not selecting
Even if the category appears, you must click on the radio/option area to actually select it. The validation error "Kategorie muss gewählt werden" means it wasn't clicked.Images not uploading
UseinputRef with the "Bild auswählen" button reference (e.g., inputRef=e12). Do NOT use selector: input[type="file"] - it doesn't work reliably on this site.
Element refs going stale
Always take a fresh snapshot before interacting. Refs change after page updates.Login required
If not logged in, the profile should have saved credentials. If needed, navigate to login page or ask user to log in manually in the browser.Quick Reference
| Step | URL/Action |
| Start | |
| Free listing | Click "Kostenlose Anzeige aufgeben" |
| Upload images | upload with inputRef pointing to "Bild auswählen" button |
| Next | "Weiter" button |
| Publish | "Veröffentlichen" button |
| View listing | |