Meeting Management

Meeting Management API

The Meeting Management API provides comprehensive meeting scheduling, booking, and management capabilities. This powerful API allows you to create meetings, manage bookings, and integrate with calendar systems for seamless scheduling workflows.

Overview

Meeting Management consists of multiple interconnected features:

  • Meeting Creation & Scheduling: Create and schedule meetings with participants
  • Booking System: Allow clients to book available time slots
  • Calendar Integration: Sync with popular calendar systems
  • Participant Management: Handle attendees and notifications
  • Meeting Status: Track completion and outcomes
  • Bulk Operations: Manage multiple meetings efficiently

Main Endpoints Overview

MethodEndpointDescription
GET/api/public-v1/meeting-listGet all meetings
GET/api/public-v1/meeting/details/{uuid}Get meeting details
GET/api/public-v1/meeting/{uuid}/booking-listGet booking list for a meeting
GET/api/public-v1/meeting/{uuid}/booking/details/{id}Get specific booking details
POST/api/public-v1/meeting/{uuid}/bookingBook a meeting slot

Get All Meetings

Retrieve a list of all meetings in your system.

GET /api/public-v1/meeting-list

Request Headers

X-Secret-Key: your-secret-key-here
Content-Type: application/json

Query Parameters

ParameterTypeRequiredDescription
pageintegerNoPage number for pagination (default: 1)
limitintegerNoNumber of meetings per page (default: 50)
statusstringNoFilter by status (upcoming, completed, cancelled)
typestringNoFilter by type (sales, support, general)
participantstringNoFilter by participant email
date_fromdateNoFilter meetings from date (YYYY-MM-DD)
date_todateNoFilter meetings to date (YYYY-MM-DD)
sortstringNoSort field (start_time, created_at, title)
orderstringNoSort order (asc or desc)

Example Request

curl -X GET "https://public-api.taskip.net/api/public-v1/meeting-list?status=upcoming&limit=20" \
  -H "X-Secret-Key: your-secret-key-here" \
  -H "Content-Type: application/json"

Example Response

{
  "data": [
    {
      "id": 1,
      "uuid": "meeting_abc123def456",
      "user_id": 12,
      "host": {
        "id": 12,
        "name": "Jane Smith",
        "email": "jane@taskip.com"
      },
      "created_by": {
        "id": 12,
        "name": "Jane Smith",
        "email": "jane@taskip.com"
      },
      "title": "Client Discovery Call",
      "description": "Initial discovery call with potential client",
      "duration": 60,
      "method": "online",
      "phone_option": false,
      "phone": null,
      "location": "Google Meet",
      "status": "active",
      "slug": "client-discovery-call",
      "applicable_from": "2024-01-01",
      "applicable_to": "2024-12-31",
      "reminder": true,
      "booking_status": "open",
      "timezone": "America/New_York",
      "booking_count": 3,
      "meeting_integration_id": null,
      "allow_guest": true,
      "logo": {
        "id": 45,
        "original_url": "https://storage.taskip.net/logos/meeting-logo.png"
      }
    }
  ],
  "links": {
    "first": "https://public-api.taskip.net/api/public-v1/meeting-list?page=1",
    "last": "https://public-api.taskip.net/api/public-v1/meeting-list?page=2",
    "prev": null,
    "next": "https://public-api.taskip.net/api/public-v1/meeting-list?page=2"
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 2,
    "path": "https://public-api.taskip.net/api/public-v1/meeting-list",
    "per_page": 15,
    "to": 15,
    "total": 25
  }
}

Get Meeting Details

Retrieve detailed information about a specific meeting.

GET /api/public-v1/meeting/details/{uuid}

Path Parameters

ParameterTypeRequiredDescription
uuidstringYesMeeting UUID

Example Request

curl -X GET "https://public-api.taskip.net/api/public-v1/meeting/details/meeting-abc123def456" \
  -H "X-Secret-Key: your-secret-key-here" \
  -H "Content-Type: application/json"

Example Response

