How can we help?

Meetings commands

The meetings command lets you manage scheduling links (meetings), including durations, spots, available slots, and one-off links.

List meetings

This command shows scheduling links in your workspace. Use this when you want to inspect available meetings and basic metadata.

neetocal meetings list
neetocal meetings list --page 1 --page-size 10 [email protected] --search=consult

Optional flags:

  • --host-email - Filter by host email

  • --page - Page number

  • --page-size - Items per page

  • --search - Search meetings

  • --subdomain <name> - Target a specific logged-in workspace

  • --json - Return JSON envelope output

  • --quiet - Return raw payload only

  • --toon - Return TOON (token-optimized) output

Sample output:

SID      NAME                      KIND       SLUG                   DUR...   SPOT        DIS...
──────   ───────────────────────   ────────   ────────────────────   ──────   ─────────   ──────
c63...   Meeting with Oliver        one_o...   meet                   15       google...   No    
t2s...   Pair Programming           one_o...   pair-programming-...   240      google...   No    

Page 1 of 1 (2 total records)

  Show details: neetocal meetings show <sid>

Show a meeting

This command shows details for one meeting SID. Use this when you want to inspect a meeting's slug, duration, spot settings, and scheduling rules after finding its SID from meetings list.

neetocal meetings show abc123x

Required arguments:

  • <sid> - Meeting SID

Optional flags:

  • --subdomain <name> - Target a specific logged-in workspace

  • --json - Return JSON envelope output

  • --quiet - Return raw payload only

  • --toon - Return TOON (token-optimized) output

Sample output:

ID                             a1b2c3d4-e5f6-7890-abcd-ef1234567890
  SID                            abc123x
  NAME                           Meeting with Oliver
  SLUG                           meet
  DESCRIPTION                    Schedule a one-on-one meeting with Oliver.
  KIND                           one_on_one
  DURATION                       15
  DISABLED                       No
  SPOT IN PERSON LOCATION        -
  SPOT CUSTOM TEXT               -
  SPOT PHONE CALL NUMBER         -
  IS TEMPLATE                    No
  SCHEDULABLE RANGE TYPE         number_of_days_into_the_future
  SCHEDULABLE RANGE VALUE        60
  LEAD TIME                      240
  START TIME INCREMENT           30
  BEFORE BUFFER TIME             0
  AFTER BUFFER TIME              0
  CREATED AT                     2025-01-14T16:30:16.536Z
  UPDATED AT                     2025-06-25T04:18:48.812Z
  DELETED AT                     -
  IS MULTIPLE DURATIONS ALLOWED  No
  CONDITIONAL PRICING ENABLED    No
  IS EMAIL REMINDERS ENABLED     Yes
  IS SMS REMINDERS ENABLED       No
  ORGANIZATION ID                fccb028c-1d06-48d7-8ddc-5323373bbd8a
  RESCHEDULING LEAD TIME         0
  CANCELLATION LEAD TIME         0
  CHARGE LEAD TIME               2880
  BOOKING MODIFICATION ALLOWED   Yes
  CANCELLATION TOO LATE NOTICE   -
  CANCELLATION POLICY            -
  RESCHEDULING TOO LATE NOTICE   -
  PRE BOOKING ALLOWED            No
  ORIGINAL PRICE ENABLED         No
  ORIGINAL PRICE                 -
  LOCKED TIME ZONE               -
  SPOT                           google_meet
  IS MULTIPLE SPOTS ALLOWED      No
  FEES                           []
  TAXES                          []
  DURATIONS POSSIBLE             []
  HOSTS                          [{"email":"[email protected]","name":"Temp User"}]
  DURATIONS                      []
  SPOTS                          (1 items)

  List all meetings: neetocal meetings list
  Delete meeting: neetocal meetings delete abc123x

Create a meeting

This command creates a new scheduling link. Use this when you want to add a meeting from the terminal instead of the NeetoCal UI.

neetocal meetings create --name="Consultation" --slug=consult --kind=one_on_one --spot=google_meet --duration=15 [email protected]

Optional flags:

  • --description - Meeting description

  • --json-file - Path to JSON file with meeting data

  • --kind - Meeting kind

  • --name - Meeting name

  • --slug - Meeting slug

  • --spot - Meeting spot

  • --hosts - Comma-separated host emails

  • --duration - Meeting duration in minutes

  • --subdomain <name> - Target a specific logged-in workspace

  • --json - Return JSON envelope output

  • --quiet - Return raw payload only

  • --toon - Return TOON (token-optimized) output

Sample output:

