Hiring

Invite to an interview

hiring_invite_to_interview · Changes data · Markdown

Emails an applicant a link to book an interview on one of the calendar's meeting types, and can move them to a stage.

$0.05 a call

From your agent’s balance. A call that fails costs nothing.

An example

Invite Maria to book a workshop interview, and move her to Interview.

Your agent callshiring_invite_to_interview$0.05 a call

The example business is Halverson Cycle & Repair, a bike shop with a repair workshop in Portland, Oregon. The reply is the one the tool really gives.

With these arguments
{
  "applicant_id": 4101,
  "meeting_type": "workshop-interview",
  "move_to": "Interview"
}
What comes back
{
  "sent_to": "maria.santos@example.com",
  "booking_url": "https://cncto.co/book/halverson-cycle/workshop-interview",
  "applicant": {
    "applicant_id": 4101,
    "job": "bike-mechanic",
    "name": "Maria Santos",
    "email": "maria.santos@example.com",
    "phone": "+1 503 555 0130",
    "stage": "Interview",
    "rating": null,
    "source": "careers",
    "applied_at": "2026-10-14T08:00:00+00:00",
    "updated_at": "2026-10-14T08:00:00+00:00",
    "has_resume": true,
    "flags": [],
    "screened": null,
    "stage_since": "2026-10-14T08:00:00+00:00",
    "stages_reached": [
      "Applied",
      "Interview"
    ],
    "assessments": [],
    "interview": {
      "meeting_type": "workshop-interview",
      "title": "Workshop interview",
      "invited_at": "2026-10-14T08:00:00+00:00",
      "status": "invited",
      "start": null
    },
    "next_step": {
      "step": "book_interview",
      "label": "Invited to book",
      "waiting_on": "candidate",
      "at": "2026-10-17T08:00:00+00:00",
      "overdue": false,
      "about": "Workshop interview"
    },
    "match_score": null,
    "screening_summary": null,
    "passed_filter_at": null,
    "risk": "high",
    "signals": {
      "risk": "high",
      "high": [
        {
          "code": "shared_phone",
          "applicant_ids": [
            2
          ],
          "text": "The same phone number is on 1 other application under another email address."
        }
      ],
      "minor": [],
      "authentic": [
        {
          "code": "name_in_email",
          "text": "Their name is in their email address."
        }
      ],
      "checked_at": "2026-10-14T08:00:00+00:00"
    },
    "spam": false,
    "links": [],
    "cover_letter": "I have worked in bike shops for six years, the last two also building wheels for a cyclocross team.",
    "answers": [
      {
        "question": "How many years have you worked as a bike mechanic?",
        "answer": 6
      },
      {
        "question": "Can you lift 50 lb?",
        "answer": true
      }
    ],
    "screening": null,
    "notes": [],
    "history": [
      {
        "at": "2026-10-14T08:00:00+00:00",
        "change": "Applied"
      },
      {
        "at": "2026-10-14T08:00:00+00:00",
        "change": "Invited to book Workshop interview",
        "by": "Pip"
      }
    ],
    "interview_invite": {
      "meeting_type": "workshop-interview",
      "sent_at": "2026-10-14T08:00:00+00:00"
    },
    "resume": {
      "file_id": "cb762e55-3052-4bc4-917e-d823dd88b1a1",
      "name": "Résumé Maria Santos.pdf",
      "content_type": "application/pdf",
      "size": "1.1 KB",
      "size_bytes": 1153,
      "sha256": "6b65acac1ceea7ed3492428300b2b14437c63d6d3c622e96f0d76366e03b0fb9",
      "created_at": "2026-10-14T08:00:00+00:00",
      "download_url": "https://cncto.co/d/cb762e55-3052-4bc4-917e-d823dd88b1a1?t=eyJmIjoiY2I3NjJlNTUtMzA1Mi00YmM0LTkxN2UtZDgyM2RkODhiMWExIiwiZXhwIjoxNzkyNTAyMjA4fQ:1xInEO:RsGKYG8tWzYP-vPvoYvjzLdQG1bxtPfRIGd0txtF_7U",
      "link_expires_in_hours": 24
    }
  }
}

Use it when

A candidate should book an interview.

What it does

Email an applicant a link to book an interview on one of your calendar's meeting types (calendar area), in the business's name. When they book, it shows in their history. Optionally move them to a stage such as Interview.

What comes back

sent_to, the booking_url sent, and the applicant as they now are. Every reply also carries cost_usd and balance_usd.

Inputs

NameTypeWhat it is
applicant_idRequiredintegerAt least 1.
meeting_typeRequiredstringThe meeting type's slug from calendar_list_meeting_types. 1 to 60 characters.
messagestringYour own words; a short invitation when left out. Up to 5,000 characters.
move_tostringUp to 60 characters.

The call

Over MCP, call hiring_invite_to_interview on https://api.conecto.chat/mcp/hiring. Over REST:

Terminal
curl -X POST https://api.conecto.chat/v1/tools/hiring_invite_to_interview \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"applicant_id":4101,"meeting_type":"workshop-interview","move_to":"Interview"}'

When it refuses

A refused call costs nothing and says what to do next.

CodeWhenWhat to do
not_found404No applicant of the business has that applicant_id.Find them with hiring_list_applicants.
payment_required402The application came in while the balance could not pay its fee, so it is held.Top up; the application opens once its fee is paid.
invalid_input400The stage is not one of the job's stages.Use a stage the message lists.
send_failed502The email could not be sent; nothing was charged.Call again in a moment.
not_found404No meeting type has that slug.Use one from calendar_list_meeting_types.
not_bookable409The meeting type is not taking bookings.Switch it on with calendar_save_meeting_type.

Give this to your agent.

Set up Conecto from https://conecto.chat/SKILL.md