{
  "id": 1,
  "uuid": "meeting_abc123def456",
  "user_id": 12,
  "host": {
    "id": 12,
    "name": "Jane Smith",
    "email": "jane@taskip.com"
  },
  "allowed_team_members": [
    {
      "id": 15,
      "user_id": 15,
      "name": "Mike Wilson",
      "email": "mike@taskip.com"
    },
    {
      "id": 18,
      "user_id": 18,
      "name": "Sarah Johnson",
      "email": "sarah@taskip.com"
    }
  ],
  "created_by": {
    "id": 12,
    "name": "Jane Smith",
    "email": "jane@taskip.com"
  },
  "title": "Client Discovery Call",
  "description": "Initial discovery call with potential client to understand requirements",
  "duration": 60,
  "method": "online",
  "phone_option": false,
  "phone": null,
  "location": "Google Meet",
  "status": "active",
  "slug": "client-discovery-call",
  "availability": [
    {
      "id": 1,
      "meeting_uuid": "meeting_abc123def456",
      "day": "monday",
      "status": "active",
      "times": [
        {
          "id": 1,
          "meetings_day_id": 1,
          "time_slot_start": "09:00",
          "time_slot_end": "17:00"
        }
      ]
    },
    {
      "id": 2,
      "meeting_uuid": "meeting_abc123def456",
      "day": "tuesday",
      "status": "active",
      "times": [
        {
          "id": 2,
          "meetings_day_id": 2,
          "time_slot_start": "09:00",
          "time_slot_end": "17:00"
        }
      ]
    }
  ],
  "form": {
    "id": 1,
    "meeting_id": 1,
    "fields": [
      {
        "label": "Full Name",
        "type": "text",
        "required": true
      },
      {
        "label": "Email",
        "type": "email",
        "required": true
      },
      {
        "label": "Company",
        "type": "text",
        "required": false
      }
    ]
  },
  "customise": {
    "id": 1,
    "meeting_id": 1,
    "success_message": "Thank you for booking! We'll send you a confirmation email shortly.",
    "button_text": "Book Meeting",
    "primary_color": "#2563eb"
  },
  "reminders": [
    {
      "id": 1,
      "meeting_id": 1,
      "type": "email",
      "time": 30,
      "time_unit": "minutes"
    },
    {
      "id": 2,
      "meeting_id": 1,
      "type": "email",
      "time": 24,
      "time_unit": "hours"
    }
  ],
  "booking_count": 3,
  "applicable_from": "2024-01-01",
  "applicable_to": "2024-12-31",
  "allow_guest": true,
  "meeting_integration_id": null,
  "logo": {
    "id": 45,
    "original_url": "https://storage.taskip.net/logos/meeting-logo.png"
  }
}

Get Meeting Booking List

Retrieve all bookings for a specific meeting.

GET /api/public-v1/meeting/{uuid}/booking-list

Path Parameters

ParameterTypeRequiredDescription
uuidstringYesMeeting UUID

Query Parameters

ParameterTypeRequiredDescription
pageintegerNoPage number for pagination (default: 1)
limitintegerNoNumber of bookings per page (default: 15)
searchstringNoSearch term for booking details
statusstringNoFilter by booking status (confirmed, pending, cancelled)
date_fromdateNoFilter bookings from date
date_todateNoFilter bookings to date

Example Request

curl -X GET "https://public-api.taskip.net/api/public-v1/meeting/meeting-abc123def456/booking-list?status=confirmed" \
  -H "X-Secret-Key: your-secret-key-here" \
  -H "Content-Type: application/json"

Example Response

{
  "data": [
    {
      "id": 1,
      "uuid": "booking_abc123def456",
      "cancel_reason": null,
      "meeting": {
        "id": 1,
        "uuid": "meeting_abc123def456",
        "user_id": 12,
        "host": {
          "id": 12,
          "name": "Jane Smith",
          "email": "jane@taskip.com"
        },
        "created_by": {
          "id": 12,
          "name": "Jane Smith",
          "email": "jane@taskip.com"
        },
        "title": "Client Discovery Call",
        "description": "Initial discovery call with potential client",
        "duration": 60,
        "method": "online",
        "phone_option": false,
        "phone": null,
        "location": "Google Meet",
        "status": "active",
        "slug": "client-discovery-call",
        "applicable_from": "2024-01-01",
        "applicable_to": "2024-12-31",
        "reminder": true,
        "booking_status": "open",
        "timezone": "America/New_York",
        "booking_count": 3,
        "meeting_integration_id": null,
        "allow_guest": true,
        "logo": {
          "id": 45,
          "original_url": "https://storage.taskip.net/logos/meeting-logo.png"
        }
      },
      "first_name": "John",
      "last_name": "Doe",
      "email": "john.doe@client.com",
      "booking_data": [
        {
          "label": "Company",
          "value": "Acme Corporation"
        },
        {
          "label": "Phone",
          "value": "+1-555-987-6543"
        },
        {
          "label": "Meeting Purpose",
          "value": "Discuss website redesign requirements"
        }
      ],
      "date": "30-Jan-2024",
      "country": "United States",
      "ip": "192.168.1.1",
      "browser": "Chrome",
      "os": "MacOS",
      "device": "Desktop",
      "created_at": "26-Jan-2024",
      "time_slot_start": "2:00 PM",
      "time_slot_end": "3:00 PM",
      "meeting_link": "https://meet.google.com/xyz-abc-def",
      "meeting_provider": "Google Meet",
      "timezone": "America/New_York",
      "is_over": false,
      "status": "confirmed"
    }
  ],
  "links": {
    "first": "https://public-api.taskip.net/api/public-v1/meeting/meeting_abc123def456/booking-list?page=1",
    "last": "https://public-api.taskip.net/api/public-v1/meeting/meeting_abc123def456/booking-list?page=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "path": "https://public-api.taskip.net/api/public-v1/meeting/meeting_abc123def456/booking-list",
    "per_page": 15,
    "to": 3,
    "total": 3,
    "search": null
  }
}

Get Booking Details

Retrieve detailed information about a specific booking.

GET /api/public-v1/meeting/{uuid}/booking/details/{id}

Path Parameters

ParameterTypeRequiredDescription
uuidstringYesMeeting UUID
idintegerYesBooking ID

Example Request

