Belong Events - Discover and Organize
by @nomadcalendar
Discover events and hubs, manage branding, CheckIn venues, bracelets, wallets, and NFT tickets on the Belong platform
clawhub install belong-eventsπ About This Skill
name: belong-events description: Discover events and hubs, manage branding, CheckIn venues, bracelets, wallets, and NFT tickets on the Belong platform metadata: {"openclaw": {"emoji": "π«", "primaryEnv": "BELONG_EVENTS_API_KEY", "optionalEnv": ["BELONG_EVENTS_ENDPOINT"], "requires": {"bins": ["curl"]}}}
Belong Events
Discover events and hubs, buy tickets, create events and communities, manage hub branding, and handle venue check-ins, bracelets, and referral flows on Belong.
How to call tools
Run {baseDir}/invoke.sh via system.run. The script calls the Belong skill API and returns JSON.
Example:
system.run {baseDir}/invoke.sh discover_events '{"city":"Miami","limit":5}'
All tool calls use this pattern. The invoke.sh script handles endpoint URL, authentication headers, validates method names, and streams the JSON-RPC body over stdin instead of interpolating user params into curl arguments.
Default endpoint:
https://join.belong.net/functions/v1/openclaw-skill-proxy
Network disclosure:
BELONG_EVENTS_ENDPOINT if overridden).BELONG_EVENTS_API_KEY is set, it is sent to that endpoint as X-OpenClaw-Key.Account linking (required for protected tools)
Most tools require a linked Belong account. If any tool returns "Belong account not linked" or "BELONG_LINK_REQUIRED", run the OTP flow:
1. Ask the user for their email address. 2. Send OTP:
system.run {baseDir}/invoke.sh belong_email_otp_send '{"email":"USER_EMAIL"}'
3. Ask for the 6-digit code from their email.
4. Verify OTP:
system.run {baseDir}/invoke.sh belong_email_otp_verify '{"email":"USER_EMAIL","otp":"CODE"}'
5. The response includes apiKey. Store it β set it as BELONG_EVENTS_API_KEY env var or update skills.entries.belong-events.apiKey in openclaw.json so subsequent calls are authenticated.Never ask end users for an API key. Always use the OTP flow.
Available tools
Public (no auth needed)
Public tools are rate-limited. If you hit a 429, wait and retry.city, category, startDate, endDate, limit, latitude, longitude (all optional)search, hubType, limit, cursoreventId (required), source, city, latitude, longitude (optional)hubId (required), includeEvents, includeBrandinghubId (required)eventId (required), tierId, quantitylimit, timeframe (all, today, week, month)email (required)email (required), otp (required)Account status (auth required)
chainId (required), walletAddress, createIfMissingAttendee (auth required)
status (upcoming/past/all). Returns ticketCheckinUrl for each ticket.limit, offsetOrganizer (auth required)
name (required), startDate (required), endDate (required), description, city, venue, category, hubId, coverImageeventId (required), name, description, startDate, endDate, city, venue, category, hubId, coverImageeventId (required), files (required base64 file array)eventId (required), media (required)eventId (required), mediaId (required)eventId (required), tierName (required), price (required), maxSupply, chainId, transferable, gasless. Two-phase: first call returns tx params, second call with collectionId+txHash completes deployment.status (upcoming/past/draft/all)eventId (required)name (required), slug, description, location, private, hubType, startDate, endDate, coverImage, communitySkinConfig, customDomainshubId (required), name, slug, description, location, private, hubType, startDate, endDate, coverImage, connectEventIds, categorySubEventIDs, communitySkinConfig, customDomainssearch, hubTypehubId (required), communitySkinConfig, customDomainsVenue (auth required)
hubId (required), accessMode, amount/paymentAmount, paymentCurrency, paymentTxHash/paymentTransactionHash, paymentChainId, latitude, longitude, promoterCode, promoterAddress, promoterWallet, pendingCheckinId, nftTokenId, nftContractAddress, linkedEventId, customerWallet, listPending, checkinId, action, descriptionhubId (required), limit, checkinIdcheckinId (required), action, amount, currency, descriptionhubId (required), venueAddress, chainId, includeStats. chainId must come from the explicit param or persisted venue settings.hubId (required), venueWallet, ownerAddress, chainId, verificationMethod, requireVenueApproval, venueLatitude, venueLongitude, checkinRadius, primaryAccessMode, accessModeFree, accessModeVenuePayment, accessModeNftTicket, accessModeNftMembership, venuePaymentFlow, minCheckAmount, fixedPaymentAmount, acceptUSDC, acceptLONG, longSettlement, enableVisitorRewards, visitorVisitBountyUsd, visitorSpendPercentage, enablePromoterRewards, promoterVisitBountyUsd, promoterSpendPercentage, dailyCheckinLimit, requiredNftCollections, braceletEnabled, braceletDisplayCurrency, braceletAcceptedTokens, braceletMinTopup, braceletMaxTopup, braceletAllowRefunds, braceletChargeCategories, braceletPoolWallethubId (required), limit, offsetdayshubId (required), amount (required), venueWallet, ownerAddress, chainId, promoterAddresshubId (required), amount (required), venueAddress, walletAddress, promoterAddress, chainIdhubId (required), visitBounty, visitorSpendPercentage, cashbackPercent (legacy alias)braceletUid, eventHubIdbraceletUid, eventHubId, displayNamebraceletUid, eventHubId, amount, currency, txHash, chainId, displayAmount, displayCurrency, conversionRatebraceletUid, eventHubId, amount, currency, staffPin, displayAmount, displayCurrency, conversionRate, description, chargeCategory, idempotencyKeybraceletUid, eventHubId, currency, amount, refundToAddress, idempotencyKeyeventHubIdhubId (required), currency (USDC/LONG)