ID                             a1b2c3d4-e5f6-7890-abcd-ef1234567890
  SID                            xyz789a
  NAME                           Consultation
  SLUG                           consult
  DESCRIPTION                    -
  KIND                           one_on_one
  DURATION                       15
  DISABLED                       No
  SPOT                           google_meet
  HOSTS                          [{"email":"[email protected]","name":"Oliver"}]
  IS MULTIPLE DURATIONS ALLOWED  No
  CREATED AT                     2026-06-25T10:00:00.000Z
  UPDATED AT                     2026-06-25T10:00:00.000Z
  ...

Update a meeting

This command updates fields for a meeting SID. Use this when you need to change a meeting's name, slug, or description from the terminal.

neetocal meetings update abc123x --name="Updated consultation" --description="30-minute call"

Required arguments:

  • <sid> - Meeting SID

Optional flags:

  • --description - Meeting description

  • --json-file - Path to JSON file with meeting data

  • --name - Meeting name

  • --slug - Meeting slug

  • --hosts - Comma-separated host emails (optional; omit to keep current hosts)

  • --kind - Meeting kind

  • --spot - Meeting spot

  • --duration - Meeting duration in minutes

  • --subdomain <name> - Target a specific logged-in workspace

  • --json - Return JSON envelope output

  • --quiet - Return raw payload only

  • --toon - Return TOON (token-optimized) output

Sample output:

ID                             a1b2c3d4-e5f6-7890-abcd-ef1234567890
  SID                            xyz789a
  NAME                           Consultation
  SLUG                           consult
  DESCRIPTION                    Updated via CLI
  KIND                           one_on_one
  DURATION                       15
  UPDATED AT                     2026-06-25T10:05:00.000Z
  ...

Delete a meeting

This command deletes a scheduling link. Use this when you want to remove a meeting without using the NeetoCal UI.

neetocal meetings delete abc123x

Required arguments:

  • <sid> - Meeting SID to delete

Optional flags:

  • --subdomain <name> - Target a specific logged-in workspace

  • --json - Return JSON envelope output

  • --quiet - Return raw payload only

  • --toon - Return TOON (token-optimized) output

Sample output:

Meeting deleted successfully.

List available slots

This command lists available booking dates for a meeting in a given month. Use this when you want to see which days have open slots before creating a booking.

neetocal meetings slots abc123x --month 6 --year 2026 --time-zone America/New_York
neetocal meetings slots abc123x --month 6 --year 2026 --day 24 --time-zone America/New_York

Required arguments:

  • <meeting-sid> - Meeting SID

Required flags:

  • --month - Month (1-12)

  • --year - Year

  • --time-zone - Time zone (e.g., America/New_York)

Optional flags:

  • --day - Day of month

  • --subdomain <name> - Target a specific logged-in workspace

  • --json - Return JSON envelope output

  • --quiet - Return raw payload only

  • --toon - Return TOON (token-optimized) output

Sample output:

DATE         DAY
──────────   ───
2026-06-24   24 
2026-06-25   25 
2026-06-26   26 
2026-06-28   28 
2026-06-29   29 
2026-06-30   30 
2026-07-01   1  
2026-07-02   2

This command creates a one-off scheduling link for a meeting. Use this when you need a single-use booking URL for a specific meeting.

neetocal meetings one-off-link abc123x

Required arguments:

  • <meeting-sid> - Meeting SID

Optional flags:

  • --subdomain <name> - Target a specific logged-in workspace

  • --json - Return JSON envelope output

  • --quiet - Return raw payload only

  • --toon - Return TOON (token-optimized) output

Sample output:

SLUG  one-off-a1b2c3d4e5f6
  URL   https://acme.neetocal.com/one-off-a1b2c3d4e5f6

List meeting durations

This command lists duration options for a meeting. Use this when a meeting allows multiple durations and you want to see configured values.

neetocal meetings durations list abc123x

Required arguments:

  • <meeting-sid> - Meeting SID

Optional flags:

  • --subdomain <name> - Target a specific logged-in workspace

  • --json - Return JSON envelope output

  • --quiet - Return raw payload only

  • --toon - Return TOON (token-optimized) output

Sample output:

DURATION   CREATED AT                 ID                                     IS DEFAULT   UPDATED AT              
────────   ────────────────────────   ────────────────────────────────────   ──────────   ────────────────────────
15         2026-06-25T03:55:37.792Z   892ab757-c68f-42e4-bb65-fde19feaae5b   Yes          2026-06-25T03:55:37.792Z
30         2026-06-25T03:55:37.795Z   4ca3192d-f43c-41b4-bcf3-9778920f60c3   No           2026-06-25T03:55:37.795Z

