Skip to main content

💬 Never Miss a Lead Again: Introducing the Sortlist AI DM Concierge

Build your Sortlist AI DM Concierge to handle your Direct Message for you.

Written by Thibaut Vanderhofstadt

Sortlist AI DM Concierge (Manual AI Setup with Zapier + Slack)

Qualify and reply to your Sortlist leads automatically with your own AI Sales Assistant.

🧩 Why this guide exists

The shared Zapier template saves your connections (Sortlist, Slack, etc.)
but can’t store your AI prompts or data mapping — these must be added manually.

This step-by-step tutorial shows you exactly how to rebuild and customize the AI steps so the automation understands the right data, runs correctly, and produces quality replies.


🎥 Before you start

You’ll follow this guide with a Loom walkthrough.
We’ll show you each click visually — no coding needed.
Estimated setup time: 15 minutes.

✅ You’ll need

  • A Zapier account

  • Access to your Sortlist provider account

  • Your Slack workspace (or Teams, Discord, etc.)

  • Your Sortlist AI DM Concierge Zap template link (provided by Sortlist)

  • A Calendly link or meeting URL (optional)


🚀 Step 1 – Open the Sortlist AI DM Concierge Zap

  1. Click the template link → “Try this Zap

  2. Connect your Sortlist accounts when prompted.

  3. You’ll see a few preconfigured steps:

    • Trigger: New Direct Message Received (Sortlist) | Connect your account

    • Action: ChatGPT (OpenAI) | Connect your API Key that you can create here: https://platform.openai.com/api-keys

    • Formatter by Zapier (see video)

    • AI By Zapier (see video)

    • And Slack notification (empty message body) (see video)


🧠 Step 2 – Add your first AI step (Lead Qualification)

  1. Between the Sortlist trigger and Slack, click ➕

  2. Choose AI by Zapier → Generate Text

  3. In the “Prompt” field, paste this entire block 👇


🟢 Prompt for Lead Qualification (to Copy-Paste)

You are an expert in inbound lead qualification for B2B service agencies.  

Goal: Analyse the message content received from the direct_message_received trigger and classify the lead into one of three buckets.

Buckets:
- High qualitative lead: clear business need, budget or urgency indicators, relevant service request, coherent company details, professional tone, valid phone number & professional email.
- Needs more insight: relevant service need but missing clarity, context, or authority to decide; might require a discovery call.
- Poor lead (disqualify): spam, irrelevant request, student/research inquiry, unclear or no service need, or individual consumer request.

Scoring logic for confidence_score (integer 0–100):
- Start from 50.
- +20 if the message clearly expresses a concrete need, budget, or urgency.
- +15 if company and contact info appear professional or coherent.
- +10 if tone is business-oriented and matches the requested expertise.
- −10 if key information is missing (budget, scope, timing).
- −15 if contact details look unprofessional or non-business.
Clamp between 0 and 100.

Tone: Analytical, not promotional.

Output strictly in one line using semicolon (;) as the separator: classification; confidence_score; reasoning; recommended_next_action

Example output: High qualitative; 92; The message shows a clear project request with timing and relevant expertise; Schedule a qualification call to confirm details and budget.

Message to analyse: {{message}}

Context: Company: {{company__name}}
Website: {{company__website}}
Expertise requested: {{expertise}}
Location: {{location}}
Contact First Name: {{contacts[]first_name}}
Contact Job Title: {{contacts[]job_title}}
LinkedIn URL: {{contacts[]linkedin_url}}
Phone validation status: {{contacts[]phone_validation_status}} Professional email: {{contacts[]professional_email}}
  1. Map the data in the prompt as shown in the video.

  2. Test it → you should get an output like:

    High qualitative; 92; The message shows a clear project request...; Schedule a qualification call.

