Turn closed-won Close deals into a full customer onboarding handoff

When a Close deal hits closed-won, spin up an Asana onboarding project, draft a welcome email, and post a Slack handoff brief so customer success picks up from day one.

Agentic Task
CloseAsanaGmailSlack BotSalesOperationsOnboarding AutomationNotifications & AlertsEmail Automation

Build me an agent workflow that turns every newly closed-won opportunity in Close into a full sales-to-customer-success handoff, so deals never go cold the moment the contract is signed.

Trigger: run on a cron schedule every 30 minutes. Track the timestamp of the last successful run so each run only processes deals that became won since then.

On each run, use Close List Opportunities filtered by status_type = won and date_updated greater than the last run timestamp to find freshly won deals. For each won opportunity, call Close Get Lead to pull the company, primary contacts, deal value, owner, and the relevant custom fields. Skip any deal that already has an onboarding project so reruns are safe.

For each freshly won deal, do three things:

1. In Asana, use Create a Project to spin up a dedicated customer onboarding project named after the customer in the onboarding team or workspace. Then use Create a Task and Create a Subtask to populate it with a standard kickoff task list: kickoff call, contract and invoice handoff, technical setup, success metrics review, and 30-day check-in. Use judgement to tailor task count and subtask depth to deal size: a small deal gets the lean version, a large enterprise deal gets a fuller plan with more subtasks and owners.

2. In Gmail, use Create a Draft to draft a personalized welcome email addressed to the primary contact. The email should be written in the deal owner's voice, reference what was actually discussed in the deal (use the lead notes, opportunity description, and custom fields you pulled), and never auto-send. Leave it as a draft so the AE or CSM can review and send.

3. In Slack, use the Slack Bot Send a Message action to post a single threaded handoff brief in the #customer-success channel. Summarize the deal in plain language: account name, deal value, deal owner, primary contacts, and the most important context the CS team needs to know. Include direct links to the new Asana project and the Gmail draft so the CS team has one handoff brief instead of digging through Close.

The whole point of this workflow is judgement, not a raw dump. Decide which tasks actually fit the deal, write the email like a human who was in the room, and produce a Slack brief that a CSM can act on in 30 seconds. If a deal is missing the context needed for a good handoff (no primary contact, no notes, etc.), still create the Asana project and Slack post but flag the gaps in the Slack brief so the team can fill them in.

Additional information

What does this prompt do?
  • Checks Close every 30 minutes for opportunities that just moved to closed-won, so customer success hears about a new customer the moment the contract is signed.
  • Creates a dedicated customer onboarding project in Asana with a tailored kickoff task list (kickoff call, contract and invoice handoff, technical setup, success metrics, 30-day check-in) and adjusts task depth to the size of the deal.
  • Drafts a personalized welcome email in Gmail addressed to the primary contact, referencing what was actually discussed in the deal so the rep or CSM can review and send.
  • Posts a single threaded handoff brief in your customer success Slack channel with account, value, owner, contacts, key context, and direct links to the new Asana project and the Gmail draft.
What do I need to use this?
  • A Close account with your normal closed-won statuses configured.
  • An Asana workspace or team where customer onboarding projects should live.
  • A Gmail account that the welcome emails should be drafted from.
  • A Slack workspace and a customer success channel where the handoff brief should be posted.
How can I customize it?
  • Change the standard kickoff task list (which tasks always run, which ones only show up for larger deals) and how subtasks are nested.
  • Tweak the voice and template the agent uses when drafting the welcome email so it matches each rep's style.
  • Pick a different Slack channel, route the brief to the deal owner as a DM, or change how often the check runs.

Frequently asked questions

Does this work if we use custom won statuses in Close?
Yes. Close groups every custom won status under the same won status type, so any deal that reaches a won state is picked up, no matter what your team named it.
Will the welcome email send automatically?
No. The agent only creates a draft in Gmail. The deal owner or CSM still reviews, edits, and sends it, so nothing goes out in the rep's voice without their approval.
Can the handoff post go to a different Slack channel or person?
Yes. Point it at any channel the bot is in, or have it DM the deal owner instead. The brief format stays the same.
What stops it from creating duplicate Asana projects for the same deal?
Before creating anything, the agent checks for an existing onboarding project tied to that customer. Deals that have already been handed off are skipped on later runs.
How fast does it react to a newly closed-won deal?
By default it checks Close every 30 minutes, so handoff happens within half an hour of marking a deal won. You can dial it up or down on the schedule.

Stop letting closed-won deals go cold.

Connect Close, Asana, Gmail, and Slack once. Every won deal gets a full customer success handoff within 30 minutes, no more sales-to-CS dropoff.