Fasching Jazz Club in Stockholm is a legendary venue, hosting over 300 events a year. For their marketing director, this inspiring number meant a logistical nightmare: spending one to two days every single week manually creating and publishing events across multiple platforms.
By building a simple automation in Triform, they eliminated this bottleneck, reclaimed days of valuable time, and streamlined their entire marketing workflow.
The Challenge: A 10-Day-a-Month Time Sink
Managing 300+ events a year by hand wasn’t just tedious—it was unsustainable. Each new concert required the team to manually copy and paste the same information—artist, description, time, ticket link—into three different platforms:
- Facebook — for event discovery and social reach
- Bandsintown — for artist fan notifications
- Nortic — their ticketing platform
This copy-paste cycle was a massive time sink and a prime source of errors. One typo in the date or a forgotten ticket link could mean lost sales and confused attendees.
The Results: Time Saved, Reach Improved
The automation delivered immediate, measurable impact:
-
Saved 1–2 Full Workdays Per Week — The marketing team reclaimed nearly 25% of their time, allowing them to focus on high-impact marketing instead of data entry.
-
No More Facebook Event Floods — The Google Sheet acts as a central staging area, allowing the team to publish events one by one with a single click, right when they want them to go live.
-
Zero Copy-Paste Errors — Consistent data across all platforms means no more mismatched times or broken links.
Technical Breakdown: Inside the Triform Workflow
The entire automation runs visually on Triform Canvas, built around modular, no-code and low-code actions connected to each other.

1. Google Sheets Extension — The Control Center
The marketing team now stages all upcoming events in a single Google Sheet (their existing CRM system for booking). A custom-built Google Sheets extension adds a “Publish” button in a dropdown menu called Triform Publisher.

When clicked, the row’s data is sent to a Triform API Endpoint, which initiates the workflow. The extension is fully configurable—you can change endpoints and URLs in the settings.

To publish an event, the team selects the column value as “Ready” then presses “Publish all ready rows.” The output appears directly in the sheet.

Want to build something similar? The extension code is open source: GitHub Repository
2. Publish to Nortic
Triform sends a structured HTTP request to Nortic’s internal API. We reverse-engineered their network requests to replicate event creation. Authentication uses stored credentials passed as variables—once logged in, Triform sends the different requests to create an event.
curl --location 'https://nortic.se/admin/index.html?adminlogout=null' \
--header 'Host: dev.nortic.se' \
--header 'Cookie: JSESSIONID={YOUR_Cookie}; \
--data-urlencode 'adminlogin=true' \
--data-urlencode 'language=en' \
--data-urlencode 'username={YOUR_USERNAME}' \
--data-urlencode 'password={YOUR_PASSWORD}'
With that JSESSIONID, we can now use pretty much all their internal API calls.
There are some pitfalls that make this platform tricky. Nortic uses a lot of server-side states set by GET requests. That means we need to chain—for example—4 requests together to update prices. This explains why their site often crashes when you do things out of order: the requests depend on each other and set server-side states.


3. Publish to Bandsintown
Bandsintown’s system requires two-factor authentication and a dynamic login process, so we used a hybrid automation approach:
- Playwright + Hyper Browser (BAAS) handles browser-level interaction
- MailSlurp + Python + Regex extracts OTP codes automatically from forwarded emails
This approach bypasses the 2FA bottleneck safely and keeps the flow fully automated.
Once we login with our Hyper Browser/Playwright session, the automation is fairly straightforward—we get the cookie we need to execute subsequent requests. The only auth required is a Fingerprint and a bearer token.
curl --location 'https://venues.bandsintown.com/{your-bint-endpoint}'
--header 'x-fingerprint: i3n1a3'
--header 'Authorization: Bearer **********'
4. Schedule Facebook Event via Posthook
Since Facebook doesn’t allow event scheduling natively, we used Posthook to create a scheduled queue for the publish request.
Triform sends a payload to Posthook with a target time. Posthook later triggers Workflow 2 to create the event at the exact scheduled moment—giving the team full control over when events appear in the feed.
5. Update Google Sheets (Workflow 1)
After publishing on all platforms, we call a lightweight GCP Cloud Function that updates the Google Sheet with event links and status feedback.
This gives the marketing team real-time confirmation and visibility without leaving the sheet. The sheet becomes a complete record with links to every published event across every platform.
6. Publish Facebook Event (Workflow 2)
Workflow 2 runs a Playwright + Hyper Browser script that logs in and publishes the Facebook event.
We use stored cookies for stable sessions and a TOTP (Time-based One-Time Password) fallback for authentication. By adding previously valid cookies, we can “semi-login”—meaning we usually don’t need to re-authenticate with 2FA and just log in with email and password.
Bonus: An Interesting Discovery
While experimenting with Nortic’s API, we discovered a way to temporarily bypass their service fees—an interesting insight into how their request structure handles fee calculations.
Disclaimer: We reported this to Nortic and didn’t use it in production.