🧩 Step 3 – Split the output into usable fields

  1. Add a Formatter by Zapier → Text → Split Text step.

  2. Input: the output from the AI step above.

  3. Separator: ; (semicolon)

  4. Check “Split into Separate Fields”.

This gives you 4 variables:

  1. classification

  2. confidence_score

  3. reasoning

  4. recommended_next_action


💬 Step 4 – Add your second AI step (Write SDR Reply)

  1. Click ➕ → AI by Zapier → Generate Text

  2. In the “Prompt” field, paste this full prompt 👇

🟣 Prompt for SDR Reply (to Copy-Paste)

You are a senior inbound SDR at a digital agency replying to an inbound lead received via Sortlist.  

Goal: Write a short, natural, human-sounding email reply (<100 words) optimized for conversion and efficiency.
Engage and convert high or mid-quality leads into short discovery calls. Qualify uncertain leads with curiosity and empathy.
Politely disengage irrelevant leads while maintaining warmth. Protect your time and prioritize valuable leads.

If classification is missing, default to "Needs more insight".

Inputs:
- Classification: {{output__Item 1}}
- Confidence: {{output__Item 2}}
- Reasoning: {{output__Item 3}}
- Recommended action: {{output__Item 4}}
- Message: {{message}}

- Contact First Name: {{contacts[]first_name}}
- Company Name: {{company__name}}
- Expertise Area: {{expertise}}
- Meeting Link: https://calendly.com/your-link

Behavior:
- High qualitative → personalize and invite to 15-min call.
- Needs more insight → ask one clarifying question, propose call.
- Poor lead → thank politely, share resource link, no call.

Tone: professional, friendly, efficient.
Use first name once, avoid robotic phrases.

Return plain text only.

Output: only the final message, no markdown, no metadata.
  1. Map the data field like in the video

  2. For inputs, use the outputs from the previous Formatter step.


📨 Step 5 – Send everything to Slack

  1. Add Slack → Send Message to Channel

  2. In “Message Text”, paste:

:incoming_envelope: *New Direct Message received:*

• *Classification:* `{{output__Item 1}}`
• *Confidence:* `{{output__Item 2}}/100`
• *Reasoning:* `{{output__Item 3}}`

*Lead:* `{{company__name}} ({{location}})`
*Contact:* `{{contacts[]first_name}} {{contacts[]last_name}}` · <mailto:{{contacts[]email}}|Email> · `{{contacts[]phone}}`
*Job Title:* `{{contacts[]job_title}}`
*Expertise:* `{{expertise}}`
*Message:* “{{message}}”

*Actions:* `{{output__Item 4}}`
👉 *Links:* <{{opportunity_link}}|Open in Sortlist>

✨ *Answer to Copy-Paste:*
{{output_from_AI_Email_Generator}}

🧪 Step 6 – Test your workflow

  • Go to Sortlist → send a test Direct Message from a project.

  • In Zapier → click “Test Trigger” → ensure the Sortlist message loads.

  • Run the full Zap test → check Slack message output.

Expected Slack output:

✅ classification, score, reasoning, next action, and ready-to-send reply.


🔁 Step 7 – Turn on your Zap (Publish)

Once you’ve tested both AI steps and Slack output:

  1. Turn on the Zap.

  2. Every new inbound message will now:

    • Trigger instant AI classification

    • Generate a smart SDR reply

    • Send it to your Slack channel


💡 Troubleshooting Tips

Problem

Fix

AI step output is empty

Ensure all Sortlist fields are correctly mapped

Output shows JSON or extra text

Check you copied the full prompt (no missing sections)

Slack message looks messy

Use code block (text) formatting to preserve layout

Slow response

Upgrade to Zapier Pro or use OpenAI connector (faster requests)


🎉 You’re done!

Your Sortlist AI DM Concierge is live 🎊

You now have a 24/7 assistant that:

  • Reads and qualifies each inbound message

  • Suggests an actionable SDR reply

  • Sends it to your team instantly

Did this answer your question?