Retire Craigslist listings when an Airtable row closes

When a row in your Airtable inventory flips to sold, leased, or filled, take the Craigslist post down and recap the run in Slack.

Agentic Task
AirtableCraigslistSlackOperationsData SyncNotifications & Alerts
PromptCreate

Build me an agent workflow that retires Craigslist postings when the matching row in my Airtable inventory table moves into a closed status, and posts a recap to Slack.

Trigger: Airtable poll on new_or_updated_record against my inventory base and table. Let me pick the base, table, and the status field at setup. Also let me list which status values count as closed (for example sold, rented, leased, filled, hired, closed). The workflow should run on every fire but only do real work when the row's status field actually moved into one of those closed values. If the status did not change into a closed value, exit quietly.

On a real close, do this:

1. Read the Airtable row. Grab the Craigslist posting ID from a column I configure at setup (default name: Craigslist Posting ID). Also capture a human label for the row, like the listing title or the row's primary field, to use in the Slack message.

2. If the row has no Craigslist posting ID, skip the Craigslist calls entirely and send a one-line Slack note to the configured channel saying which Airtable row closed and that no Craigslist post was linked. Then stop.

3. Otherwise, call Craigslist Get Posting Status to confirm the post is still live. If it is active, call Craigslist Delete Posting to take it down. If it is already deleted, expired, pending, or removed, skip the delete but keep going so we still send a recap.

4. Call Craigslist Get Single Posting Stats for that posting to pull lifetime impressions, views, contacts, shares, and favorites. Use a date range wide enough to cover the post's full life (post creation date through today). Also compute how many days the posting ran.

5. Send a Slack message via Send a Message to the channel I pick at setup. The message should include: which Airtable row closed (label + link if available), which Craigslist posting was retired (ID and whether it was actively deleted or was already inactive), the lifetime engagement totals (impressions, views, contacts, shares, favorites), and how many days the posting ran.

Setup inputs I want to provide: the Airtable base and table, the status field, the list of status values that count as closed, the Craigslist posting ID column name, and the Slack channel for recaps. Use sensible defaults where you can.

Failure handling: if any Craigslist call errors out, do not silently swallow it. Still post a Slack message to the same channel naming the Airtable row that closed and what failed, so the team can clean up manually.

Integrations and operations to use: Airtable List Records (to read the closed row's full fields), Craigslist Get Posting Status, Craigslist Delete Posting, Craigslist Get Single Posting Stats, Slack Send a Message.

What does this prompt do?

  • Watches your Airtable inventory table for rows that move into a closed status like sold, leased, rented, or filled.
  • Takes the matching Craigslist posting down the moment the row closes so buyers stop calling about something that is gone.
  • Sends a Slack recap to your channel of choice with lifetime views, contacts, shares, favorites, and how many days the post ran.
  • If the listing is already inactive or the row has no Craigslist post ID, it still drops a one-line note in the same channel so nothing goes silent.

What do I need to use this?

  • An Airtable base with an inventory table that has a status column and a column holding the Craigslist posting ID.
  • A connected Craigslist account that owns the postings you want to retire.
  • A Slack workspace and the channel where you want the recap posted.

How can I customize it?

  • Decide which status values count as closed. Car dealers usually pick sold, landlords pick leased or rented, recruiters pick filled or hired.
  • Choose which Slack channel gets the recap. A private ops channel works well when listings are sensitive.
  • Tweak what the recap message includes, like which engagement totals to show or whether to tag a teammate who owned the listing.

FAQs

Will this work if my team uses a different word for closed, like rented or filled?
Yes. You tell the workflow which status values in your Airtable count as a close, and it only acts when a row moves into one of those values.
What happens if the Craigslist listing already expired or was taken down manually?
It skips the takedown and still posts a short note in Slack so you have a clean record that the row was processed.
What if the Airtable row has no Craigslist posting ID?
Same idea. It posts a quick note in Slack pointing at the closed row and moves on, so nothing fails silently.
Where do the engagement totals in the Slack recap come from?
Straight from Craigslist for that specific posting. The recap pulls lifetime impressions, views, contacts, shares, and favorites.
Can I point this at more than one Airtable table?
Each copy of the workflow watches one base and one table. If you have separate inventory tables, set up one workflow per table and pick the right Slack channel for each.

Related templates

Call overdue Xero customers with an AI collections agent

Every weekday at 10am, an AI voice agent phones your most overdue Xero accounts, logs what each customer promised, and reports back to finance in Slack.

LiveKit
Xero
Deepgram
+2
Agentic Task
Win back LiveChat visitors whose chats went unanswered

Every couple of hours we find the chats your team never answered, email those visitors a real reply, and hand the sensitive ones to a support lead.

LiveChat
Gmail
Slack
Agentic Task
Chat quality review board for LiveChat support leads

Score last week's finished live chats against one rubric, let an AI grader draft the notes with quotes, and send coaching straight to the agent.

LiveChat
Slack
General Input Database
App
Win back no-show and cancelled appointments every morning

Every weekday morning, every appointment that fell through yesterday gets a personal text or email inviting them to rebook, plus a task for the right rep.

LeadConnector
Google Sheets
Slack
Agentic Task
Live Loop returns analytics with product-level drill-down

Pick any date range up to 120 days and see return volume, refund versus exchange mix, and the products behind every number, recalculated each time you open it.

Loop Returns
Google Sheets
Slack
App
Newsletter pre-flight and approval board for Mailjet sends

Every newsletter gets read, checked and signed off in one place, so nothing goes out with a broken link or a half-filled greeting.

Mailjet
Slack
General Input Database
App

Stop chasing dead Craigslist listings.

Connect Airtable, Craigslist, and Slack once, and Geni takes each post down the moment your inventory closes.