curl -X GET "https://public-api.taskip.net/api/public-v1/meeting/meeting-abc123def456/booking/details/1" \
  -H "X-Secret-Key: your-secret-key-here" \
  -H "Content-Type: application/json"

Example Response

{
  "data": {
    "id": 1,
    "uuid": "booking_abc123def456",
    "cancel_reason": null,
    "meeting": {
      "id": 1,
      "uuid": "meeting_abc123def456",
      "user_id": 12,
      "host": {
        "id": 12,
        "name": "Jane Smith",
        "email": "jane@taskip.com"
      },
      "created_by": {
        "id": 12,
        "name": "Jane Smith",
        "email": "jane@taskip.com"
      },
      "title": "Client Discovery Call",
      "description": "Initial discovery call with potential client",
      "duration": 60,
      "method": "online",
      "phone_option": false,
      "phone": null,
      "location": "Google Meet",
      "status": "active",
      "slug": "client-discovery-call",
      "applicable_from": "2024-01-01",
      "applicable_to": "2024-12-31",
      "reminder": true,
      "booking_status": "open",
      "timezone": "America/New_York",
      "booking_count": 3,
      "meeting_integration_id": null,
      "allow_guest": true,
      "logo": {
        "id": 45,
        "original_url": "https://storage.taskip.net/logos/meeting-logo.png"
      }
    },
    "first_name": "John",
    "last_name": "Doe",
    "email": "john.doe@client.com",
    "booking_data": [
      {
        "label": "Company",
        "value": "Acme Corporation"
      },
      {
        "label": "Phone",
        "value": "+1-555-987-6543"
      },
      {
        "label": "Meeting Purpose",
        "value": "Discuss website redesign requirements"
      }
    ],
    "date": "30-Jan-2024",
    "country": "United States",
    "ip": "192.168.1.1",
    "browser": "Chrome",
    "os": "MacOS",
    "device": "Desktop",
    "created_at": "26-Jan-2024",
    "time_slot_start": "2:00 PM",
    "time_slot_end": "3:00 PM",
    "meeting_link": "https://meet.google.com/xyz-abc-def",
    "meeting_provider": "Google Meet",
    "timezone": "America/New_York",
    "is_over": false,
    "status": "confirmed"
  },
  "availibility": [
    {
      "id": 1,
      "meeting_uuid": "meeting_abc123def456",
      "day": "monday",
      "status": "active",
      "times": [
        {
          "id": 1,
          "meetings_day_id": 1,
          "time_slot_start": "09:00",
          "time_slot_end": "17:00"
        }
      ]
    },
    {
      "id": 2,
      "meeting_uuid": "meeting_abc123def456",
      "day": "tuesday",
      "status": "active",
      "times": [
        {
          "id": 2,
          "meetings_day_id": 2,
          "time_slot_start": "09:00",
          "time_slot_end": "17:00"
        }
      ]
    }
  ],
  "booking_data": {
    "company": "Acme Corporation",
    "phone": "+1-555-987-6543",
    "meeting_purpose": "Discuss website redesign requirements"
  }
}

Book a Meeting

Create a new booking for an available meeting slot.

POST /api/public-v1/meeting/{uuid}/booking

Path Parameters

ParameterTypeRequiredDescription
uuidstringYesMeeting UUID

Request Body

FieldTypeRequiredDescription
datestringYesBooking date (YYYY-MM-DD)
time_slot_startstringYesStart time (HH:MM)
time_slot_endstringYesEnd time (HH:MM)
booking_dataarrayYesArray of booking form data
timezonestringNoTimezone for the booking

Example Request

curl -X POST "https://public-api.taskip.net/api/public-v1/meeting/meeting-abc123def456/booking" \
  -H "X-Secret-Key: your-secret-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "date": "2024-02-15",
    "time_slot_start": "14:00",
    "time_slot_end": "15:00",
    "booking_data": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "john.doe@client.com",
      "company": "Acme Corporation",
      "phone": "+1-555-987-6543",
      "meeting_purpose": "Discuss website redesign project"
    },
    "timezone": "America/New_York"
  }'

Example Response

{
  "success_msg": "Thank you for booking! We'll send you a confirmation email shortly.",
  "data": {
    "meeting": {
      "id": 1,
      "uuid": "meeting_abc123def456",
      "title": "Client Discovery Call",
      "description": "Initial discovery call with potential client",
      "duration": 60,
      "method": "online",
      "location": "Google Meet",
      "timezone": "America/New_York",
      "host": {
        "id": 12,
        "name": "Jane Smith",
        "email": "jane@taskip.com"
      }
    },
    "user": {
      "first_name": "John",
      "last_name": "Doe",
      "email": "john.doe@client.com"
    },
    "time_slot_start": "14:00",
    "time_slot_end": "15:00",
    "date": "2024-02-15",
    "timezone": "America/New_York",
    "allow_guest": true
  }
}

📅

Meeting Integration: Meeting Management integrates with Google Meet and Zoom for seamless video conferencing and automatic meeting link generation.

Time Zones: Always specify time zones when scheduling meetings to avoid confusion. The system supports automatic time zone conversion for participants.