Overview
Joinways is a CRM built for event venues — hotels, coworking spaces, private venues and multi-site operators that host corporate events, seminars, weddings and private parties. The Joinways connector gives Claude secure, OAuth-protected access to your venue workspace so you can run your sales pipeline in plain language: • Inquiries: browse and qualify incoming event requests with AI summaries and extracted requirements, then convert a validated inquiry into an event in one step. • Availability: check a venue or space for booking conflicts, see business hours and closures, block or unblock dates, import public holidays. • Quotes & invoices: create quotes, add priced line items (VAT and discounts computed server-side from the same engine as the app), update status and download the PDF. • Events & BEOs: create and update events, manage function sheets (schedule, setup, staff, day-of contacts, per-day overrides), notes and tasks. • CRM: search, create and update companies and contacts. • Email: draft and send event emails through your connected Gmail or Outlook account. • Analytics: conversion rate, revenue and event volume over the last 12 months. 79 tools, each annotated read-only or destructive. Every action runs with the signed-in user's own permissions inside their workspace.
Tools
add_event_note
ChatGPTadd_quote_items
ChatGPTis_offered and discount_amount). Items linked to a catalog (location_item_id) are validated against the catalog minimum price — offered lines bypass the check.archive_event
ChatGPTblock_venue_dates
ChatGPTstart_time/end_time for a full-day block, or pass both for a partial-day block. Returns the created closure with its id.cancel_quote
ChatGPTcancelled, the row and its history stay, it stops counting in the confirmed revenue. For a committed quote (accepted, signed, invoiced, paid; refused while an active invoice exists) and for a platform quote (source = platform) whatever its status, pending or refused too: a platform quote is never deleted, and cancelling a version gives its place back to the version it replaced. A replaced version (superseded_by_quote_id set) is refused: cancel the version in force. A draft / pending Joinways quote is deleted with delete_quote instead. Already cancelled = success.check_venue_availability
ChatGPTconvert_lead_to_event
ChatGPTcount_companies
ChatGPTcount_events
ChatGPTcount_leads
ChatGPTcount_people
ChatGPTcount_quotes
ChatGPTcount_tasks
ChatGPTcreate_catalog_item
ChatGPTcreate_company
ChatGPTcreate_event
ChatGPTcreate_event_slot
ChatGPTcreate_lead
ChatGPTcreate_person
ChatGPTcreate_quote
ChatGPTcreate_task
ChatGPTdelete_catalog_item
ChatGPTdelete_event
ChatGPTdelete_event_slot
ChatGPTdelete_person
ChatGPTdelete_quote
ChatGPTdelete_quote_item
ChatGPTdelete_task
ChatGPTdownload_quote
ChatGPTquote_pdfs, and return a 1h signed URL the client can download. Mirrors the web download flow: if the quote is accepted without an invoice number, a legal invoice number is generated and persisted.duplicate_quote
ChatGPTgenerate_email_draft
ChatGPTget_accounting_analytics
ChatGPTget_beo
ChatGPTget_commercial_analytics
ChatGPTget_company
ChatGPTget_event
ChatGPTget_events_analytics
ChatGPTget_inquiries_analytics
ChatGPTanalytics keeps the legacy month → counts map (now inquiry counts, no longer events by status). Same numbers and definitions as the Reports page. Every KPI returns current, previous (comparison period) and change_pct (or change_points for rates); period echoes the effective period.get_lead
ChatGPTget_person
ChatGPTget_quote_details
ChatGPTget_reports_overview
ChatGPTvenues filters.get_responsiveness_analytics
ChatGPTcurrent, previous (comparison period) and change_pct (or change_points for rates); period echoes the effective period.get_task
ChatGPTget_venue
ChatGPTget_venue_availability
ChatGPTfrom/to to scope closures to a date window.global_search
ChatGPTimport_signed_quote
ChatGPTquote_id, the existing Joinways quote of that event is stamped signed; without it, an external quote (source = "platform") is created from the platform totals. Both confirm the event and write the activity, like a paper signature. Mirrors POST /api/v1/events/{id}/quotes/import.import_venue_holidays
ChatGPTenable=true) or remove all auto-imported ones (enable=false). Country is an ISO-3166 alpha-2 or alpha-3 code, e.g. "FR".link_lead_to_event
ChatGPTlist_catalog_items
ChatGPTlist_companies
ChatGPTlist_company_notes
ChatGPTlist_email_connections
ChatGPTlist_email_templates
ChatGPTlist_event_contacts
ChatGPTlist_event_days
ChatGPTlist_event_emails
ChatGPTlist_event_files
ChatGPTlist_event_notes
ChatGPTlist_event_slots
ChatGPTlist_event_staff
ChatGPTlist_events
ChatGPTlist_leads
ChatGPTlist_notifications
ChatGPTlist_people
ChatGPTlist_quotes
ChatGPTlist_tasks
ChatGPTlist_team_members
ChatGPTlist_venue_closures
ChatGPTfrom/to.list_venue_conflicts
ChatGPTlist_venue_spaces
ChatGPTlist_venues
ChatGPTmerge_leads
ChatGPTreorder_quote_items
ChatGPTsort_order + event_day on a quote's line items. Use this for drag-and-drop reordering across days. Only items that actually belong to the specified quote are touched.replace_event_contacts
ChatGPTid are updated, without are inserted, missing ids are deleted. Day-of contacts are STANDALONE — free-text entries are NOT auto-linked to the CRM annuaire (use the CRM tools if you need to register them as people). The first onsite contact (or first contact tout court) becomes primary and is mirrored to events.onsite_contact_person_id.replace_event_staff
ChatGPTid are updated, entries without id are inserted, and any existing row whose id is missing from the payload is deleted. Free-text entries with an email or phone are auto-linked to (or created in) the CRM annuaire. Use list_event_staff first to fetch the current ids you want to preserve.search_companies
ChatGPTsend_event_email
ChatGPTunarchive_event
ChatGPTunblock_venue_dates
ChatGPTlist_venue_closures or get_venue_availability to find the id. Auto-imported holiday closures share the same id surface but should normally be removed via import_venue_holidays(enable=false) to clear the whole batch at once.update_beo
ChatGPTnull on a nullable field to clear it. For staff / day-of contacts / per-day overrides use the dedicated upsert tools.update_catalog_item
ChatGPTupdate_company
ChatGPTupdate_event
ChatGPTupdate_event_days
ChatGPTdayDate (YYYY-MM-DD) — the stable identity of a day row — so you can send patches without round-tripping through the trigger-generated ids. The calendar of days itself is owned by the event dates / selected_dates (managed by a DB trigger): a payload day whose dayDate matches no existing row is SKIPPED, never inserted, and reported in the response skippedDates. Use get_beo (or list the days) first to know the valid dates.update_event_slot
ChatGPTupdate_event_status
ChatGPTupdate_lead_requested_spaces
ChatGPTupdate_lead_status
ChatGPTupdate_person
ChatGPTupdate_quote
ChatGPTupdate_quote_status to change status — not this tool. For line items use add_quote_items / update_quote_item. Omit a field to leave it untouched; pass null to clear a nullable field.update_quote_item
ChatGPTtotal is recomputed when any pricing input changes. Catalog min-price is re-validated against the effective post-patch state.update_quote_status
ChatGPTaccepted is exclusive per event: if another quote on the same event is already accepted, the tool returns a conflict result WITHOUT writing — call again with force_confirm: true to demote the conflicting quotes to pending and proceed. Side effects mirror the editor: signed stamps signed_at; pending stamps sent_at on first transition; draft resets is_signed and clears sent_at.update_task
ChatGPTupsert_event_contacts
ChatGPTid are updated, without are inserted, missing ids are deleted. Day-of contacts are STANDALONE — free-text entries are NOT auto-linked to the CRM annuaire (use the CRM tools if you need to register them as people). The first onsite contact (or first contact tout court) becomes primary and is mirrored to events.onsite_contact_person_id.upsert_event_days
ChatGPT(event_id, day_index) rather than id — that lets you send patches without first round-tripping through the trigger-generated ids. This tool NEVER deletes rows (same rule as the trigger) to protect against silent data loss on accidental date edits — shrink the event date range instead, the UI ignores overflow rows.upsert_event_staff
ChatGPTid are updated, entries without id are inserted, and any existing row whose id is missing from the payload is deleted. Free-text entries with an email or phone are auto-linked to (or created in) the CRM annuaire. Use list_event_staff first to fetch the current ids you want to preserve.add_event_note
Claudeadd_quote_items
Claudeblock_venue_dates
Claudecheck_venue_availability
Claudeconvert_lead_to_event
Claudecount_companies
Claudecount_events
Claudecount_leads
Claudecount_people
Claudecount_quotes
Claudecount_tasks
Claudecreate_catalog_item
Claudecreate_company
Claudecreate_event
Claudecreate_person
Claudecreate_quote
Claudecreate_task
Claudedelete_catalog_item
Claudedelete_event
Claudedelete_person
Claudedelete_quote
Claudedelete_quote_item
Claudedelete_task
Claudedownload_quote
Claudeduplicate_quote
Claudegenerate_email_draft
Claudeget_accounting_analytics
Claudeget_beo
Claudeget_commercial_analytics
Claudeget_event
Claudeget_events_analytics
Claudeget_lead
Claudeget_quote_details
Claudeget_task
Claudeget_venue
Claudeget_venue_availability
Claudeglobal_search
Claudeimport_signed_quote
Claudeimport_venue_holidays
Claudelink_lead_to_event
Claudelist_catalog_items
Claudelist_companies
Claudelist_email_connections
Claudelist_email_templates
Claudelist_event_contacts
Claudelist_event_days
Claudelist_event_emails
Claudelist_event_files
Claudelist_event_notes
Claudelist_event_staff
Claudelist_events
Claudelist_leads
Claudelist_notifications
Claudelist_people
Claudelist_quotes
Claudelist_tasks
Claudelist_team_members
Claudelist_venue_closures
Claudelist_venue_conflicts
Claudelist_venue_spaces
Claudelist_venues
Claudereorder_quote_items
Claudesearch_companies
Claudesend_event_email
Claudeunblock_venue_dates
Claudeupdate_beo
Claudeupdate_catalog_item
Claudeupdate_company
Claudeupdate_event
Claudeupdate_event_status
Claudeupdate_lead_status
Claudeupdate_person
Claudeupdate_quote
Claudeupdate_quote_item
Claudeupdate_quote_status
Claudeupdate_task
Claudeupsert_event_contacts
Claudeupsert_event_days
Claudeupsert_event_staff
ClaudeCapabilities
Example Prompts
Click any prompt to copy it.
Links
App Stats
178
Tools
3
Prompts
ChatGPT, Claude
Platforms
Category
CRM RecordsWorks with
Data refreshed daily






