Retire Craigslist listings when an Airtable row closes

By General Input

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

Integrations

  • Airtable
  • Craigslist
  • Slack

Type

Agentic Task

Categories

  • Operations

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.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredChat quality review board for LiveChat support leadsWin back no-show and cancelled appointments every morningLive Loop returns analytics with product-level drill-downNewsletter pre-flight and approval board for Mailjet sendsTurn a prospect spreadsheet into personalized sequence enrollmentsMailjet email delivery lookup console for support teamsCatch feature flags that never got switched on in productionKajabi customer support console for member access fixes