Show a meeting duration

This command shows details for one duration on a meeting. Use this after finding the duration ID from meetings durations list.

neetocal meetings durations show abc123x 00000000-0000-0000-0000-000000000001

Required arguments:

  • <meeting-sid> - Meeting SID

  • <id> - Duration UUID

Optional flags:

  • --subdomain <name> - Target a specific logged-in workspace

  • --json - Return JSON envelope output

  • --quiet - Return raw payload only

  • --toon - Return TOON (token-optimized) output

Sample output:

ID          d4e5f6a7-b8c9-0123-def4-567890abcdef
  DURATION    30
  IS DEFAULT  No
  CREATED AT  2026-06-25T10:00:00.000Z
  UPDATED AT  2026-06-25T10:00:00.000Z

Create a meeting duration

This command adds a duration option to a meeting. Use this when enabling multiple durations on a scheduling link.

neetocal meetings durations create abc123x --duration=30 --is-default=true

Required arguments:

  • <meeting-sid> - Meeting SID

Required flags:

  • --duration - Duration in minutes

Optional flags:

  • --is-default - Set as default duration (default false)

  • --subdomain <name> - Target a specific logged-in workspace

  • --json - Return JSON envelope output

  • --quiet - Return raw payload only

  • --toon - Return TOON (token-optimized) output

Sample output:

ID          d4e5f6a7-b8c9-0123-def4-567890abcdef
  DURATION    30
  IS DEFAULT  No
  CREATED AT  2026-06-25T10:00:00.000Z
  UPDATED AT  2026-06-25T10:00:00.000Z

Update a meeting duration

This command updates a duration on a meeting. Use this when you need to change duration length or default status.

neetocal meetings durations update abc123x 00000000-0000-0000-0000-000000000001 --duration=45

Required arguments:

  • <meeting-sid> - Meeting SID

  • <id> - Duration UUID

Optional flags:

  • --duration - Duration in minutes

  • --is-default - Set as default duration (default false)

  • --subdomain <name> - Target a specific logged-in workspace

  • --json - Return JSON envelope output

  • --quiet - Return raw payload only

  • --toon - Return TOON (token-optimized) output

Sample output:

ID          d4e5f6a7-b8c9-0123-def4-567890abcdef
  DURATION    45
  IS DEFAULT  No
  CREATED AT  2026-06-25T10:00:00.000Z
  UPDATED AT  2026-06-25T10:05:00.000Z

Delete a meeting duration

This command removes a duration from a meeting. Use this when you no longer need a specific duration option.

neetocal meetings durations delete abc123x 00000000-0000-0000-0000-000000000001

Required arguments:

  • <meeting-sid> - Meeting SID

  • <id> - Duration UUID

Optional flags:

  • --subdomain <name> - Target a specific logged-in workspace

  • --json - Return JSON envelope output

  • --quiet - Return raw payload only

  • --toon - Return TOON (token-optimized) output

Sample output:

Duration deleted successfully.

List meeting spots

This command lists meeting spots (video, phone, in-person) for a meeting. Use this when you want to see configured location options.

neetocal meetings spots list abc123x

Required arguments:

  • <meeting-sid> - Meeting SID

Optional flags:

  • --subdomain <name> - Target a specific logged-in workspace

  • --json - Return JSON envelope output

  • --quiet - Return raw payload only

  • --toon - Return TOON (token-optimized) output

Sample output:

SPOT      CREATED AT        CUST...   ID                        IN PERSO...   IS ...   PHONE C...
───────   ───────────────   ───────   ───────────────────────   ───────────   ──────   ──────────
goog...   2026-06-01T1...   -         d4e5f6a7-b8c9-0123-def4-567890abcdef   -             Yes      -

Show a meeting spot

This command shows details for one meeting spot. Use this after finding the spot ID from meetings spots list.

neetocal meetings spots show abc123x d4e5f6a7-b8c9-0123-def4-567890abcdef

Required arguments:

  • <meeting-sid> - Meeting SID

  • <id> - Spot UUID

Optional flags:

  • --subdomain <name> - Target a specific logged-in workspace

  • --json - Return JSON envelope output

  • --quiet - Return raw payload only

  • --toon - Return TOON (token-optimized) output

Sample output:

ID                  d4e5f6a7-b8c9-0123-def4-567890abcdef
  SPOT                google_meet
  IS DEFAULT          Yes
  PHONE CALL NUMBER   -
  IN PERSON LOCATION  -
  CUSTOM TEXT         -
  CREATED AT          2026-06-01T15:52:27.799Z
  UPDATED AT          2026-06-01T15:52:27.799Z

