For a while the operational side of Virya lived in four places: Google Sheets, Gmail, Discord and somebody's memory. Usually mine, which was flattering but not particularly scalable.
We had thousands of old records, festival applications, booking contacts, media files, EPK links, replies, deadlines and follow-ups. The data existed. The process between those pieces did not.
Give every tool one job
I did not replace every tool. I gave each one a clear job. Google Sheets became the visible operational state, n8n the glue, Gmail the communication channel, Drive the file cabinet and Discord the place where the team sees what needs attention.
Visual does not mean no-code
The useful version of n8n is not pure no-code. Mine is visual orchestration around small deterministic code blocks, APIs, manual checkpoints and logs. A person can understand the broad flow without reading a repository, while I can still write JavaScript where dragging another seven nodes would be a punishment for everyone involved.
Prepare first, send later
The first hard rule was separating preparation from sending. The system may find a candidate, normalise the record, score it, prepare a Gmail draft and post a preview to Discord. It may not silently send cold outreach. Every external action has an explicit status and an approval point.
Every run leaves a trail
Every run also writes an audit record. Did the workflow start? How many rows did it read? Which API failed? Did it create anything new, or was everything already known? That sounds basic until a green Meta credential sits next to five failed requests and somebody has to work out which part of the path is actually broken.
Raw rows became real records
One registry run scanned 3,991 rows and turned raw social links into 500 stable targets. The important result was not the number. A spreadsheet column full of URLs became records with IDs, priorities, access modes and visible state. That pattern now repeats everywhere:
raw data → normalised record → stable identity → action → auditAI handles ambiguity, not identity
AI handles the ambiguous bits: is this a festival or a radio show, does it fit our music, is the reply positive, what is the useful next step and can the email be written around one real reason to contact them? The workflow handles the parts that should not be creative.
The point was to buy attention back
I did not build this to automate every minute of the band's life. I built it because copying the same EPK link into similar messages is a poor use of anyone's best hours.
I would rather write music, solve an interesting engineering problem, spend time with my family or simply do nothing for a while. The system buys some of that attention back.