RUAL Core v15.0.0
Our platform operates on software, commonly known as core. This software can be run either locally within the cloud environment of Enterprise Customers or within our AWS cluster.
Modified or newly introduced blocks
In this release 53 blocks have been modified and 210 new blocks were introduced. You'll find a complete list of blocks at the bottom of this page.
Core engine rewritten in Go
RUAL Core 15 is the first release running on the new Go engine, a full rewrite of the previous Node.js core. The rewrite focuses on performance, reliability and simpler deployment, while keeping the platform fully compatible: blueprint JSON, blocks, pins, API routes, scopes and tokens all behave as before, so existing applications and blueprints keep working without migration.
AI in blueprints: Anthropic connection
A new family of 26 blocks brings AI straight into blueprints around the Anthropic connection. Send messages with anthropicconnection_message or stream them with anthropicconnection_message_stream, give the model tools like web search, code execution and memory, branch or switch between tool flows, build and parse JSON schemas, classify input, count tokens, preflight requests and run batches. Usage and memory management blocks round out the set.
Places and geo
Fourteen new places blocks query the places dataset: places_search, nearest and within-radius lookups, bounding box queries, filtering, facets, enrichment, category resolution and free-text query parsing. Geo points gain helpers like geo_point_reverse_geocode, validation, snapping, nearby search, land cover and city lookup, and arrays get geo helpers including array_reverse_geocode.
NS: Dutch railways
The new NS connection covers the Dutch railway API: plan trips with nsconnection_trips, list departures and arrivals, find stations and nearest stations, and read current disruptions.
More new blocks
- Currency: convert, format, list and rate blocks, for example
currency_convert. - Email through Lettermint:
lettermintconnection_send_emailand a batch variant. - Flow control:
function_run_parallel,function_rate_limit,function_wait_for_queue_item, a millisecond timer, neighbor search and a passwordless login code request. - Thirteen ready-made TTL helpers such as
date_ttl_1_day, from one minute to one year. - Media and files:
video_compress, video size,file_hashand file spreading. - Values and conditions:
value_random_string,value_sha256_hmacandcondition_regexp_test. - And more: raw request bodies, OpenStreetMap tiles, byte converters, a phrase prefix query block and
mssgs_send_message.
Improved blocks
function_broadcastandfunction_write_to_websocketaccept an optionalfieldswhitelist, projecting only the selected fields into the outgoing response.value_parse_querystringnow honors its separator and equal pins when parsing.- The SHA hashing blocks (
value_sha1,value_sha256,value_sha512) take over incoming state on their extra pins.
Documentation
Block pages in this documentation gained a machine-readable semantics section per block, a per-block version history, and studio-style canvas examples for the most-used blocks. Block changes are now tracked per release from the block catalog, so future release notes list exact block and pin changes.
Block changes in detail
androidconnection New block: Tells Play you have granted what the user bought. Not optional: Google revokes and refunds any purchase left unacknowledged for three days, so a flow that verifies a purchase and stops here gives the money back : days later, quietly. verify subscription androidconnection New block: Reads a Play subscription's real state (subscriptionsv2). Use this rather than verify purchase for anything recurring : that one only answers for one-time products and 404s on a subscription token. to unix milliseconds date New block: Converts a date, date string, or epoch timestamp to a Unix timestamp in MILLISECONDS : the unit of _meta.ums/cms/rms and of most external APIs. Numbers (and numeric strings) are detected by size: values of 100000000000 (11 digits, March 1973) and above are already milliseconds and pass through, smaller values are read as seconds and multiplied. Pre-1973 millisecond values are outside the detection range : convert those by hand. Anything non-numeric is parsed like every other date pin, in the entity timezone. to unix seconds date New block: Converts a date, date string, or epoch timestamp to a Unix timestamp in SECONDS : the unit the platform's date fields store. Numbers (and numeric strings) are detected by size: values of 100000000000 (11 digits, March 1973) and above are read as milliseconds and divided, smaller values pass through as seconds; fractional seconds are floored. Pre-1973 millisecond values are outside the detection range : convert those by hand. Anything non-numeric is parsed like every other date pin, in the entity timezone. validate zone on the nameservers dnszone New block: Run named-checkzone on every nameserver. Writes nothing anywhere, on any node. import zone export dnszone New block: Read a Route53 export and hand back the records, the SOA timers and the delegation, ready to store. push zone to the nameservers dnszone New block: Replace the live zone file and reload, per nameserver. Only reachable once the check passed on every node. render zone file dnszone New block: Render a complete BIND zone file from stored records, with the decision report that belongs in front of a push. check per-apex slots dnszone New block: Report which per-apex slots a group member has filled, which it will never need, and which nobody has answered for. verify serials across the nameservers dnszone New block: Ask every nameserver which serial it is actually serving, and whether they agree. from path file New block: Turns a path (or list of paths) into a file, so a stored path can be handed to the file blocks. A leading slash means the entity root. Missing paths are left out and reported on success rather than failing : deleting something already gone is not an error. apple: get subscription status function New block: Asks Apple what a subscription's state is right now, instead of believing what arrived in a notification. This is the authoritative read : use it when a notification was missed or arrived out of order, and whenever a client claims an entitlement. apple: verify signed payload function New block: Verifies an Apple-signed JWS : an App Store Server Notification's signedPayload, or the signedTransactionInfo / signedRenewalInfo nested inside one : and returns its claims. The signature is the only thing separating a real purchase from someone posting themselves a subscription, so nothing downstream should trust a payload this block did not pass. connect function New block: Opens a Stripe connection. Point it at a Stripe service provider so the secret key stays in the provider store and never appears in this blueprint : the API key pin is the older way and leaves the key readable to anyone who can open the flow. blurhash function New block: Compute a blurhash placeholder for the given images : a ~30 character string a client paints as a blur while the real image loads travel mode from points geo New block: Classifies which network a series of GPS points is travelling on (road pinning): when at least min ratio of the points lie within max distance of a road or railway, the traveller is pinned to that network : e.g. the last 5 fixes near a road means driving, near a railway means riding a train. When both networks qualify the one with the smaller mean distance wins. Outputs the mode (road, rail or none), per-network conditions, the match confidence and the points snapped onto the matched network. A single geo point object is accepted as well; entries without numeric lat/lon are ignored. Offline lookup against the road/rail network (Benelux, OpenStreetMap). climate set homeassist New block: Sets an air conditioner or thermostat: on/off, mode, target temperature, fan speed. device adopt homeassist New block: Takes a discovered device into service, so triggers fire for it and blocks can command it. device forget homeassist New block: Removes a device from RUAL. It stays paired to the radio and will reappear, unadopted, on its next report. get device homeassist New block: Returns one device: its name, room, capabilities and current state. get device history homeassist New block: Returns recorded readings for one capability of one device, optionally bucketed for charting. device rename homeassist New block: Sets a device's friendly name and/or room. device set homeassist New block: Sets any capability on any device. The escape hatch for things the specific blocks do not cover. get device state homeassist New block: Reads one capability from one device : is the motion sensor triggered, what is the temperature. get all devices homeassist New block: Returns every adopted device, optionally filtered by type, room or adapter. door lock homeassist New block: Locks a door, and holds it locked unless you ask it not to. door unlock homeassist New block: Unlocks a door. By default this is a momentary unlock : the door releases long enough for one person, then re-locks : matching the 'let them in' button. gate close homeassist New block: Closes a gate or garage door. gate open homeassist New block: Opens a gate or garage door. light dim homeassist New block: Sets a light's brightness without changing anything else. light off homeassist New block: Turns a light off. light on homeassist New block: Turns a light on. Optionally set brightness, colour temperature or colour in the same command. light toggle homeassist New block: Flips a light: on if it is off, off if it is on. get lights that are on homeassist New block: Returns every light currently switched on. pairing open homeassist New block: Opens the radio for new devices to join, for a bounded number of seconds. get rooms homeassist New block: Returns the list of rooms that have devices assigned to them. get active sensors homeassist New block: Returns every sensor that is currently triggered: motion present, doors open, leaks found. get status homeassist New block: Returns which radios are connected and how many devices are known. switch off homeassist New block: Turns a plug, relay or switch off. switch on homeassist New block: Turns a plug, relay or switch on. access denied homeassist New block: Starts the flow when someone is refused: an unknown card, a wrong PIN, a credential outside its schedule. access granted homeassist New block: Starts the flow when someone is let in: a valid card, PIN, wave or mobile credential. The actor and method are on the out-pins. security alarm activated homeassist New block: Starts the flow when the security system's own alarm goes active. battery low homeassist New block: Starts the flow when a device's battery drops below the threshold, or reports its own low-battery flag. button pressed homeassist New block: Starts the flow when a button or scene switch is pressed. The `value` pin says which press it was: single, double, hold, release. camera motion detected homeassist New block: Starts the flow when a camera detects motion. contact closed homeassist New block: Starts the flow when a door or window is closed. contact opened homeassist New block: Starts the flow when a door or window is opened. device adopted homeassist New block: Starts the flow when a device is taken into service. device discovered homeassist New block: Starts the flow when a NEW device appears on the radio, before it is adopted. device state changed homeassist New block: Starts the flow on ANY change from a device. The catch-all : use a specific trigger where one exists. device unavailable homeassist New block: Starts the flow when a device stops responding. door or gate closed homeassist New block: Starts the flow when a controlled door or gate physically closes. door or gate locked homeassist New block: Starts the flow when the lock engages. door or gate opened homeassist New block: Starts the flow when a controlled door or gate physically opens. door or gate unlocked homeassist New block: Starts the flow when the lock releases, whether or not the door then opens. doorbell rang homeassist New block: Starts the flow when someone rings a doorbell or door station. gate closed homeassist New block: Starts the flow when the gate physically closes. gate opened homeassist New block: Starts the flow when the gate physically opens. humidity changed homeassist New block: Starts the flow when a humidity reading changes. Set above or below to fire only when it crosses a threshold. light turned off homeassist New block: Starts the flow when a light is switched off. light turned on homeassist New block: Starts the flow when a light is switched on : by anyone, including a wall switch or the vendor's own app. NFC card swiped homeassist New block: Starts the flow when any NFC card or fob is presented to a reader, whether or not it was accepted. presence cleared homeassist New block: Starts the flow when a room becomes empty. presence detected homeassist New block: Starts the flow when someone is detected in a room. sensor activated homeassist New block: Starts the flow when a sensor turns ON: motion detected, a door opened, water found, smoke detected. sensor deactivated homeassist New block: Starts the flow when a sensor turns OFF: motion cleared, a door closed, a leak stopped. smoke detected homeassist New block: Starts the flow when a smoke alarm triggers. switch turned off homeassist New block: Starts the flow when a plug, relay or switch is turned off. switch turned on homeassist New block: Starts the flow when a plug, relay or switch is turned on. temperature changed homeassist New block: Starts the flow when a temperature reading changes. Set above or below to fire only when it crosses a threshold. water leak detected homeassist New block: Starts the flow when a leak sensor finds water. validate site config on the load balancers nginxsite New block: Run nginx -t for this site config on every load balancer, in the context of its full live config. Writes nothing to any live directory. remove site config from the load balancers nginxsite New block: Remove a live site config and reload nginx, per node. The far side refuses when the remaining set would not validate without it, and archives rather than destroys. push site config to the load balancers nginxsite New block: Replace the live site config and reload nginx, per node. Gated on a passing nginxsite_check over these exact bytes for every target node. load balancer fleet status nginxsite New block: Ask every load balancer what it serves and whether the fleet agrees with itself. Reads only. place here places New block: Resolves the place a coordinate is at, rather than the record nearest to it. Two things separate it from places_nearest. It ignores records that are not places you can be at : at Madurodam the restaurant inside it is a metre nearer than the park, and the park is still the answer. And it recognises being inside something: a point in the middle of the Efteling has a snack bar four metres away and the park's own record half a kilometre off at the entrance, so the answer is the park. That is inferred from the park's own attractions surrounding you, because Overture Places has points and no boundaries; kind tells you which way the answer was reached, and a point with nothing prominent around it honestly answers none rather than reaching for the nearest landmark it can find. code (highlighted) state New block: Source code with syntax highlighting. Renders server-side with no external library; supports nginx, javascript, json, bash, go, sql and yaml. device overview state New block: A ready-made overview of every device home automation knows about: grouped by room or adapter, with live capability readings, sparklines from the analytics store, and the devices that are discovered but not yet adopted. Renders from standard components, so it can be styled and taken apart like anything else. create checkout stripeconnection New block: Creates a Stripe Checkout Session and returns the url of Stripe's hosted payment page to redirect the customer to : or, with ui mode set to embedded, a client secret for mounting Checkout inline on your own page. No card data reaches this cluster. Either wire line_items, or give amount + product name for a one-off price that needs nothing set up in Stripe first. get checkout stripeconnection New block: Reads back a Checkout Session to answer did they pay. Branch on the paid pin, not on status : a session reaches status complete in subscription and setup modes where no money moved at all. create credit note stripeconnection New block: Credits a customer against an invoice : the accounting way to give a subscriber a month back without refunding their card. credit_balance (the default) puts the amount on their Stripe balance so it comes off their next invoice; refund also sends the money back; out_of_band just records that you settled it elsewhere. The invoice id comes off get subscription as latest invoice id, or off list invoices. create customer stripeconnection New block: Creates the Stripe customer that saved cards, subscriptions and invoices hang off. Stripe enforces no uniqueness : creating this twice for one person gives them two billing histories and two sets of saved cards, so wire an idempotency key from your own user GUID. get customer stripeconnection New block: Reads a Stripe customer. A customer deleted in Stripe comes back as a tombstone rather than an error : this block reports that as CUSTOMER_DELETED instead of handing back an almost-empty object that looks live. list invoices stripeconnection New block: The billing history for a customer or a subscription, newest first. Set at least one of the two filters : unfiltered this would walk the whole account. The latest invoice pins are the shortcut for "credit their last month". cancel payment stripeconnection New block: Cancels a payment that has not completed. A payment that already succeeded cannot be cancelled : refund it instead. create payment stripeconnection New block: Creates a PaymentIntent : the route for a custom card form, where the page confirms with Stripe.js using the client secret. For a hosted payment page use create checkout instead. Also the way to charge a card already on file, with off session. get payment stripeconnection New block: Answers did this payment succeed, and what did they pay with. The payment method pins come off the charge, so they report the method actually used rather than the ones that were offered. list payment methods stripeconnection New block: The cards and mandates a customer has saved, for a "pay with a card on file" screen. Each entry carries a label so a picker can be rendered without digging through the nested object. create refund stripeconnection New block: Sends money back to whatever the customer paid with. Leave amount empty to refund the whole payment. This is one of the two ways to credit someone : it moves real money out of the account. The other is create credit note, which settles against a future invoice instead. cancel subscription stripeconnection New block: Cancels a subscription. By default at the end of the paid-for period: the customer keeps their access until it runs out, the subscription stays active with cancels at period end set, and resume subscription undoes it. Tick immediately to stop access now : that is irreversible, and unless prorate is set the customer is not credited for the unused time. create subscription stripeconnection New block: Starts recurring billing for a customer who already has a payment method on file. To collect the card and subscribe in one step, use create checkout in subscription mode instead. get subscription stripeconnection New block: Reads a subscription : whether it is active, when the paid-for period ends, and whether it is set to run out. Also where the latest invoice id a credit note needs comes from. resume subscription stripeconnection New block: Renews a subscription that was going to stop: clears cancels at period end, and lifts a pause if one is set. A subscription that has already ended cannot be resumed by anything : the block says so rather than failing obscurely, and a new subscription has to be created. update subscription stripeconnection New block: Upgrades, downgrades or re-quantities a subscription. proration behaviour decides what happens to the part of the term already paid for: create_prorations credits the unused time and bills the new plan pro rata on the next invoice, always_invoice bills it straight away, none leaves the customer on the old amount until the term ends. Changing the plan needs the subscription item's id, which this block looks up for you when you give a price id. verify webhook stripeconnection New block: Proves an incoming webhook really came from Stripe, and unpacks the event. Wire the raw request body into payload : a body that has been parsed into an object and re-encoded will never verify, because the signature covers the exact bytes Stripe sent. Without this block an endpoint acts on anything POSTed to a URL that appears in the Stripe dashboard, the blueprint and every log it passed through. probe video New block: Reads width, height, duration, size and whether the file has audio : without transcoding. Runs inline (ffprobe is milliseconds), so branch on the result before deciding whether to compress. thumbnail video New block: Extracts a single frame from a video as a JPEG poster image. Runs inline : it decodes one frame, not the whole file. request auth code aqaraconnection Deprecated in this release, please avoid future use. refresh access token aqaraconnection Deprecated in this release, please avoid future use. verify auth code aqaraconnection Deprecated in this release, please avoid future use. get device information aqaraconnection Deprecated in this release, please avoid future use. get device attribute value aqaraconnection Deprecated in this release, please avoid future use. get device attributes aqaraconnection Deprecated in this release, please avoid future use. update device attribute aqaraconnection Deprecated in this release, please avoid future use. update multiple device attributes aqaraconnection Deprecated in this release, please avoid future use. update device name aqaraconnection Deprecated in this release, please avoid future use. get my devices aqaraconnection Deprecated in this release, please avoid future use. open connection aqaraconnection Deprecated in this release, please avoid future use. execute scene aqaraconnection Deprecated in this release, please avoid future use. get my scenes aqaraconnection Deprecated in this release, please avoid future use. sort array by multiple fields array in-pin array: documentation updated • in-pin fields: documentation updated • in-pin sort: documentation updated • block documentation updated branch branch ai_description changed text comment ai_description changed title comment ai_description changed warning comment ai_description changed else if elseif ai_description changed postmark email event email ai_description changed analyze pdf file added in-pin capture_image (condition, optional) • added in-pin dpi (number, optional) • added in-pin img_format (value, optional) • added in-pin simulation_profile (file, optional) • added in-pin simulation_profile_name (value, optional) • added out-pin image (file) • added out-pin image_error (value) verify transaction function ai_description changed verify notification function ai_description changed verify purchase function ai_description changed base64 to file function ai_description changed subscribe websocket on backend function ai_description changed lock exists function ai_description changed lock ttl function ai_description changed claim lock function ai_description changed lock or wait function ai_description changed free lock function ai_description changed mock connection function ai_description changed log function ai_description changed create document function ai_description changed create multiple documents function ai_description changed create function ai_description changed create key function ai_description changed execute function ai_description changed execute in queue function ai_description changed execute function ai_description changed execute inpin function function ai_description changed permanently delete document function ai_description changed ekt formatter function ai_description changed ekt parser function ai_description changed parse pricat function ai_description changed open modal function ai_description changed connect as customer function added in-pin provider (value, optional) • added out-pin success (condition) • added out-pin error (value) • in-pin api_key: documentation updated • in-pin api_key: modified_version changed • in-pin api_key: optional changed • in-pin api_key: required changed • in-pin clientid: documentation updated • in-pin clientsecret: documentation updated connect as supplier function added in-pin provider (value, optional) • added out-pin success (condition) • added out-pin error (value) • in-pin api_key: documentation updated • in-pin api_key: modified_version changed • in-pin api_key: optional changed • in-pin api_key: required changed • in-pin clientid: documentation updated • in-pin clientsecret: documentation updated foreach function ai_description changed batch function ai_description changed foreach by group on field function ai_description changed loop iterations function ai_description changed foreach on object function ai_description changed get document function ai_description changed get multiple documents (cached) function ai_description changed get function ai_description changed get mapping function ai_description changed convert to webp function ai_description changed decode function ai_description changed sign function ai_description changed verify function ai_description changed get multiple documents function ai_description changed open connection function added in-pin trust_server_certificate (condition, optional) from object function ai_description changed oki file printer function ai_description changed rate limit function ai_description changed decrement function ai_description changed delete function ai_description changed get cache key function ai_description changed get cache json key function ai_description changed get cache ttl function ai_description changed increment function ai_description changed exists function ai_description changed set function ai_description changed set json function ai_description changed set cache ttl function ai_description changed reduce function ai_description changed remove document function ai_description changed remove multiple documents function ai_description changed remove from queue function ai_description changed resize function ai_description changed restore document function ai_description changed restore multiple documents function ai_description changed return function ai_description changed return array function ai_description changed return boolean function ai_description changed return date function ai_description changed return mutations function ai_description changed return number function ai_description changed return object function ai_description changed return state function ai_description changed return user function ai_description changed return value function ai_description changed return Exposed Data function ai_description changed run parallel function ai_description changed save function ai_description changed search function ai_description changed search batch to queue function ai_description changed find existing documents function ai_description changed search neighbors function ai_description changed search single function ai_description changed search streaming function ai_description changed create SEPA function ai_description changed revoke token function ai_description changed search tokens function ai_description changed set system setting function ai_description changed spark on disconnect function ai_description changed open connection function added in-pin host_key (value, optional) storage left join document function ai_description changed storage left join exists function ai_description changed stream array from file function ai_description changed stream xml from file function ai_description changed subscribe websocket on frontend function ai_description changed websocket subscriptions function ai_description changed delay function ai_description changed delay ms function ai_description changed unsubscribe websocket function ai_description changed unzip function ai_description changed set document expiry function ai_description changed update document function ai_description changed update multiple documents function ai_description changed upsert document function ai_description changed create user function in-pin allow_passwordless_login: documentation updated request 2fa sms function in-pin domain: documentation updated sign in as user function out-pin success: documentation updated • out-pin error: documentation updated • ai_description changed validate VAT function ai_description changed wait for document function ai_description changed wait for queue item function ai_description changed send message function ai_description changed zip function ai_description changed reverse geocode geo block documentation updated current request httpconnection ai_description changed disable request body log httpconnection ai_description changed disable response body log httpconnection ai_description changed enable request body log httpconnection ai_description changed enable response body log httpconnection ai_description changed fields httpconnection ai_description changed device info httpconnection ai_description changed is authenticated httpconnection ai_description changed get body httpconnection ai_description changed get raw body httpconnection ai_description changed cookie httpconnection ai_description changed cookies all httpconnection ai_description changed single header httpconnection ai_description changed headers httpconnection ai_description changed remote ip httpconnection ai_description changed accepted languages httpconnection ai_description changed method httpconnection ai_description changed original url httpconnection ai_description changed get params httpconnection ai_description changed get query httpconnection ai_description changed request id httpconnection ai_description changed get user scopes httpconnection ai_description changed is user allowed to all scopes httpconnection ai_description changed reply with file httpconnection ai_description changed reply in JSON httpconnection ai_description changed reply in JSONP httpconnection ai_description changed redirect httpconnection ai_description changed redirect to page httpconnection ai_description changed set status code httpconnection ai_description changed write to stream httpconnection ai_description changed end writestream httpconnection ai_description changed reply in text httpconnection ai_description changed timeout httpconnection ai_description changed reply with xml from json httpconnection ai_description changed reply with xml httpconnection ai_description changed get cluster info lxdconnection deprecated changed get cluster members lxdconnection deprecated changed delete file lxdconnection deprecated changed file info lxdconnection deprecated changed post file lxdconnection deprecated changed post text file lxdconnection deprecated changed get instance info lxdconnection deprecated changed remove instance lxdconnection deprecated changed restart instance lxdconnection deprecated changed start instance lxdconnection deprecated changed get instance state lxdconnection deprecated changed stop instance lxdconnection deprecated changed update instance lxdconnection deprecated changed update instance configuration lxdconnection deprecated changed get instances lxdconnection deprecated changed create instance lxdconnection deprecated changed get network info lxdconnection deprecated changed get network acl info lxdconnection deprecated changed remove network acl lxdconnection deprecated changed update network acl lxdconnection deprecated changed get network acls lxdconnection deprecated changed connect network acl to network lxdconnection deprecated changed remove network lxdconnection deprecated changed rename network lxdconnection deprecated changed update network lxdconnection deprecated changed get networks lxdconnection deprecated changed create network acl lxdconnection deprecated changed create network lxdconnection deprecated changed open connection lxdconnection ai_description changed • deprecated changed • block documentation updated get operation state lxdconnection deprecated changed get operations lxdconnection deprecated changed get server info lxdconnection deprecated changed send message mssgs added in-pin provider (value, optional) • in-pin webhook: documentation updated • in-pin webhook: modified_version changed • in-pin webhook: optional changed • in-pin webhook: required changed • block documentation updated multiple mutations ai_description changed add file mutations ai_description changed add multiple unique to array mutations ai_description changed add unique to array mutations ai_description changed add to array mutations ai_description changed add unique to custom array mutations ai_description changed add to custom array mutations ai_description changed upsert item to array mutations ai_description changed if mutations ai_description changed decrement by field mutations ai_description changed decrement custom field mutations ai_description changed difference to mutations mutations ai_description changed elseif mutations ai_description changed get first mutation mutations ai_description changed from object mutations ai_description changed get at index mutations ai_description changed increment by field mutations ai_description changed increment custom field mutations ai_description changed get last mutation mutations ai_description changed merge into array mutations ai_description changed remove fields mutations ai_description changed remove custom field mutations ai_description changed remove from array mutations ai_description changed remove from custom array mutations ai_description changed set fields mutations ai_description changed set custom field mutations ai_description changed switch mutations ai_description changed abs number ai_description changed autoincrement number ai_description changed get bearing between points number ai_description changed if number ai_description changed ceil number ai_description changed number number ai_description changed ÷ number ai_description changed elseif number ai_description changed ** number ai_description changed floor number ai_description changed GB in bytes number ai_description changed get distance number ai_description changed largest number ai_description changed logical or number ai_description changed Cos number ai_description changed Exp number ai_description changed Log number ai_description changed Log2 number ai_description changed max number ai_description changed min number ai_description changed Pow number ai_description changed Sin number ai_description changed MB in bytes number ai_description changed median number ai_description changed - number ai_description changed mode number ai_description changed % number ai_description changed invert number ai_description changed one day number ai_description changed one hour number ai_description changed one minute number ai_description changed one month number ai_description changed one quarter number ai_description changed one week number ai_description changed one year number ai_description changed pad end number ai_description changed parseFloat number ai_description changed parseInt number ai_description changed pearson correlation number ai_description changed percentage number ai_description changed + number ai_description changed random number number ai_description changed random between number ai_description changed round number ai_description changed smallest number ai_description changed square root number ai_description changed switch number ai_description changed TB in bytes number ai_description changed x number ai_description changed convert to hex number ai_description changed pad start number ai_description changed cast to user object ai_description changed on api delete on ai_description changed on api file upload on ai_description changed On API GET on ai_description changed on api patch on ai_description changed on api post on ai_description changed on api put on ai_description changed parallel parallel ai_description changed create payment info payments ai_description changed multiple payments payments ai_description changed aggregation query ai_description changed multiple query ai_description changed array should / or query ai_description changed field query ai_description changed custom field query ai_description changed filter query ai_description changed bounding box query ai_description changed distance query ai_description changed polygon query ai_description changed search as you type query ai_description changed must query ai_description changed must not query ai_description changed value query ai_description changed query string query ai_description changed field between query ai_description changed date query ai_description changed date format query ai_description changed field > {value} query ai_description changed field >= {value} query ai_description changed field < {value} query ai_description changed field <= {value} query ai_description changed number query ai_description changed field > {value} query ai_description changed field >= {value} query ai_description changed field < {value} query ai_description changed field <= {value} query ai_description changed should / or query ai_description changed simple query string query ai_description changed array match include query ai_description changed fields query ai_description changed fuzzy query ai_description changed value query ai_description changed if query ai_description changed cast to object query ai_description changed count only query ai_description changed disable cache query ai_description changed elseif query ai_description changed function score query ai_description changed Include geo distance query ai_description changed include total hits query ai_description changed include removed query ai_description changed limit query ai_description changed offset query ai_description changed profile query ai_description changed search after query ai_description changed sorting query ai_description changed geo distance sorting query ai_description changed sort random query ai_description changed sort score query ai_description changed fields to select query ai_description changed switch query ai_description changed match with any query ai_description changed repeating event schedule ai_description changed sequence sequence ai_description changed open connection sftp added in-pin host_key (value, optional) soap function streaming soapconnection added in-pin array_name (value) • ai_description changed update server state state added in-pin flow (flow) • added out-pin flow (flow) • removed in-pin state (state) • removed in-pin store_in_session (condition, optional) • removed out-pin state (state) • in-pin skip_update: documentation updated • group changed • block documentation updated • renamed update local state to update server state dynamic query filter statedatatablefilter added in-pin extra_persistent_fields (fielddefinitions, optional) selector storage ai_description changed dynamic storage storage ai_description changed trigger event storage ai_description changed switch switch ai_description changed on startup system ai_description changed create transaction transaction ai_description changed create transactions from array transaction ai_description changed create trigger ai_description changed matches ip user ai_description changed has scope user ai_description changed cast to object user ai_description changed current user user ai_description changed get fields user ai_description changed get connection user ai_description changed get custom field from user user ai_description changed get guid user ai_description changed get ip user ai_description changed has 2FA user ai_description changed host url user ai_description changed is on electron user ai_description changed is on iPad user ai_description changed is loggedin user ai_description changed is on mobile user ai_description changed token user ai_description changed cipheriv decrypt value ai_description changed cipheriv encrypt value ai_description changed compress video added in-pin start_seconds (number, optional) • added in-pin duration_seconds (number, optional) Blocks introduced
access deniedhomeassist Starts the flow when someone is refused: an unknown card, a wrong PIN, a credential outside its schedule. access granted homeassist Starts the flow when someone is let in: a valid card, PIN, wave or mobile credential. The actor and method are on the out-pins. acknowledge purchase androidconnection Tells Play you have granted what the user bought. Not optional: Google revokes and refunds any purchase left unacknowledged for three days, so a flow that verifies a purchase and stops here gives the money back : days later, quietly. apple: get subscription status function Asks Apple what a subscription's state is right now, instead of believing what arrived in a notification. This is the authoritative read : use it when a notification was missed or arrived out of order, and whenever a client claims an entitlement. apple: verify signed payload function Verifies an Apple-signed JWS : an App Store Server Notification's signedPayload, or the signedTransactionInfo / signedRenewalInfo nested inside one : and returns its claims. The signature is the only thing separating a real purchase from someone posting themselves a subscription, so nothing downstream should trust a payload this block did not pass. base64 to file function Accepts a base64 string and returns a file. The file is written to its own directory under /temp/ (/temp/{id}/{filename}) so concurrent conversions never share a name. battery low homeassist Starts the flow when a device's battery drops below the threshold, or reports its own low-battery flag. blurhash function Compute a blurhash placeholder for the given images : a ~30 character string a client paints as a blur while the real image loads broadcast function Send a message across different sessions over a channel and event. These messages are on send and forget base and are not stored. build output template anthropicconnection Pick the fields Claude should return and describe each one; produces an output template for a Claude block's output template. Each field's type comes from the field itself; per field you set a description and (optionally) the allowed options. No JSON Schema knowledge needed. build tool anthropicconnection Define a tool Claude can call and pick the function that runs it. The function receives the model's arguments as in-pins and returns the result back to Claude. Feed the output into a message block's tools pin. button pressed homeassist Starts the flow when a button or scene switch is pressed. The `value` pin says which press it was: single, double, hold, release. camera motion detected homeassist Starts the flow when a camera detects motion. cancel payment stripeconnection Cancels a payment that has not completed. A payment that already succeeded cannot be cancelled : refund it instead. cancel subscription stripeconnection Cancels a subscription. By default at the end of the paid-for period: the customer keeps their access until it runs out, the subscription stays active with cancels at period end set, and resume subscription undoes it. Tick immediately to stop access now : that is irreversible, and unless prorate is set the customer is not credited for the unused time. check per-apex slots dnszone Report which per-apex slots a group member has filled, which it will never need, and which nobody has answered for. classify anthropicconnection Classify input into exactly one of your labels using Claude; route the resulting label with a switch block. climate set homeassist Sets an air conditioner or thermostat: on/off, mode, target temperature, fan speed. code (highlighted) state Source code with syntax highlighting. Renders server-side with no external library; supports nginx, javascript, json, bash, go, sql and yaml. code execution tool anthropicconnection Let Claude run Python in a sandbox (data analysis, math, charts); Anthropic-hosted. Wire the tool output into a message block's tools pin. compress video Compresses a video file with ffmpeg as a background queue job. Use a preset for standard message-media output, or override individual settings. Wire on_complete_function / on_error_function to react to the result. connect function Opens a Stripe connection. Point it at a Stripe service provider so the secret key stays in the provider store and never appears in this blueprint : the API key pin is the older way and leaves the key readable to anyone who can open the flow. contact closed homeassist Starts the flow when a door or window is closed. contact opened homeassist Starts the flow when a door or window is opened. convert currency currency Convert an amount between currencies using ECB daily reference rates. copy file Copies the given files into a destination directory, keeping each file's original name. The destination directory is a folder path (created if missing), not a full path including the filename : e.g. /public/uploads copies hero.png to /public/uploads/hero.png. Place the directory under /public/… to make the copies publicly servable via /static/…. To rename the copy, set the optional filename pin (single source file only). To fan one file out to several full paths and/or names at once, use the file spread block instead. count tokens anthropicconnection Count the input tokens a prompt (with system + attachments) would use, and estimate the cost; before you send it. Free; no spend. create batch anthropicconnection Submit many prompts as one asynchronous batch at 50% of the standard price (results within 24h). Wire on_finished/on_item to be called automatically when the batch completes (the system polls in the background), or poll the batch_id yourself with the get batch block. create checkout stripeconnection Creates a Stripe Checkout Session and returns the url of Stripe's hosted payment page to redirect the customer to : or, with ui mode set to embedded, a client secret for mounting Checkout inline on your own page. No card data reaches this cluster. Either wire line_items, or give amount + product name for a one-off price that needs nothing set up in Stripe first. create credit note stripeconnection Credits a customer against an invoice : the accounting way to give a subscriber a month back without refunding their card. credit_balance (the default) puts the amount on their Stripe balance so it comes off their next invoice; refund also sends the money back; out_of_band just records that you settled it elsewhere. The invoice id comes off get subscription as latest invoice id, or off list invoices. create customer stripeconnection Creates the Stripe customer that saved cards, subscriptions and invoices hang off. Stripe enforces no uniqueness : creating this twice for one person gives them two billing histories and two sets of saved cards, so wire an idempotency key from your own user GUID. create memory anthropicconnection Open (or create) a persistent memory by id. The same id returns the same memory across runs, so Claude can pick a conversation back up weeks later. Feed the memory into a send message block. create payment stripeconnection Creates a PaymentIntent : the route for a custom card form, where the page confirms with Stripe.js using the client secret. For a hosted payment page use create checkout instead. Also the way to charge a card already on file, with off session. create refund stripeconnection Sends money back to whatever the customer paid with. Leave amount empty to refund the whole payment. This is one of the two ways to credit someone : it moves real money out of the account. The other is create credit note, which settles against a future invoice instead. create subscription stripeconnection Starts recurring billing for a customer who already has a payment method on file. To collect the card and subscribe in one step, use create checkout in subscription mode instead. delay ms function generate a delay in milliseconds delete memory anthropicconnection Delete a memory by id (forget the conversation and its files). device adopt homeassist Takes a discovered device into service, so triggers fire for it and blocks can command it. device adopted homeassist Starts the flow when a device is taken into service. device discovered homeassist Starts the flow when a NEW device appears on the radio, before it is adopted. device forget homeassist Removes a device from RUAL. It stays paired to the radio and will reappear, unadopted, on its next report. device overview state A ready-made overview of every device home automation knows about: grouped by room or adapter, with live capability readings, sparklines from the analytics store, and the devices that are discovered but not yet adopted. Renders from standard components, so it can be styled and taken apart like anything else. device rename homeassist Sets a device's friendly name and/or room. device set homeassist Sets any capability on any device. The escape hatch for things the specific blocks do not cover. device state changed homeassist Starts the flow on ANY change from a device. The catch-all : use a specific trigger where one exists. device unavailable homeassist Starts the flow when a device stops responding. door lock homeassist Locks a door, and holds it locked unless you ask it not to. door or gate closed homeassist Starts the flow when a controlled door or gate physically closes. door or gate locked homeassist Starts the flow when the lock engages. door or gate opened homeassist Starts the flow when a controlled door or gate physically opens. door or gate unlocked homeassist Starts the flow when the lock releases, whether or not the door then opens. door unlock homeassist Unlocks a door. By default this is a momentary unlock : the door releases long enough for one person, then re-locks : matching the 'let them in' button. doorbell rang homeassist Starts the flow when someone rings a doorbell or door station. enrich with nearby places places Adds the nearest place per category to every item in a list, in one call : no iterator needed. The usual pipeline is: query your objects, run this block, then write the result back with a mutation. After that an ordinary range query filters on the stored distance, so no further lookups are needed. Each item gets {distance_m, name, id, count} per category under output path. Items are copied, never modified in place, and every item is returned whether or not it had a usable coordinate. exchange rate currency Get the exchange rate between two currencies (ECB daily reference rates). facet counts by places places Counts how many items in a list are near each category : “412 objects near a hospital” in one node. Counts items, not places: an item with three hospitals nearby counts once, which is what a facet over an inventory means. Pass categories with a shared radius, or filters for a named filter per facet. filter by places places Keeps or removes items from a list according to a places filter, without writing anything to a store. Feed it a filter from places_parse_query to turn typed text such as binnen 300m van een basisschool straight into a filtered list. Items with no usable coordinate cannot satisfy a spatial test, so they are treated as not matching. format currency currency Format an amount as a currency string with symbol and grouped thousands (e.g. $1,234.50). from city geo Resolves a city/town name (optionally constrained to a country code, e.g. NL, and a province/state, e.g. Vermont) to a geo point at the city centre, plus the city's radius in metres and its province/country. Offline lookup against the embedded dataset. A city name is not unique within a country : eight US states have a Morristown : so wire province whenever you know it, for example straight from geo point reverse geocode. from path file Turns a path (or list of paths) into a file, so a stored path can be handed to the file blocks. A leading slash means the entity root. Missing paths are left out and reported on success rather than failing : deleting something already gone is not an error. fuzz geo locations array For each item in the array, replaces the location with a uniformly-random point within a disc of the item's fuzzing distance (km) when the item's fuzzing-enabled field is true. Items where fuzzing is disabled, the location is invalid, or the distance is non-positive pass through unchanged. gate close homeassist Closes a gate or garage door. gate closed homeassist Starts the flow when the gate physically closes. gate open homeassist Opens a gate or garage door. gate opened homeassist Starts the flow when the gate physically opens. gb in bytes number Converts an amount of gigabytes (GB) to bytes. Binary/1024-based: 1 GB = 1,073,741,824 bytes. generate random string value Generates a cryptographically random string from an alphabet you choose. Use it for human-facing codes (claim, invite, voucher) where the alphabet has to exclude lookalike characters. Every character of the alphabet is equally likely. get active sensors homeassist Returns every sensor that is currently triggered: motion present, doors open, leaks found. get all devices homeassist Returns every adopted device, optionally filtered by type, room or adapter. get arrivals nsconnection Get the live arrival board for a station. Provide the station code or the UIC code. get batch anthropicconnection Poll a batch by id. Fires `ended` and returns all results (text/usage/cost per custom_id) once processing finishes. get checkout stripeconnection Reads back a Checkout Session to answer did they pay. Branch on the paid pin, not on status : a session reaches status complete in subscription and setup modes where no money moved at all. get customer stripeconnection Reads a Stripe customer. A customer deleted in Stripe comes back as a tombstone rather than an error : this block reports that as CUSTOMER_DELETED instead of handing back an almost-empty object that looks live. get departures nsconnection Get the live departure board for a station. Provide the station code or the UIC code. get device homeassist Returns one device: its name, room, capabilities and current state. get device history homeassist Returns recorded readings for one capability of one device, optionally bucketed for charting. get device state homeassist Reads one capability from one device : is the motion sensor triggered, what is the temperature. get disruptions nsconnection Get current disruptions and engineering works on the NS network. get fields object Gets the selected fields from the given object. get lights that are on homeassist Returns every light currently switched on. get memory anthropicconnection Read a memory's contents by id (conversation history, memory files, summary) without creating one. get multiple documents (cached) function Get multiple documents from the given storage using the hot document cache. Fetches each document individually. Skips documents that do not exist or are removed. get nearest stations nsconnection Find the NS stations closest to a coordinate. Provide a geo point, or a separate latitude and longitude. get payment stripeconnection Answers did this payment succeed, and what did they pay with. The payment method pins come off the charge, so they report the method actually used rather than the ones that were offered. get place by id places Looks up a single place by its Overture id : the block for re-resolving an id you stored earlier. Not finding it is a successful lookup with found false, not an error: an id can disappear between dataset releases, so branch on found rather than on success. Ids are opaque; do not parse them. get raw body httpconnection Returns the request body exactly as received on the wire, as a string : the bytes an HMAC signature covers. Use this (never a re-serialized object) when verifying signature headers like X-Mssgs-Signature. get rooms homeassist Returns the list of rooms that have devices assigned to them. get stations nsconnection List or search NS stations. Leave the search empty to retrieve all stations. get status homeassist Returns which radios are connected and how many devices are known. get subscription stripeconnection Reads a subscription : whether it is active, when the paid-for period ends, and whether it is set to run out. Also where the latest invoice id a credit note needs comes from. get usage anthropicconnection Report total tokens and cost used on this connection (USD and the connection's currency), with a per-category breakdown. get video size file Returns the dimensions of the video given (MP4-family containers). hash file Computes a content hash (sha256 by default; md5/sha1 supported) for each given file : e.g. to detect duplicate uploads before storing them. humidity changed homeassist Starts the flow when a humidity reading changes. Set above or below to fire only when it crosses a threshold. import zone export dnszone Read a Route53 export and hand back the records, the SOA timers and the delegation, ready to store. is nearby geo Checks whether a road or railway is within a given distance of a geo point, and returns the nearest point on it. Offline lookup against the road/rail network (Benelux, OpenStreetMap). is valid geo Checks whether the given geo point has a valid latitude and longitude. land cover geo Resolves a geo point to a terrain / land-cover type (urban, agricultural, forest, grassland, wetland, water, bare, coastal). Offline raster lookup (Benelux, simplified CORINE). light dim homeassist Sets a light's brightness without changing anything else. light off homeassist Turns a light off. light on homeassist Turns a light on. Optionally set brightness, colour temperature or colour in the same command. light toggle homeassist Flips a light: on if it is off, off if it is on. light turned off homeassist Starts the flow when a light is switched off. light turned on homeassist Starts the flow when a light is switched on : by anyone, including a wall switch or the vendor's own app. list currencies currency List the supported currency codes (the ECB set plus EUR). list invoices stripeconnection The billing history for a customer or a subscription, newest first. Set at least one of the two filters : unfiltered this would walk the whole account. The latest invoice pins are the shortcut for "credit their last month". list memories anthropicconnection List all memories (id, timestamps, expiry, turn count) for browsing or housekeeping. list payment methods stripeconnection The cards and mandates a customer has saved, for a "pay with a card on file" screen. Each entry carries a label so a picker can be rendered without digging through the nested object. list place categories places Lists the curated category groups with their Dutch and English labels and synonyms : the block to build a category dropdown from. Overture ships roughly 1700 raw categories, which is far too many to show a user, so they are folded into a smaller curated set. Any group id or synonym listed here can be passed to the categories pin on the other blocks. load balancer fleet status nginxsite Ask every load balancer what it serves and whether the fleet agrees with itself. Reads only. lock or wait function Sets a lock or waits until the lock has been released. match places filter places Tests one geo point against a places filter, normally one from places_parse_query. distance_m and count come back whether or not the filter matched, so you can re-answer any radius question from the result without calling again : which is what lets a radius slider move without a round trip. reason is a readable Dutch explanation you can show to the user. mb in bytes number Converts an amount of megabytes (MB) to bytes. Binary/1024-based: 1 MB = 1,048,576 bytes. memory from json anthropicconnection Cast a raw {id, guid} object into a memory handle for a send message block; for passing a memory handle you already have. memory tool anthropicconnection Let Claude manage its own long-term memory notes (read, write, search) for the wired memory. Drop into a message block's tools pin; use the toggles to limit what it may do. multiple anthropicconnection Combine several tools into one connection for a message block's tools pin. nearest places places Finds the nearest points of interest to a geo point, ordered by distance, with the distance to each in metres. Leave max distance empty for an unbounded search : because you get distances back rather than a yes/no, you can apply any radius afterwards without querying again, which is what makes a free-choice radius slider possible. Data is Overture Maps Places; see places_dataset_info for the release, and note that counts are indicative rather than a register. nfc card swiped homeassist Starts the flow when any NFC card or fob is presented to a reader, whether or not it was accepted. on api file upload on Exposes URI on /api/. Accepts a multipart/form-data POST request and saves the attached file. Supports its own rate limit and lock (serialisation) through the pins below. open connection sftp open sftp connection open connection lettermintconnection Opens a new lettermint connection using the given API token. open connection nsconnection Open a connection with the NS (Nederlandse Spoorwegen) Reisinformatie API. Reuse the resulting connection in the other NS blocks. open connection function Opens a MSSQL connection. open connection function Create a connection to the Anthropic (Claude) API for use by Claude blocks. output template from json anthropicconnection Cast a raw JSON Schema object into an output template for a message block (or a tool's parameters); for full control beyond the build output template block. pairing open homeassist Opens the radio for new devices to join, for a bounded number of seconds. parse json (repair) anthropicconnection Recover and parse JSON from messy text (code fences, prose, trailing commas, truncation). No API call. parse places query places Turns typed Dutch or English into a structured filter. binnen 300m van een basisschool becomes a proximity filter; niet bij scholen becomes a negated one; minimaal 3 kroegen binnen 500m carries a minimum count; wijk Jordaan and Station Breda resolve to a location. Feed filter into places_match, places_filter or places_facet. Parsing is rule-based and deterministic : no model call and no network. It never guesses silently: anything it could not read comes back in unparsed with a lower confidence, so you can fall back to plain search instead of acting on a half-understood filter. place density places Measures how built-up the area around a point is: how many places sit within the radius, the rate per km², a breakdown per category, and a classification (dense_urban, urban, suburban, rural). The classification is driven by the per-km² rate rather than the raw count, so it does not change when you change the radius. Data is Overture Maps Places. place here places Resolves the place a coordinate is at, rather than the record nearest to it. Two things separate it from places_nearest. It ignores records that are not places you can be at : at Madurodam the restaurant inside it is a metre nearer than the park, and the park is still the answer. And it recognises being inside something: a point in the middle of the Efteling has a snack bar four metres away and the park's own record half a kilometre off at the entrance, so the answer is the park. That is inferred from the park's own attractions surrounding you, because Overture Places has points and no boundaries; kind tells you which way the answer was reached, and a point with nothing prominent around it honestly answers none rather than reaching for the nearest landmark it can find. places dataset info places Reports which dataset this node is serving: the Overture release, the vocabulary version, and how many records and categories it holds. This is the one places block that answers when no dataset is loaded : that is its job, so check loaded rather than success. Worth surfacing in an admin view: the release string is what makes results reproducible and comparable between refreshes. Accuracy limits worth knowing: education categories overcount by roughly 6% against the official register, counts are indicative until conflation exists, and confidence is uncalibrated. places in bounding box places Returns every point of interest inside a bounding box : the block for rendering what is currently on screen. Results carry no distance, because a bounding box has no query point; use places_nearest when you need distances. Data is Overture Maps Places. places within radius places Returns every point of interest inside a radius, nearest first. Reports both count and raw_count: Overture is not conflated, so the gap between them is how much duplication the source data carries at this spot. Treat count as a deduplicated search result, not a census : train_station totals 1,432 nationally against roughly 400 real stations. Data is Overture Maps Places. plan trip nsconnection Plan a journey between an origin and a destination. Each endpoint accepts a station code, a UIC code, or a geo point. preflight document anthropicconnection Convert a document (PDF, image, HTML, spreadsheet, text) to clean Markdown with a cheap model, stripping boilerplate; run before sending it to an expensive model to cut tokens. preflight documents anthropicconnection Convert several documents to clean Markdown with a cheap model, in parallel. Returns one .md file per input plus the concatenated Markdown; run before sending an upload set to an expensive model. presence cleared homeassist Starts the flow when a room becomes empty. presence detected homeassist Starts the flow when someone is detected in a room. probe video Reads width, height, duration, size and whether the file has audio : without transcoding. Runs inline (ffprobe is milliseconds), so branch on the result before deciding whether to compress. push site config to the load balancers nginxsite Replace the live site config and reload nginx, per node. Gated on a passing nginxsite_check over these exact bytes for every target node. push zone to the nameservers dnszone Replace the live zone file and reload, per nameserver. Only reachable once the check passed on every node. rate limit function Counts calls per registered key and reports whether this one is still within the limit. Replaces the incr-key + ttl + condition chain every API blueprint used to build by hand: pick a key that identifies the caller (for example one with a {ip:value} placeholder), a limit, and a window. Rejected calls count towards the limit as well. raw request nsconnection Perform a raw GET request against any NS Reisinformatie API path. Use this for endpoints without a dedicated block. remove fields conditional array For each object in the array, removes the configured fields only when the value at match_key equals match_value. Non-matching items pass through unchanged. Original objects are not mutated. remove site config from the load balancers nginxsite Remove a live site config and reload nginx, per node. The far side refuses when the remaining set would not validate without it, and archives rather than destroys. render zone file dnszone Render a complete BIND zone file from stored records, with the decision report that belongs in front of a push. reply in json httpconnection Reply to any httpconnection as JSON body request passwordless login code function Send a passwordless login code (email or SMS) to a user. Bypasses the rate limit so it can be triggered right after creating an account. The code itself is never exposed. resolve place category places Resolves free text such as kroeg, basisschool or supermarkt to a category group id. Regular plurals are handled, so kroegen and bars work without being listed. When a word spans several groups : school is the obvious case : the alternatives are returned rather than one being picked silently, because only you know which was meant. resume subscription stripeconnection Renews a subscription that was going to stop: clears cancels at period end, and lifts a pause if one is set. A subscription that has already ended cannot be resumed by anything : the block says so rather than failing obscurely, and a new subscription has to be created. reverse geocode array Enriches an array of objects in place: for each item it reads the geo point at the location key and writes the resolved city, province, country and country code into the configured output keys. Offline lookup (embedded multi-country dataset). reverse geocode geo Resolves a geo point to the nearest street, city, province and country. City/province/country are nearest-populated-place, and always stay in the country of the nearest known place : a point near a border is never relabelled with a larger city on the other side. Street is the nearest named road (needs the road network loaded). run parallel function Runs up to 5 selected functions in parallel to speed up execution, then continues the flow once all have finished. Each function's return values are exposed on its own result_N object pin. Sets success=false and a global error if any function fails. search as you type query Matches documents whose field starts with the given phrase, analyzed on both sides. Use this for type-ahead: the last word is treated as a prefix and the input goes through the same analyzer as the stored text, so mssgs test matches MSSGS-Test-1. For an exact, unanalyzed prefix on a keyword field use starts with instead. search neighbors function Given an anchor GUID, returns the N documents directly before and the M directly after it when the storage is sorted by the chosen field. Use this to show context around a specific document (e.g. messages around a chat message) without paginating the whole storage. search places places One search box over both points of interest and settlements, with a single ranking across the two. Handles accents (Bréda finds Breda), typos (amsterdm centraal), partial words as you type, and collapses duplicate records for the same real place. Settlements outrank businesses, so Breda resolves to the municipality rather than to one of the ~2000 business names containing it. Pass near to bias results towards the current viewport. Each result carries kind, subtitle and score, so a dropdown renders straight from them. security alarm activated homeassist Starts the flow when the security system's own alarm goes active. send email lettermintconnection sends a single email via Lettermint. send email batch lettermintconnection sends up to 500 emails in a single Lettermint batch request. Each item in the input array supports the same fields as the single send block (from, to, subject, html, text, cc, bcc, reply_to, tag, attachments). send message anthropicconnection Send a message to Claude and get the reply, with built-in cost guard, model allowlist and typed error reporting. send message mssgs Send a message into a mssgs channel. Point it at a mssgs service provider so the webhook URL stays out of this blueprint : the URL embeds the webhook's token, so anyone who can read it can post to the channel. Only the destination and the message are required; the other pins map to the rich message_container options. sensor activated homeassist Starts the flow when a sensor turns ON: motion detected, a door opened, water found, smoke detected. sensor deactivated homeassist Starts the flow when a sensor turns OFF: motion cleared, a door closed, a leak stopped. sha1 value sha256 value sha256 value HMAC-SHA256 of the value keyed with the secret, as lowercase hex : e.g. to verify a webhook's X-Mssgs-Signature: sha256=<hex> header against the raw request body. sha512 value smoke detected homeassist Starts the flow when a smoke alarm triggers. snap to network geo Snaps a geo point onto the nearest road or railway (road/track pinning). Outputs the snapped point and how far it moved. Offline lookup against the road/rail network (Benelux, OpenStreetMap). spread file Copies a single source file to multiple destination paths, creating a real copy for each. Each entry in paths is a full destination path including the filename (e.g. /public/uploads/hero.png), so one upload can be fanned out to several locations and/or names at once. stream message anthropicconnection Send a prompt to Claude and stream the reply token-by-token to a WebSocket channel as it generates, then return the full text. summarize memory anthropicconnection Compact a memory: fold the older turns into a running summary and trim the history, so a long conversation stays cheap and in-context while keeping its gist. Run it periodically. switch off homeassist Turns a plug, relay or switch off. switch on homeassist Turns a plug, relay or switch on. switch turned off homeassist Starts the flow when a plug, relay or switch is turned off. switch turned on homeassist Starts the flow when a plug, relay or switch is turned on. tb in bytes number Converts an amount of terabytes (TB) to bytes. Binary/1024-based: 1 TB = 1,099,511,627,776 bytes. temperature changed homeassist Starts the flow when a temperature reading changes. Set above or below to fire only when it crosses a threshold. test condition Returns true if the regular expression matches the text. Mirrors JS RegExp.prototype.test(). thumbnail video Extracts a single frame from a video as a JPEG poster image. Runs inline : it decodes one frame, not the whole file. to unix milliseconds date Converts a date, date string, or epoch timestamp to a Unix timestamp in MILLISECONDS : the unit of _meta.ums/cms/rms and of most external APIs. Numbers (and numeric strings) are detected by size: values of 100000000000 (11 digits, March 1973) and above are already milliseconds and pass through, smaller values are read as seconds and multiplied. Pre-1973 millisecond values are outside the detection range : convert those by hand. Anything non-numeric is parsed like every other date pin, in the entity timezone. to unix seconds date Converts a date, date string, or epoch timestamp to a Unix timestamp in SECONDS : the unit the platform's date fields store. Numbers (and numeric strings) are detected by size: values of 100000000000 (11 digits, March 1973) and above are read as milliseconds and divided, smaller values pass through as seconds; fractional seconds are floored. Pre-1973 millisecond values are outside the detection range : convert those by hand. Anything non-numeric is parsed like every other date pin, in the entity timezone. tool from json anthropicconnection Cast a raw JSON object into a tool for a message block's tools pin; for full control beyond the build tool block. tool if anthropicconnection Pick a tool based on a condition: outputs the true tool when the condition holds, otherwise the false tool. Add elseif branches for more cases. tool switch anthropicconnection Pick a tool by matching an expression against case values (with an optional default). Wire the result into a message block's tools pin. travel mode from points geo Classifies which network a series of GPS points is travelling on (road pinning): when at least min ratio of the points lie within max distance of a road or railway, the traveller is pinned to that network : e.g. the last 5 fixes near a road means driving, near a railway means riding a train. When both networks qualify the one with the smaller mean distance wins. Outputs the mode (road, rail or none), per-network conditions, the match confidence and the points snapped onto the matched network. A single geo point object is accepted as well; entries without numeric lat/lon are ignored. Offline lookup against the road/rail network (Benelux, OpenStreetMap). ttl 1 day date Gives you the current date plus 1 day. Useful as a TTL value. ttl 1 hour date Gives you the current date plus 1 hour. Useful as a TTL value. ttl 1 minute date Gives you the current date plus 1 minute. Useful as a TTL value. ttl 1 month date Gives you the current date plus 1 month. Useful as a TTL value. ttl 1 week date Gives you the current date plus 1 week. Useful as a TTL value. ttl 1 year date Gives you the current date plus 1 year. Useful as a TTL value. ttl 12 hours date Gives you the current date plus 12 hours. Useful as a TTL value. ttl 2 weeks date Gives you the current date plus 2 weeks. Useful as a TTL value. ttl 3 months date Gives you the current date plus 3 months. Useful as a TTL value. ttl 30 minutes date Gives you the current date plus 30 minutes. Useful as a TTL value. ttl 5 minutes date Gives you the current date plus 5 minutes. Useful as a TTL value. ttl 6 hours date Gives you the current date plus 6 hours. Useful as a TTL value. ttl 6 months date Gives you the current date plus 6 months. Useful as a TTL value. update subscription stripeconnection Upgrades, downgrades or re-quantities a subscription. proration behaviour decides what happens to the part of the term already paid for: create_prorations credits the unused time and bills the new plan pro rata on the next invoice, always_invoice bills it straight away, none leaves the customer on the old amount until the term ends. Changing the plan needs the subscription item's id, which this block looks up for you when you give a price id. validate site config on the load balancers nginxsite Run nginx -t for this site config on every load balancer, in the context of its full live config. Writes nothing to any live directory. validate zone on the nameservers dnszone Run named-checkzone on every nameserver. Writes nothing anywhere, on any node. verify serials across the nameservers dnszone Ask every nameserver which serial it is actually serving, and whether they agree. verify subscription androidconnection Reads a Play subscription's real state (subscriptionsv2). Use this rather than verify purchase for anything recurring : that one only answers for one-time products and 404s on a subscription token. verify webhook stripeconnection Proves an incoming webhook really came from Stripe, and unpacks the event. Wire the raw request body into payload : a body that has been parsed into an object and re-encoded will never verify, because the signature covers the exact bytes Stripe sent. Without this block an endpoint acts on anything POSTed to a URL that appears in the Stripe dashboard, the blueprint and every log it passed through. wait for queue item function Polls a queue document by GUID and blocks the flow until the job reaches a terminal state (executed/failed) or the timeout elapses. Use with any block that produces a queue_guid outpin (e.g. video_compress with wait_in_flow=false) to gate downstream work on background completion. water leak detected homeassist Starts the flow when a leak sensor finds water. web search tool anthropicconnection Let Claude search the web (Anthropic-hosted). Wire the tool output into a message block's tools pin. Optionally cap uses or restrict domains. world bbox osmworld Fetch OSM world geometry for a bounding box (south,west,north,east) as GeoJSON (roads, buildings, water, greenery). world tile osmworld Fetch OSM world geometry for a slippy-map tile (z/x/y) as GeoJSON (roads, buildings, water, greenery). Recommended zoom: 15. Geometry is simplified per zoom (buildings stay crisp at z≥15). Blocks modified
claim lockfunction Tries to claim a lock and returns if it was successful or not connect as customer function Creates an initial connection with the Floriday customer API using your API key. connect as supplier function Creates an initial connection with the Floriday supplier API using your API key. connect network acl to network lxdconnection Connects the given network ACL with the given network on the LXD server. create instance lxdconnection Creates a instance on the LXD server. create network lxdconnection Creates a network on the LXD server. create network acl lxdconnection Creates a network ACL on the LXD server. delete file lxdconnection Deletes a file. file info lxdconnection Get metadata for a file. filter by geo distance array Filters an array of objects, keeping only items where the from location is within the distance specified by each item's distance field. The distance unit (km or m) is configurable. get cache ttl function get the time to live in seconds get cluster info lxdconnection Retreives the information about the LXD cluster. get cluster members lxdconnection Retreives the LXD cluster members. get instance info lxdconnection Get info of a instance on the LXD server. get instance state lxdconnection Get state of a instance on the LXD server. get instances lxdconnection Retreives the instances that are on the LXD server. get network acl info lxdconnection Retreives all the info of a network ACL on LXD server. get network acls lxdconnection Retreives all the networks ACLS on LXD server. get network info lxdconnection Retreives all the info of a network on LXD server. get networks lxdconnection Retreives all the networks on LXD server. get operation state lxdconnection Retreives all the state of a operation on LXD server. get operations lxdconnection Retreives all the operations on LXD server. get server info lxdconnection Retreives the information about the LXD server. open connection lxdconnection This block is used to open a connection to a LXD or Incus server. Incus is the fork of LXD and answers the same API, so one connection serves both. parser value post file lxdconnection Create or replace a file. post text file lxdconnection Creates or replaces a file with a given text content. remove document function Removes the given document from the given storage. remove instance lxdconnection Starts a instance remove operation on the LXD server. remove network lxdconnection Starts a network remove operation on the LXD server. remove network acl lxdconnection Starts a network acl remove operation on the LXD server. rename network lxdconnection Renames the given network on the LXD server. request: delete function Performs an HTTP DELETE request to remove a resource at the specified URL. Returns the response as a string value. request: delete json function Performs an HTTP DELETE request to remove a resource at the specified URL. Automatically parses the response as JSON. request: get function Performs an HTTP GET request to retrieve data from the specified URL. Returns the response as a string value. request: get json function Performs an HTTP GET request to retrieve data from the specified URL. Automatically parses the response as JSON. request: head function The HEAD HTTP method requests the metadata of a resource in the form of headers that the server would have sent if the GET method was used instead. request: patch json function Performs an HTTP PATCH request to partially update a resource at the specified URL with a JSON body. request: post form-data function Performs an HTTP POST request with application/x-www-form-urlencoded content type. The body object is automatically encoded as form data. request: post json function Performs an HTTP POST request to create or submit data to the specified URL with a JSON body. request: post value function Performs an HTTP POST request to create or submit data to the specified URL with a raw string body. request: put json function Performs an HTTP PUT request to create or replace a resource at the specified URL with a JSON body. request: put value function Performs an HTTP PUT request to create or replace a resource at the specified URL with a raw string body. restart instance lxdconnection Restart a instance on the LXD server. send message function Send the given payload as JSON to the current websocket start instance lxdconnection Start a instance on the LXD server. stop instance lxdconnection Stop a instance on the LXD server. update document function Update document in the given storage and creates a revision for it. update instance lxdconnection Updates a instance on the LXD server. update instance configuration lxdconnection Updates a instance configuration on the LXD server. update network lxdconnection Updates the given network on the LXD server. update network acl lxdconnection Updates the given network ACL on the LXD server. upsert document function Creates or updates a document with the given GUID. If the document does not exist, it will be created. If it already exists, the mutations will be applied to the existing document. Blocks deprecated
open connectionfunction open ssh connection