SearchOps + ClickUp
SearchOps decides what will move each client this week; your team does it in ClickUp, and a Map Pack loss arrives as a recovery task with the reasons attached.
Every Monday SearchOps plans each client's Business Profile work for the week from their own data: reviews waiting on a reply, a quiet posting week, thin photos, hours to set before a bank holiday. If your delivery team plans in ClickUp, each task lands in the client's list with its steps, a Friday due date and a link back, and closes itself when SearchOps sees on Google that the work is done. A confirmed Map Pack loss turns into a recovery task explaining why rivals are winning. The same recipes work for Asana, Trello, monday.com and Notion.
The plan is written for you
Tasks come from each client's own data, not a generic local SEO checklist.
One place to work
Account managers stop checking two boards: SearchOps work appears in the client's ClickUp list.
Recovery with the reasons
A confirmed Map Pack loss becomes a task that says what the top three have that the client doesn't.
Closed loop
When a task is done, ticked off in SearchOps or seen on Google, the ClickUp task closes too.
Recipes
What agencies build with ClickUp
The week's plan, written from each client's data
task.plannedDelivery teams that plan in ClickUp
- 1Relay fed task.planned; route on location.business_name to each client's list.
- 2ClickUp: Create Task with name {{data.title}}, description {{data.description}}, the steps from {{data.steps}}, {{data.done_when}} and {{data.task_url}}, due date {{data.due_on}} (the Friday of the plan week), priority from {{data.priority}}.
- 3Store {{data.task_id}} in a custom field so the next recipe can close it.
Map Pack loss becomes a recovery task with the reasons
geo_grid.movedAccount managers who need to act, not just know
- 1Relay fed geo_grid.moved, filtered to data.direction equals down.
- 2HTTP GET /api/v1/locations/{id}/geo-grid/insights with your API key for the gaps: categories the top three use, review counts against theirs, listing details missing.
- 3ClickUp: Create Task "{{data.keyword}} recovery" with the gaps as a checklist and {{data.keyword_url}}.
Close it when the work is done
task.completed- 1Relay fed task.completed. It fires when someone ticks the task off in SearchOps ({{data.closed_by}} is person) and when SearchOps sees on Google that the work is done (searchops).
- 2Find the ClickUp task whose custom field matches {{data.task_id}} and set it to complete.
Setup
Connect ClickUp, step by step
- 1
Start a relay
Create a Zap with Webhooks by Zapier Catch Hook (or a Make or n8n webhook) and copy its URL.
- 2
Add the webhook in SearchOps
In SearchOps, open Developers, then Webhooks, and choose Add webhook. Paste the URL from the relay (tick task.planned, task.completed and geo_grid.moved), tick the events you want and, for a client-specific workflow, pick that client's locations. Save, and copy the signing secret somewhere safe: it is shown once.
- 3
Send a test event
Back in SearchOps, press Send test on the endpoint. The test event has the same envelope as real events but a short sample body. To map review or scan fields, wait for a real event of that type or replay one from Deliveries, then use that as your sample.
- 4
Add Create Task
Add ClickUp, Create Task, choose the workspace, space and list, and map the fields below. Use Paths or a Router on location.business_name for one list per client.
- 5
Add the recovery branch
For geo_grid.moved, add an HTTP or API Request step to /api/v1/locations/{id}/geo-grid/insights with your SearchOps API key as a Bearer header, then put its findings in the task's checklist.
Field reference
The fields you'll map most
From the SearchOps webhook payload. Every event also carries type, id, created_at and the location's id and business name.
| Field | Use it for |
|---|---|
| data.title / data.description | Task name and why it is on the plan |
| data.steps / data.done_when | How to do it (a list) and how it gets finished |
| data.due_on / data.priority | Due date (the Friday of the plan week, YYYY-MM-DD) and priority |
| data.task_url / data.task_id | Link back to SearchOps, and the id to close it later |
| data.added_by / data.closed_by | Who raised it, and on task.completed whether a person ticked it off or SearchOps saw it done |
| data.keyword / data.points_lost / data.keyword_url | For recovery tasks from geo_grid.moved |
| location.business_name | Which client list it belongs in |
What you need
- SearchOps Pro, Agency or Enterprise. Webhooks and the API are included; an owner or admin sets them up.
- A relay: Zapier (paid plan for webhooks), Make or n8n.
- Asana, Trello, monday.com and Notion: the same recipes with their Create Task, Create Card, Create an Item or Create Data Source Item action.
Steps checked against the vendor's own documentation on 12 October 2026. Tools change their menus often; if a step no longer matches, the help article has the latest.
Works well alongside
FAQ
SearchOps and ClickUp
Where do SearchOps tasks come from?
From each client's own data: review replies, review pace, posts, photos, the description, services, holiday hours, audit fixes and listing changes, plus anything your team or the agent adds. Each Monday the week's plan is sized to the pace you choose, and each task says why it matters, how to do it and links to where to do it.
Does this work with Asana, Trello, monday.com or Notion?
Yes. Use the same relay and swap the last step for Asana Create Task, Trello Create Card, monday.com Create an Item or Notion Create Data Source Item.
Will completing the task in ClickUp close it in SearchOps?
Most tasks close themselves in SearchOps once Google shows the work done (a reply posted, holiday hours set, a new photo), and then task.completed closes the ClickUp copy. For the rest, tick it off in SearchOps, or from ChatGPT or Claude through the MCP server; the API itself is read-only.