Skip to content

BLOG

SideScript Syntax Guide

GuideSideScriptSyntax

A comprehensive guide to SideScript, the domain-specific language for defining event rules in Sidefy.

SideScript is a domain-specific language designed for defining event rules.

Version: SideScript 1.7

Here’s a quick overview:

IF <condition>
[AND|OR <condition>...]
THEN <action>
[<action>...];

Note: Conditions within a single IF block must be either all AND or all OR. Mixing AND and OR logic in the same block is not supported.

Fields

FieldDescription
titleEvent title
contentEvent content
originOrigin
sourcePlugin
anywhereEvent title, content, origin or plugin

Operators

To illustrate how these operators work, let’s assume we have the following Common Dataset:
{"apple", "banana", "pineapple", "strawberry", "bad apple"}

OperatorDescriptionExample LogicMatched Results
EQUALSEqualsEQUALS "apple"{"apple"}
NOT EQUALSNot equalsNOT EQUALS "apple"{"banana", "pineapple", "strawberry", "bad apple"}
EQUALS_ANYEquals anyEQUALS_ANY ["apple", "banana"]{"apple", "banana"}
NOT_EQUALS_ANYNot equals anyNOT_EQUALS_ANY ["apple", "banana"]{"pineapple", "strawberry", "bad apple"}
CONTAINSContainsCONTAINS "apple"{"apple", "pineapple", "bad apple"}
NOT CONTAINSNot containsNOT CONTAINS "apple"{"banana", "strawberry"}
CONTAINS_ANYContains anyCONTAINS_ANY ["apple", "berry"]{"apple", "pineapple", "strawberry", "bad apple"}
NOT CONTAINS_ANYNot contains anyNOT CONTAINS_ANY ["apple", "berry"]{"banana"}
CONTAINS_ALLContains allCONTAINS_ALL ["pine", "apple"]{"pineapple"}
NOT CONTAINS_ALLNot contains allNOT CONTAINS_ALL ["pine", "apple"]{"apple", "banana", "strawberry", "bad apple"}

Actions

ActionVariablesDescription
SET color = {color}color: “#RRGGBB”Event color
SET symbol = {symbol}symbol: “star.fill”SF Symbol icon
SET PINNED-Pin to top
SET HIDDEN-Hide event
HIGHLIGHT {text_array} WITH {color}text_array: [“example1”, “example2”]
color: “#RRGGBB”
Highlight keywords with color
REPLACE {text_array} WITH {replacement}text_array: [“old1”, “old2”]
replacement: “new”
Replace text content