Create a meeting spot

This command adds a spot to a meeting. Use this when configuring video, phone, or in-person location options.

neetocal meetings spots create abc123x --spot=google_meet --is-default=true

Required arguments:

  • <meeting-sid> - Meeting SID

  • --spot - Spot type

Optional flags:

  • --custom-text - Custom text for the spot

  • --is-default - Set as default spot (default false)

  • --location - Location for in-person spots

  • --phone-number - Phone number for phone spots

  • --subdomain <name> - Target a specific logged-in workspace

  • --json - Return JSON envelope output

  • --quiet - Return raw payload only

  • --toon - Return TOON (token-optimized) output

Sample output:

ID                  e5f6a7b8-c9d0-1234-ef56-7890abcdef12
  SPOT                phone_call
  IS DEFAULT          No
  PHONE CALL NUMBER   +15551234567
  IN PERSON LOCATION  -
  CUSTOM TEXT         -
  CREATED AT          2026-06-25T10:00:00.000Z
  UPDATED AT          2026-06-25T10:00:00.000Z

Update a meeting spot

This command updates a meeting spot. Use this when you need to change spot type, location, or default status.

neetocal meetings spots update abc123x d4e5f6a7-b8c9-0123-def4-567890abcdef --spot=zoom

Required arguments:

  • <meeting-sid> - Meeting SID

  • <id> - Spot UUID

Optional flags:

  • --custom-text - Custom text for the spot

  • --is-default - Set as default spot (default false)

  • --location - Location for in-person spots

  • --phone-number - Phone number for phone spots

  • --spot - Spot type

  • --subdomain <name> - Target a specific logged-in workspace

  • --json - Return JSON envelope output

  • --quiet - Return raw payload only

  • --toon - Return TOON (token-optimized) output

Sample output:

ID                  d4e5f6a7-b8c9-0123-def4-567890abcdef
  SPOT                zoom
  IS DEFAULT          Yes
  PHONE CALL NUMBER   -
  IN PERSON LOCATION  -
  CUSTOM TEXT         -
  CREATED AT          2026-06-01T15:52:27.799Z
  UPDATED AT          2026-06-25T10:05:00.000Z

Delete a meeting spot

This command removes a spot from a meeting. Use this when you no longer need a specific location option.

neetocal meetings spots delete abc123x d4e5f6a7-b8c9-0123-def4-567890abcdef

Required arguments:

  • <meeting-sid> - Meeting SID

  • <id> - Spot UUID

Optional flags:

  • --subdomain <name> - Target a specific logged-in workspace

  • --json - Return JSON envelope output

  • --quiet - Return raw payload only

  • --toon - Return TOON (token-optimized) output

Sample output:

Spot deleted successfully.

Create meeting availability

This command creates an availability schedule linked to a specific meeting. Use this when you need to assign working hours to a host for one scheduling link.

neetocal meetings availabilities create abc123x --name="Working hours" [email protected] --time-zone=America/New_York

Required arguments:

  • <meeting-sid> - Meeting SID

Required flags:

  • --email - Host email address

Optional flags:

  • --json-file - Path to JSON file with periods/overrides

  • --name - Availability name

  • --time-zone - Time zone (IANA, e.g. America/New_York)

  • --subdomain <name> - Target a specific logged-in workspace

  • --json - Return JSON envelope output

  • --quiet - Return raw payload only

  • --toon - Return TOON (token-optimized) output

Sample output:

AVAILABILITY ID  f6a7b8c9-d0e1-2345-f678-90abcdef1234
  MEMBER ID        00000000-0000-0000-0000-000000000010
  MEETING ID       a1b2c3d4-e5f6-7890-abcd-ef1234567890
  ID               f6a7b8c9-d0e1-2345-f678-90abcdef1234
  SID              avl123x
  NAME             Working hours
  DEFAULT          No
  PERIODS          []
  OVERRIDES        []

Update meeting availability

This command updates the availability linked to a meeting. Use this when you need to change periods or overrides for a meeting-specific availability.

neetocal meetings availabilities update abc123x --json-file=availability.json

Required arguments:

  • <meeting-sid> - Meeting SID

Optional flags:

  • --json-file - Path to JSON file with update data

  • --subdomain <name> - Target a specific logged-in workspace

  • --json - Return JSON envelope output

  • --quiet - Return raw payload only

  • --toon - Return TOON (token-optimized) output

Sample output:

AVAILABILITIES  (1 items)