PeoplePerHour automation · runs daily
Write and send PeoplePerHour proposals with an AI agent
You found a project worth bidding on, and the proposal still needs a pitch that answers the brief, a price, a delivery time and a deposit. Buyers tend to read proposals in the order they arrive, so the one you write tonight competes with those sent this morning.
Cotlet does it in your own PeoplePerHour account with get_project, send_proposal, list_proposals and cancel_proposal, called by your AI agent, an n8n workflow or a script.
Hosted · nothing to install or maintain
Official options
Can PeoplePerHour do this on its own?
PeoplePerHour has no API to send or edit proposals (checked 12 Oct 2026); they are written in the proposal form and the WorkStream only. PeoplePerHour ranks proposals for the buyer, showing high-relevance ones as Recommended at the top and grouping those its model expects the buyer to pass over at the end. It drafts nothing for the freelancer. Its terms ban auto-responders, so here every proposal is drafted by the agent and sent only after you approve it.
By hand
How you do it in PeoplePerHour today
- Open the project from the PeoplePerHour Jobs page and read the brief for deliverables, time frame and required skills.
- Ask on the project clarification board when the brief leaves the scope open, then wait for the buyer to answer.
- Fill in the PeoplePerHour proposal form with what you will deliver and your price, and set the deposit the buyer pays into Escrow before work starts.
- To change a proposal the buyer has not accepted, open the WorkStream, click Cancel on the proposal itself and send a corrected one with the New Proposal button at the bottom.
- Every PeoplePerHour proposal is typed from scratch, and the deposit minimums and the 80% price floor are easy to get wrong when you write several in one evening.
With an agent
How to write and send PeoplePerHour proposals with an AI agent
Prompt
Draft proposals for the two landing page projects you shortlisted today, using my Figma portfolio and a 50% deposit, and show me each one before it goes out. - 01
Build the pitch from the brief
The agent reads the project with get_project and names each deliverable back to the buyer, adds one question if the scope is open, and links one or two portfolio pieces you marked as relevant. Generic openers are cut, since PeoplePerHour pushes low-relevance proposals to the end of the list.
- 02
Price inside the floor
Your price is compared with the buyer budget. Below 80% of it, the agent either lifts the price to the floor or tells you the project is not worth it at your rate; it never drafts a proposal under the PeoplePerHour minimum.
- 03
Pick the deposit by size
Fixed-price work up to £40 gets a 100% deposit. Above that the agent uses your default, never below 30%, and suggests 50% for a first job with a buyer who has no history with you.
- 04
Show the draft before it counts
Each proposal costs a credit once sent, so the agent shows you the full text, price, days and deposit and waits. You edit or approve one by one; nothing goes out in a batch you have not read.
- 05
Correct a pending proposal
When a buyer asks for a lower price or a later date before accepting, the agent finds the pending one with list_proposals, cancels it and sends the new terms to the same project. If the buyer has already accepted, it stops and drafts a WorkStream message that records the changed agreement instead.
What you get back
Example data
2 proposals approved and sent, 1 held back.
Sent: "Landing page design for a SaaS launch", £450 (budget £500), 7 days, 50% deposit.
Sent: "Redesign Shopify product pages", £320 (budget £350), 5 days, 50% deposit.
Held: "Brand identity and website", budget £600, your price for the scope is £1,400.
Re-sent: "Pitch deck refresh", cancelled at £380 and sent at £340 in the same WorkStream, no extra credit.
Credits used today: 2. Other ways to ask
- The buyer on the pitch deck project asked for £340 and delivery by Friday; cancel my pending proposal and send the new terms.
- Draft proposals for every project on today's shortlist, put them all in one message, and send only the ones I mark.
- For hourly projects, propose my £45 hourly rate and set the deposit from the number of hours the buyer expects.
Before you automate it
What PeoplePerHour allows, and what to know first
- Each PeoplePerHour proposal uses one Proposal credit even when the buyer never accepts it, and a Featured proposal uses a Featured Proposal credit on top.
- Cancelling a pending PeoplePerHour proposal and re-sending it to the same buyer in the same WorkStream does not use another credit. An accepted proposal cannot be cancelled or changed.
- PeoplePerHour sets minimum Escrow deposits for fixed-price proposals: 100% up to £40 and 30% above that, with 50% recommended for bigger jobs. The same bands apply in dollars and euros.
- Hourly work on PeoplePerHour has its own deposit minimums by hours: 100% for 1 to 4 hours, 50% for 5 to 10 and 25% above 10.
- PeoplePerHour no longer emails buyers about each new proposal unless it is recommended or featured; the rest reach them in a summary email.
send_proposal and cancel_proposal ask for your OK by default. To run it daily without you, switch confirmation off for those tools in your dashboard.
Sources: PeoplePerHour Help: Canceling a proposal · PeoplePerHour Help: Job Deposits and minimum Proposal amounts · PeoplePerHour Help: How many proposals can I send in a month? · PeoplePerHour Help: New Proposal Listings
REST
Call send_proposal from a script
curl
curl https://cotlet.dev/api/v1/peopleperhour/send_proposal \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"project_id":"pj_48213","brief":"I will design the landing page in Figma from your ready copy and hand over the files, with two rounds of changes.","price":450,"delivery_days":7,"deposit_percent":50}' Example response
{
"proposal_id": "pp_90412",
"project_id": "pj_48213",
"status": "pending",
"price": 450,
"delivery_days": 7,
"deposit_percent": 20,
"workstream_id": "ws_7731",
"sent_at": "2026-10-10T09:30:00Z"
} MCP: add https://cotlet.dev/mcp/v1 with the same key; the tool is peopleperhour_send_proposal. Example data.
Schedule it in n8n, Make, Zapier or cronTools
PeoplePerHour tools this automation uses
| Tool | Parameters |
|---|---|
| get_project | project_id |
| send_proposal | project_id, brief, price, delivery_days, deposit_percent |
| list_proposals | status, limit, cursor |
| cancel_proposal | proposal_id |
Frequently asked questions
Does PeoplePerHour allow automated proposals?
Its terms of website use ban crawling, scraping and auto-responders, and PeoplePerHour can deactivate accounts. In March 2024 it also stopped giving free first proposals because bots were sniping new projects. Keep the confirmation on so you read every proposal before it goes out.
Give your agent access to PeoplePerHour.
Free 7-day trial with 5,000 credits, no card needed. Cotlet is independent and not affiliated with PeoplePerHour.