Install
openclaw skills install belong-eventsDiscover events and hubs, manage branding, CheckIn venues, bracelets, wallets, and NFT tickets on the Belong platform
openclaw skills install belong-eventsDiscover events and hubs, buy tickets, create events and communities, manage hub branding, and handle venue check-ins, bracelets, and referral flows on Belong.
Run {baseDir}/invoke.sh <method> '<params-json>' 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.Most tools require a linked Belong account. If any tool returns "Belong account not linked" or "BELONG_LINK_REQUIRED", run the OTP flow:
system.run {baseDir}/invoke.sh belong_email_otp_send '{"email":"USER_EMAIL"}'
system.run {baseDir}/invoke.sh belong_email_otp_verify '{"email":"USER_EMAIL","otp":"CODE"}'
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.
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)chainId (required), walletAddress, createIfMissingstatus (upcoming/past/all). Returns ticketCheckinUrl for each ticket.limit, offsetname (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, customDomainshubId (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)