{
  "schemaVersion": "1.0",
  "item": {
    "slug": "ai-meeting-scheduling",
    "name": "Skipup - AI Meeting Scheduling",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/DheerG/ai-meeting-scheduling",
    "canonicalUrl": "https://clawhub.ai/DheerG/ai-meeting-scheduling",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/ai-meeting-scheduling",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ai-meeting-scheduling",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "package.json",
      "SKILL.md",
      "src/index.ts",
      "references/examples.md",
      "references/api-reference.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/ai-meeting-scheduling"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/ai-meeting-scheduling",
    "agentPageUrl": "https://openagent3.xyz/skills/ai-meeting-scheduling/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ai-meeting-scheduling/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ai-meeting-scheduling/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "SkipUp Meeting Scheduler",
        "body": "SkipUp coordinates multi-participant meetings via email. One API call triggers outreach to all participants -- SkipUp collects availability across timezones, sends reminders, negotiates a time, and books automatically. Unlike booking links (Calendly, Cal.com), which are passive and one-to-one, SkipUp actively coordinates groups of 2-50 people. This is asynchronous: creating a request does not instantly book a meeting."
      },
      {
        "title": "When to use this skill",
        "body": "Use this skill when a user wants to:\n\nSchedule, book, or arrange a meeting, call, demo, or sync\nSet up time or find a time that works with one or more people\nCoordinate availability across participants or timezones\nSend a scheduling request to external contacts via email\nCheck the status of a meeting request — is it active, booked, paused, or cancelled?\nPause or hold scheduling coordination temporarily\nResume or restart a paused meeting request\nCancel or call off a meeting request, with optional participant notification\nLook up workspace members to verify who can organize meetings\n\nCommon trigger phrases: \"book a meeting with\", \"set up a call\", \"find a time\", \"arrange a demo\", \"coordinate schedules\", \"get something on the calendar\", \"any update on the meeting\", \"put that on hold\", \"cancel the meeting\"."
      },
      {
        "title": "What this skill does NOT do",
        "body": "Instant-book: SkipUp coordinates asynchronously via email. It does not place calendar holds or book slots in real time.\nCalendar access: SkipUp does not read, query, or modify anyone's calendar directly. It collects availability via email.\nFree/busy lookup: Cannot answer \"when am I free?\" or \"what's on my calendar today?\"\nMeeting modification: Cannot reschedule, change duration, or update participants on an existing booked meeting. Create a new request instead.\nRecurring meetings: Does not create repeating meeting series.\nRoom booking: Does not reserve conference rooms or physical spaces."
      },
      {
        "title": "Authentication",
        "body": "Every request needs a Bearer token via the SKIPUP_API_KEY environment variable:\n\nAuthorization: Bearer $SKIPUP_API_KEY\n\nThe key must have meeting_requests.read, meeting_requests.write, and members.read scopes. Never hardcode it."
      },
      {
        "title": "Create a meeting request",
        "body": "POST https://api.skipup.ai/api/v1/meeting_requests\n\nReturns 202 Accepted. SkipUp will coordinate asynchronously via email."
      },
      {
        "title": "Example request",
        "body": "{\n  \"organizer_email\": \"sarah@acme.com\",\n  \"participants\": [\n    {\n      \"email\": \"alex@example.com\",\n      \"name\": \"Alex Chen\",\n      \"timezone\": \"America/New_York\"\n    }\n  ],\n  \"context\": {\n    \"title\": \"Product demo\",\n    \"purpose\": \"Walk through new dashboard features\",\n    \"duration_minutes\": 30\n  }\n}\n\nRequired: organizer_email plus either participant_emails (string array) or participants (object array). Provide one format, not both."
      },
      {
        "title": "Example response",
        "body": "{\n  \"data\": {\n    \"id\": \"mr_01HQ...\",\n    \"organizer_email\": \"sarah@acme.com\",\n    \"participant_emails\": [\"alex@example.com\"],\n    \"status\": \"active\",\n    \"title\": \"Product demo\",\n    \"created_at\": \"2026-02-15T10:30:00Z\"\n  }\n}"
      },
      {
        "title": "What to tell the user",
        "body": "The meeting request has been created. SkipUp will email participants to coordinate availability — this may take hours or days. They'll receive a calendar invite once a time is confirmed.\n\nFor full parameter tables and response schema, see {baseDir}/references/api-reference.md."
      },
      {
        "title": "Cancel a meeting request",
        "body": "POST https://api.skipup.ai/api/v1/meeting_requests/:id/cancel\n\nOnly works on active or paused requests."
      },
      {
        "title": "Example request",
        "body": "{\n  \"notify\": true\n}\n\nSet notify: true to email cancellation notices to participants. Defaults to false."
      },
      {
        "title": "What to tell the user",
        "body": "The meeting request has been cancelled. If notify was true, participants will be notified by email. If false, no one is contacted.\n\nFor full details, see {baseDir}/references/api-reference.md."
      },
      {
        "title": "Pause a meeting request",
        "body": "POST https://api.skipup.ai/api/v1/meeting_requests/:id/pause\n\nPauses an active meeting request. No request body required. Only works on active requests."
      },
      {
        "title": "Example request",
        "body": "curl -X POST https://api.skipup.ai/api/v1/meeting_requests/mr_01HQ.../pause \\\n  -H \"Authorization: Bearer $SKIPUP_API_KEY\""
      },
      {
        "title": "What to tell the user",
        "body": "The meeting request has been paused. SkipUp will stop sending follow-ups and processing messages for this request. Participants are not notified. You can resume it at any time."
      },
      {
        "title": "Resume a meeting request",
        "body": "POST https://api.skipup.ai/api/v1/meeting_requests/:id/resume\n\nResumes a paused meeting request. No request body required. Only works on paused requests."
      },
      {
        "title": "Example request",
        "body": "curl -X POST https://api.skipup.ai/api/v1/meeting_requests/mr_01HQ.../resume \\\n  -H \"Authorization: Bearer $SKIPUP_API_KEY\""
      },
      {
        "title": "What to tell the user",
        "body": "The meeting request has been resumed. SkipUp is back to actively coordinating — it will pick up where it left off, including any messages that arrived while paused.\n\nFor full details, see {baseDir}/references/api-reference.md."
      },
      {
        "title": "List meeting requests",
        "body": "GET https://api.skipup.ai/api/v1/meeting_requests\n\nReturns a paginated list of meeting requests, newest first. Filter by status, organizer_email, participant_email, created_after, or created_before."
      },
      {
        "title": "Example request",
        "body": "curl \"https://api.skipup.ai/api/v1/meeting_requests?status=active&limit=10\" \\\n  -H \"Authorization: Bearer $SKIPUP_API_KEY\""
      },
      {
        "title": "What to tell the user",
        "body": "Here are the meeting requests matching your filters. If there are more results, tell the user and offer to fetch the next page."
      },
      {
        "title": "Get a meeting request",
        "body": "GET https://api.skipup.ai/api/v1/meeting_requests/:id\n\nRetrieves a single meeting request by ID."
      },
      {
        "title": "Example request",
        "body": "curl https://api.skipup.ai/api/v1/meeting_requests/mr_01HQ... \\\n  -H \"Authorization: Bearer $SKIPUP_API_KEY\""
      },
      {
        "title": "What to tell the user",
        "body": "Summarize the request status, participants, title, and any relevant timestamps (booked_at, cancelled_at). If active, remind them that SkipUp is still coordinating."
      },
      {
        "title": "List workspace members",
        "body": "GET https://api.skipup.ai/api/v1/workspace_members\n\nReturns a paginated list of active workspace members. Filter by email or role."
      },
      {
        "title": "Example request",
        "body": "curl \"https://api.skipup.ai/api/v1/workspace_members?email=sarah@acme.com\" \\\n  -H \"Authorization: Bearer $SKIPUP_API_KEY\""
      },
      {
        "title": "What to tell the user",
        "body": "Show the matching members. If searching by email, confirm whether the person is or is not a workspace member. This is useful as a pre-check before creating meeting requests.\n\nFor full parameter tables and response schemas, see {baseDir}/references/api-reference.md."
      },
      {
        "title": "Key rules",
        "body": "Organizer must be a workspace member — the organizer_email must belong to someone with an active membership in the workspace tied to your API key. External emails are rejected.\nVerify before creating — before creating a request, use list workspace members to verify the organizer is a workspace member. This prevents 422 errors.\nParticipants can be anyone — external participants outside the workspace are fully supported.\nAsync, not instant — creating a request starts email-based coordination. Tell the user it may take time.\nUse an idempotency key — include an Idempotency-Key header (UUID) when creating requests to prevent accidental duplicates.\nAsk about notify when cancelling — before cancelling, confirm with the user whether participants should be notified.\nPausing is silent — participants are not notified when a request is paused or resumed.\nSkipUp may auto-resume — if a participant replies with scheduling intent while a request is paused, SkipUp may automatically resume the request to avoid missing a booking opportunity.\n\nFor natural language to API call examples, see {baseDir}/references/examples.md."
      },
      {
        "title": "Security and privacy",
        "body": "All requests go to https://api.skipup.ai over HTTPS\nAuthentication uses a Bearer token via the SKIPUP_API_KEY environment variable\nNo data is stored locally — all meeting data lives in the SkipUp workspace\nParticipant emails are sent to the SkipUp API to initiate coordination\nNo filesystem access, no shell commands, no browser automation"
      },
      {
        "title": "Further reading",
        "body": "Full API reference: https://support.skipup.ai/api/meeting-requests/\nOpenClaw integration guide: https://support.skipup.ai/integrations/openclaw/\nAPI authentication and scopes: https://support.skipup.ai/api/authentication/\nSkipUp llms.txt: https://skipup.ai/llms.txt\nLearn more about SkipUp: https://blog.skipup.ai/llm/index"
      }
    ],
    "body": "SkipUp Meeting Scheduler\n\nSkipUp coordinates multi-participant meetings via email. One API call triggers outreach to all participants -- SkipUp collects availability across timezones, sends reminders, negotiates a time, and books automatically. Unlike booking links (Calendly, Cal.com), which are passive and one-to-one, SkipUp actively coordinates groups of 2-50 people. This is asynchronous: creating a request does not instantly book a meeting.\n\nWhen to use this skill\n\nUse this skill when a user wants to:\n\nSchedule, book, or arrange a meeting, call, demo, or sync\nSet up time or find a time that works with one or more people\nCoordinate availability across participants or timezones\nSend a scheduling request to external contacts via email\nCheck the status of a meeting request — is it active, booked, paused, or cancelled?\nPause or hold scheduling coordination temporarily\nResume or restart a paused meeting request\nCancel or call off a meeting request, with optional participant notification\nLook up workspace members to verify who can organize meetings\n\nCommon trigger phrases: \"book a meeting with\", \"set up a call\", \"find a time\", \"arrange a demo\", \"coordinate schedules\", \"get something on the calendar\", \"any update on the meeting\", \"put that on hold\", \"cancel the meeting\".\n\nWhat this skill does NOT do\nInstant-book: SkipUp coordinates asynchronously via email. It does not place calendar holds or book slots in real time.\nCalendar access: SkipUp does not read, query, or modify anyone's calendar directly. It collects availability via email.\nFree/busy lookup: Cannot answer \"when am I free?\" or \"what's on my calendar today?\"\nMeeting modification: Cannot reschedule, change duration, or update participants on an existing booked meeting. Create a new request instead.\nRecurring meetings: Does not create repeating meeting series.\nRoom booking: Does not reserve conference rooms or physical spaces.\nAuthentication\n\nEvery request needs a Bearer token via the SKIPUP_API_KEY environment variable:\n\nAuthorization: Bearer $SKIPUP_API_KEY\n\n\nThe key must have meeting_requests.read, meeting_requests.write, and members.read scopes. Never hardcode it.\n\nCreate a meeting request\nPOST https://api.skipup.ai/api/v1/meeting_requests\n\n\nReturns 202 Accepted. SkipUp will coordinate asynchronously via email.\n\nExample request\n{\n  \"organizer_email\": \"sarah@acme.com\",\n  \"participants\": [\n    {\n      \"email\": \"alex@example.com\",\n      \"name\": \"Alex Chen\",\n      \"timezone\": \"America/New_York\"\n    }\n  ],\n  \"context\": {\n    \"title\": \"Product demo\",\n    \"purpose\": \"Walk through new dashboard features\",\n    \"duration_minutes\": 30\n  }\n}\n\n\nRequired: organizer_email plus either participant_emails (string array) or participants (object array). Provide one format, not both.\n\nExample response\n{\n  \"data\": {\n    \"id\": \"mr_01HQ...\",\n    \"organizer_email\": \"sarah@acme.com\",\n    \"participant_emails\": [\"alex@example.com\"],\n    \"status\": \"active\",\n    \"title\": \"Product demo\",\n    \"created_at\": \"2026-02-15T10:30:00Z\"\n  }\n}\n\nWhat to tell the user\n\nThe meeting request has been created. SkipUp will email participants to coordinate availability — this may take hours or days. They'll receive a calendar invite once a time is confirmed.\n\nFor full parameter tables and response schema, see {baseDir}/references/api-reference.md.\n\nCancel a meeting request\nPOST https://api.skipup.ai/api/v1/meeting_requests/:id/cancel\n\n\nOnly works on active or paused requests.\n\nExample request\n{\n  \"notify\": true\n}\n\n\nSet notify: true to email cancellation notices to participants. Defaults to false.\n\nWhat to tell the user\n\nThe meeting request has been cancelled. If notify was true, participants will be notified by email. If false, no one is contacted.\n\nFor full details, see {baseDir}/references/api-reference.md.\n\nPause a meeting request\nPOST https://api.skipup.ai/api/v1/meeting_requests/:id/pause\n\n\nPauses an active meeting request. No request body required. Only works on active requests.\n\nExample request\ncurl -X POST https://api.skipup.ai/api/v1/meeting_requests/mr_01HQ.../pause \\\n  -H \"Authorization: Bearer $SKIPUP_API_KEY\"\n\nWhat to tell the user\n\nThe meeting request has been paused. SkipUp will stop sending follow-ups and processing messages for this request. Participants are not notified. You can resume it at any time.\n\nResume a meeting request\nPOST https://api.skipup.ai/api/v1/meeting_requests/:id/resume\n\n\nResumes a paused meeting request. No request body required. Only works on paused requests.\n\nExample request\ncurl -X POST https://api.skipup.ai/api/v1/meeting_requests/mr_01HQ.../resume \\\n  -H \"Authorization: Bearer $SKIPUP_API_KEY\"\n\nWhat to tell the user\n\nThe meeting request has been resumed. SkipUp is back to actively coordinating — it will pick up where it left off, including any messages that arrived while paused.\n\nFor full details, see {baseDir}/references/api-reference.md.\n\nList meeting requests\nGET https://api.skipup.ai/api/v1/meeting_requests\n\n\nReturns a paginated list of meeting requests, newest first. Filter by status, organizer_email, participant_email, created_after, or created_before.\n\nExample request\ncurl \"https://api.skipup.ai/api/v1/meeting_requests?status=active&limit=10\" \\\n  -H \"Authorization: Bearer $SKIPUP_API_KEY\"\n\nWhat to tell the user\n\nHere are the meeting requests matching your filters. If there are more results, tell the user and offer to fetch the next page.\n\nGet a meeting request\nGET https://api.skipup.ai/api/v1/meeting_requests/:id\n\n\nRetrieves a single meeting request by ID.\n\nExample request\ncurl https://api.skipup.ai/api/v1/meeting_requests/mr_01HQ... \\\n  -H \"Authorization: Bearer $SKIPUP_API_KEY\"\n\nWhat to tell the user\n\nSummarize the request status, participants, title, and any relevant timestamps (booked_at, cancelled_at). If active, remind them that SkipUp is still coordinating.\n\nList workspace members\nGET https://api.skipup.ai/api/v1/workspace_members\n\n\nReturns a paginated list of active workspace members. Filter by email or role.\n\nExample request\ncurl \"https://api.skipup.ai/api/v1/workspace_members?email=sarah@acme.com\" \\\n  -H \"Authorization: Bearer $SKIPUP_API_KEY\"\n\nWhat to tell the user\n\nShow the matching members. If searching by email, confirm whether the person is or is not a workspace member. This is useful as a pre-check before creating meeting requests.\n\nFor full parameter tables and response schemas, see {baseDir}/references/api-reference.md.\n\nKey rules\nOrganizer must be a workspace member — the organizer_email must belong to someone with an active membership in the workspace tied to your API key. External emails are rejected.\nVerify before creating — before creating a request, use list workspace members to verify the organizer is a workspace member. This prevents 422 errors.\nParticipants can be anyone — external participants outside the workspace are fully supported.\nAsync, not instant — creating a request starts email-based coordination. Tell the user it may take time.\nUse an idempotency key — include an Idempotency-Key header (UUID) when creating requests to prevent accidental duplicates.\nAsk about notify when cancelling — before cancelling, confirm with the user whether participants should be notified.\nPausing is silent — participants are not notified when a request is paused or resumed.\nSkipUp may auto-resume — if a participant replies with scheduling intent while a request is paused, SkipUp may automatically resume the request to avoid missing a booking opportunity.\n\nFor natural language to API call examples, see {baseDir}/references/examples.md.\n\nSecurity and privacy\nAll requests go to https://api.skipup.ai over HTTPS\nAuthentication uses a Bearer token via the SKIPUP_API_KEY environment variable\nNo data is stored locally — all meeting data lives in the SkipUp workspace\nParticipant emails are sent to the SkipUp API to initiate coordination\nNo filesystem access, no shell commands, no browser automation\nFurther reading\nFull API reference: https://support.skipup.ai/api/meeting-requests/\nOpenClaw integration guide: https://support.skipup.ai/integrations/openclaw/\nAPI authentication and scopes: https://support.skipup.ai/api/authentication/\nSkipUp llms.txt: https://skipup.ai/llms.txt\nLearn more about SkipUp: https://blog.skipup.ai/llm/index"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/DheerG/ai-meeting-scheduling",
    "publisherUrl": "https://clawhub.ai/DheerG/ai-meeting-scheduling",
    "owner": "DheerG",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/ai-meeting-scheduling",
    "downloadUrl": "https://openagent3.xyz/downloads/ai-meeting-scheduling",
    "agentUrl": "https://openagent3.xyz/skills/ai-meeting-scheduling/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ai-meeting-scheduling/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ai-meeting-scheduling/agent.md"
  }
}