← Home

Mustafa DOGAN

Technical Account Manager

Technical Account Manager at Call Center Studio in Manila. I am the technical point of contact for client stakeholders and the escalation point into product and engineering on a SaaS contact-centre platform. I came to the role through support and business analysis on the same platform, so I can work a problem from the ticket detail to the client conversation, and build the integrations and internal tooling that remove the manual work around it. My agent-driven reporting product took second place at our AI hackathon in July 2026 and is now in production.

Framed for Partner Enablement Manager. The roles that map to that brief are highlighted below; everything else is dimmed but still here. The honest gaps for this role are on the dossier.

Experience

10

Technical Account Manager

Call Center Studio

Aug 2025 - present · Manila, Philippines · on-site

Technical bridge between internal teams and external stakeholders, and the escalation point between clients, product and engineering on complex implementation work. Hands-on delivery for clients in the Philippines. I design and build AI-powered internal and client-facing applications, integrate APIs and SQL systems, and build AI-orchestrated workflows with n8n and MCP/WebMCP.

  • Self-hosted automation platform

Business Analyst

Call Center Studio

Feb 2024 - Aug 2025 · Manila, Philippines · on-site

Turned what the business asked for into technical requirements, and explained back what the platform could and could not do, for teams across the company. Administered CRM and ERP systems, ran delivery in JIRA from intake to completion, and built custom JIRA reports. Automated recurring tasks with Google Apps Script, and mediated between technical teams and clients to shorten resolution times.

Technical Support Specialist

Call Center Studio

Jun 2022 - Feb 2024 · Istanbul, Türkiye · remote

Helpdesk support for a SaaS web-based contact-centre platform with an international customer base. Resolved application issues over email, phone and chat, analysed recurring problems to feed product improvement, and wrote technical documentation and guides so users could resolve common issues themselves.

Technical Support Specialist

AloTech

Jun 2022 - Feb 2024 · Istanbul, Türkiye

Helpdesk support for AloTech's SaaS contact-centre application over email, phone and chat: diagnosing application problems, producing fixes and workarounds, and writing documentation so users could resolve issues without raising a ticket.

AloTech and Call Center Studio are part of the same platform group, which is why LinkedIn lists both roles over the same period.

Project Intern

KTÜ Career Development Centre

Dec 2021 - Apr 2022 · Trabzon, Türkiye

Organised and ran career development events for students, from planning through to delivery. Built software that generated and distributed participation certificates automatically, and reported on programme outcomes. Assistant manager for DOKKAF, the East Black Sea Career Fair.

Corporate Trainer

Bilişim Eğitim Merkezi

Jul - Aug 2021 · seasonal · Türkiye

Designed and delivered corporate training on CRM, SAP, ERP and other enterprise information systems, and set assessments to measure what participants retained. Also ran personal development sessions for managers and team leads.

Software Test Engineer

TechOps Center

Mar - Jul 2021 · Istanbul, Türkiye

Outsourced software testing for client companies. Wrote and ran test cases for web and mobile applications, automated regression runs with Selenium, and returned findings to development teams. Re-tested before release to confirm fixes held.

Operational Support and Trainer

Tempo Çağrı Merkezi

Dec 2020 - Feb 2021 · Şanlıurfa, Türkiye

Trained customer service representatives on application use and case-handling technique, and developed the training material they worked from.

Operational Support

Tempo Çağrı Merkezi

Sep - Nov 2020 · Şanlıurfa, Türkiye

Guided customer service representatives through difficult cases and coordinated the team so work was distributed evenly across the shift.

Customer Relations Specialist

Tempo Çağrı Merkezi

Mar - Aug 2020 · Şanlıurfa, Türkiye

Handled inbound customer issues by phone: understanding the problem, resolving it where possible, and escalating it with the detail the next team needed.

What I do

9

Client technical ownership

Call Center Studio

2025 - present

I am the technical point of contact for client stakeholders and the escalation route into product and engineering. That covers scoping what a tenant needs, turning it into something engineering can act on, and staying on it through delivery and adoption. Four years on the same platform across support, business analysis and account management means I can work a problem from the ticket detail up to the stakeholder conversation. Enablement is part of it rather than a handover: I have run a two-day enablement and certification programme for an enterprise customer's contact-centre organisation, around 130 people, provisioning their accounts in bulk before each session. I travel to a customer's site when a multi-vendor cutover needs someone in the room.

Platform automation and bulk operations

Call Center Studio

2024 - present

Around 20 projects do administration through a platform's own interfaces instead of its console: bulk configuration rollouts, roster and extension assignment, scheduled reconciliation. 140 n8n workflows across development and production, 62 of them running, 929 nodes in total with 272 custom code nodes and 106 webhook endpoints that other systems call. Every bulk action ships with its rails: preview, drift detection, run caps, audit rows and a rollback path.

  • Self-hosted automation platform
  • Dialler rule engine

Integration middleware

Across roles

2022 - present

Nine projects sit between two systems that have no integration path: a CRM and a contact-centre platform, a warehouse and an operations console. The recurring shape is a broker that owns OAuth install and refresh, per-tenant encrypted credentials, and a field-mapping layer, structured behind provider interfaces so a second CRM or a second platform arrives as an adapter rather than a rewrite. The same period covers CRM and ERP administration as a business analyst, across HubSpot, Zoho and SAP.

Recovering an undocumented interface

Across roles

2023 - present

14 captured traffic sessions sit in this portfolio, each one the start of the same method: record the live traffic, check it against whatever specification exists, write down where the two diverge, and encode the verified contract as a module the dependent code cites. Where a system accepts unknown parameters silently, a parameter counts as supported only once a deliberately non-matching value is shown to shrink the result count, so the map is probed rather than assumed. Each of these paths sits behind a provider interface, so a sanctioned API can replace it later without touching the callers.

  • Dialler rule engine
  • API Explorer

Mobile delivery

Call Center Studio

2026

Two Flutter applications shipped for phones, both built around an existing web product rather than replacing it. One is a full client for the reporting product on iOS and Android, matching the web app screen for screen so there is one set of behaviour to support instead of two. The other hosts the browser softphone on Android so an agent can work from a phone, keeping the call session alive in the background and wiring the microphone and notifications through to the native side.

  • Reporting client for iOS and Android
  • Softphone shell for Android

Reporting and reconciliation

Across roles

2024 - present

11 projects do the same job at different scales: take a number somebody maintains by hand and make it trustworthy. Roster reconciliation between systems, order-accuracy verification against a live pricing service, operational reporting over a warehouse. Where a model helps, the deterministic layer keeps control: a generated query does not execute until it passes a cost estimate against configured limits, and safety decisions come from rule-based gates.

Test automation and load testing

Call Center Studio

2025 - present

Browser tests for an ordering integration are stored and edited centrally rather than checked in as scripts, run in real browsers on demand, watched while they run, and their artefacts filed per run; access is by role with an approval step before a new account can run anything. Captured requests have also been replayed as load, so endpoints were measured under repetition rather than proven to work once, with the results kept alongside the capture they came from.

  • Browser test platform

Working across timezones

Call Center Studio

2024 - present

I am based in Manila and the engineering team is in Türkiye, so the working day is built around an overlap rather than an office. Over one recent six-week stretch my calendar carried 10 distinct scheduling timezones, and more meetings were set in Istanbul time than in my own — 121 against 99. Just over a third of them started at 18:00 or later where I sit. The counterparts in that period were in the Philippines, Türkiye, Pakistan, the United Kingdom, the United States, Norway, Germany, Malaysia, India, Taiwan, Brunei and China. Internal sessions run in Turkish and customer sessions in English, often in the same week.

Applications and browser tooling

Alongside the role

2023 - present

27 applications in production across 416 deployments, from 49 private repositories: TypeScript and Next.js on the web, Flutter and Kotlin for mobile, Python for data work. Eight Manifest V3 Chrome extensions, one published to the Chrome Web Store, including a network-capture developer tool and typed tool bridges built on the Model Context Protocol (MCP and WebMCP) that let a model drive a web application with no automation API. Retrieval-augmented generation is used here to ground answers in a known corpus.

  • API Explorer

How I work

10
  • I establish what a system actually does before changing it, and I write that down. Undocumented behaviour becomes a named contract in the repository that the dependent code cites.
  • I automate against a platform's own interfaces rather than clicking through its console. Deploys are scripts, a fix to a live flow is an idempotent patch, and production is mirrored to disk so drift can be diffed.
  • I build the safety rail before the bulk action. Mandatory preview, a drift check that halts if the target set moved more than 10 per cent since preview, hard run caps, per-record audit rows and a matching rollback script.
  • I treat rules and scenarios as data so one executor serves many cases, rather than writing a script per case.
  • Where a language model is involved, the deterministic layer stays in charge. A generated query does not run until it passes a cost estimate, and safety verdicts come from rule-based gates rather than from the model.
  • I choose the read-only variant when the mutating one would be easier. An accuracy audit stops before it places anything.
  • I write the memo that argues why the obvious approach will not work, before building the one that does.
  • I record negative results. Where a decode was incomplete or a run produced untrustworthy output, that is written down next to the code.
  • I build an escape hatch out of any reverse-engineered path, so a sanctioned API can replace it later without touching the callers.
  • I make runs reproducible and auditable: query text, row counts, bytes billed, prompt and model versions kept for later inspection.

Education

2

MSc Machine Learning & Data Science

Imperial College London

Oct 2023 - Sep 2025 · Merit

Part-time MSc taken alongside full-time work, covering the statistical, mathematical and computational foundations of machine learning, with collaborative projects across the cohort.

BSc Management Information Systems

Karadeniz Technical University

Sep 2019 - Jun 2023 · Honours

Graduated with honours. Worked at the university's Career Development Centre alongside the degree, building internal tools including a bulk email system and a dynamic QR code application.

Certifications

158

158 on LinkedIn · most recent first

  • Gemini for DevelopersGoogle DeepMind · May 2026ID 10APGA9A4OPT
  • Exploring AI with Google AI StudioGoogle DeepMind · May 2026ID SCTZ55P5J1JS
  • Getting Started with Google Gemini APIGoogle DeepMind · May 2026ID I03582Z7VBMH
  • Optimization Methods in Business AnalyticsMIT OpenCourseWare · Apr 2026from LinkedIn
  • Computational Neuroscience with NeurobloxMIT OpenCourseWare · Apr 2026from LinkedIn
  • Understanding the Enterprise Systems EnvironmentSAP · Dec 2025ID CAIEK88031MM
  • SAP Professional FundamentalsSAP · Dec 2025ID YA4CHNYOQ5Q5
  • Microsoft Business AnalystMicrosoft · May 2025ID PKL37O0PD75D
  • Power Platform in Business AnalysisMicrosoft · May 2025ID C2KGRIB2F41N
  • Requirements Gathering in Business AnalysisMicrosoft · May 2025ID J0TMPGMUQFF9

Also on the CV, no credential ID recorded

Azure AI Fundamentals (AI-900), Google Cloud Digital Leader, Google IT Automation with Python, Postman: REST API Testing, Scrum Master Certification, SQL Advanced, ISTQB Foundation.

Projects

18
  • Dialler rule engine

    Query compilation

    Campaign and contact-list management for contact-centre tenants. An operator writes conditions over the live columns, either in a visual builder or as a SQL WHERE clause, previews the matching set, and then applies bulk actions to it: priority, urgency, agent assignment, disabling contacts. Every run is audited per contact, and a rule can run on a schedule instead of by hand.

    The condition tree is compiled into the platform's own filter parameters, and only the leaves of a top-level AND chain are pushed down, so a wrong push can never widen the set the action runs against; the remainder is evaluated locally. Which parameters are supported was not assumed: the API ignores unknown parameters silently, so one counts as supported only after a deliberately non-matching value is shown to shrink the result count.

    Next.js · TypeScript · Postgres · Drizzle · OAuth2 + PKCE · On-device LLM

  • Agentic Report Studio

    Second place, AI hackathon

    Reporting product for tenants whose requirements fall outside the platform's standard reports. Users describe what they need and get a governed query against the warehouse. Second place at the AloTech AI Hackathon, July 2026, and in production afterwards with real tenants.

    No generated query executes until it passes a dry-run cost estimate against configured limits, so an expensive mistake is refused rather than billed. 67 ordered migrations, with separate unit, API, end-to-end and security suites.

    Next.js · TypeScript · BigQuery · Postgres · Tool-calling agent

  • Reporting client for iOS and Android

    Mobile delivery

    Phone client for the reporting product, built to match the web app screen for screen rather than offer a reduced version of it: conversational reporting with streamed answers, saved reports, and dashboards with cross-filtering and drill-down. Routes are deep-linkable and mirror the web paths, and the interface ships in Turkish and English.

    Sign-in reuses the platform's existing OAuth flow inside an in-app web view and lifts the resulting session cookie into the native cookie store, so the phone client talks to the same backend with no second authentication path to keep in step. The 2,122 interface strings were taken from the web app verbatim rather than translated again, which is what keeps the two clients saying the same thing.

    Flutter · Dart · Riverpod · go_router · Material 3

  • Curyy

    A product owned end to end

    Native Android product I build and run myself, aimed at the Philippines: it logs what you eat and gives allergy, calorie and budget guidance in a floating overlay. With per-app consent it reads the screens of allow-listed food delivery apps as text, so an order becomes a logged meal without anyone typing it in. It writes nutrition back to the phone's health platform, tracks spending against a budget, and exposes its own MCP server so an assistant can read the diary and log a meal.

    Text, never screenshots, and only from apps the user has allow-listed one at a time — a tool that reads your screen has to be narrower than it is capable of being, or nobody should install it. The screen classifier has a parity test so the on-device path and the reference path cannot drift apart, and MCP tokens are read-only unless a write scope is granted explicitly.

    Kotlin · Android · Jetpack Compose · Health Connect · MCP · Postgres

  • CRM to contact-centre bridge

    Integration middleware

    Lets a sales team push leads and deals out of their CRM straight into a dialling campaign, with their own field mapping, triggered from a workflow action, a button on the record, or automatically when the record changes. One codebase with the CRM side and the contact-centre side both behind provider interfaces, so a second CRM or a second platform is an implementation rather than a fork.

    A CRM app cannot hold a secret. It is configuration, interface extensions running in the vendor's sandbox, and HTTP callbacks the vendor posts to, and the CRM never talks to the contact-centre platform directly. This backend is the part that can be trusted with credentials: it brokers the OAuth, holds each customer's platform credentials encrypted, receives the callbacks and makes the calls. Getting that boundary right was the design decision.

    TypeScript · Turborepo · Next.js · Postgres · OAuth2 · HubSpot

  • May reklamo

    A product shipped end to end

    Public complaint platform for Philippine brands, government offices and public authorities, in English and Tagalog. Complaints and replies are written in a rich-text editor, supporting files are attached as screenshots or documents, and sign-in is with Google. Built and run outside work, on my own.

    Bilingual throughout rather than translated at the edges, because a complaint written in Tagalog has to read as the primary version and not as a secondary copy of an English one.

    Next.js · TypeScript · Postgres · Prisma · Vercel Blob · TipTap

  • Call search and bulk recording export

    Multi-tenant product delivery

    Multi-tenant tool for finding calls with the full filter set an operations team actually uses, then downloading the recordings — one at a time or an entire result set — or delivering them to an FTP, FTPS or SFTP target. Any tenant onboards itself: type the tenant address and the branding switches to match; sign in with the tenant's own single sign-on, then add your own API credentials.

    Nobody's credentials are shared and none are held centrally. Each person brings their own, so what they can see is exactly what their credential allows, and there is no account in the middle that would quietly hold more access than the person using it. Sign-in is the tenant's own OAuth authorization code flow with PKCE, so the session key never reaches the browser.

    Next.js · TypeScript · Postgres · OAuth2 + PKCE · SFTP

  • Softphone shell for Android

    Native and web integration

    Android application that hosts the browser softphone agents already use, so a phone can be the working device. The call session stays alive in the background, the microphone is wired through, incoming calls raise native notifications, and dialling a number from another app hands off into the softphone.

    The shell implements no telephony at all. Anything that would need a new native release every time the web softphone changes belongs in the web app, so the native side stays a policy-driven host and call events cross one documented message bridge.

    Flutter · Dart · Android · WebView · WebRTC

  • Demo builder

    Pre-sales tooling

    Tool for showing a click-to-connect feature in context. A partner names the page they want it on; the tool takes a static copy of that public homepage, injects the script, and publishes it under a demo URL with a banner linking back to the original site, so a conversation can happen over the partner's own page instead of a generic sandbox.

    Only public homepages are copied and every published page carries the banner and the link back, so a demo cannot be mistaken for the real site.

    Next.js · TypeScript · Postgres · NextAuth

  • Browser test platform

    Test automation

    Test platform for an ordering integration. Scenarios are stored and edited centrally rather than checked in as scripts, run in real browsers on demand, watched live while they run, and their artefacts filed automatically. Access is by role, and a new account has to be approved before it can run anything.

    Run output is streamed to whoever is watching, and each run keeps its own artefacts, so a failure stays diagnosable after the fact instead of only being reproducible.

    Next.js · Playwright · Postgres · Google OAuth · Server-Sent Events

  • API Explorer

    Reverse engineering, as a tool

    Browser extension that watches the requests a web application makes while you use it and turns them into a searchable collection: every endpoint, its payloads and its headers, with any of them replayable. Published on the Chrome Web Store. It can hand a captured endpoint to an AI provider for analysis, using a key you supply yourself.

    This is the method I use, turned into a tool: rather than reading a system's documentation and hoping it is current, watch what it actually does and keep the record. The AI step takes your own key on purpose — a developer tool that captures live traffic has no business also shipping a service that sees it.

    TypeScript · Chrome MV3 · DevTools protocol

  • Workflow-as-code toolkit

    Infrastructure as code

    Command-line tooling for the automation platform, so workflows are created, listed, renamed, audited and cleaned up from a script instead of by hand in the editor. Executions can be pulled back down for inspection when something failed overnight.

    140 workflows is past the point where the editor is the right interface. Renaming them to a convention, finding the archived ones and reading an execution's actual payload are all things you want to do to the whole set at once, which means the platform's API rather than its UI.

    TypeScript · Node.js · n8n REST API

  • On-call schedule and alerts

    Operations tooling

    Application that puts the on-call rota and the open alerts behind the same sign-in the platform already uses, so whoever is on shift can see who is on call and what is firing without a second account and a second tool.

    Sign-in is the platform's own OAuth authorization code flow with PKCE, so no separate credential is created for the tool and access follows the account that already exists.

    Next.js · TypeScript · OAuth2 + PKCE · Opsgenie API

  • Call flow documentation and build automation

    Configuration as code

    A written reference for every one of the 52 step types a call flow can contain — what each does, which fields it requires and which are optional — and scripts that build and export flows against it instead of clicking them together in the console.

    The field list came from working through each step type deliberately rather than from documentation, because a step that silently accepts a missing optional field is the kind of thing that only shows up in production. Once the reference existed, building flows from it was the easy part.

    Node.js · JSON Schema · Markdown

  • Model Context Tool Inspector

    Agent tooling at the edge of the platform

    Browser extension for inspecting, monitoring and running the tools a page exposes to an agent through Chrome's experimental in-page tool API. Published on the Chrome Web Store. It needs a flag turned on because the API it targets is not shipped yet.

    Built against a browser API still behind a flag, which means the interface can move under it. That is the reason for building it: when this becomes the way pages talk to agents, the useful thing to have is the tool that shows you what a page is actually offering.

    TypeScript · Chrome MV3 · WebMCP

  • Self-hosted automation platform

    Workflow automation

    Two n8n instances, development and production, carrying 140 workflows with 62 running: bridges between the contact-centre platform and CRMs, scheduled reconciliation, warehouse reporting, and 106 webhook endpoints other systems call into.

    272 of the 929 nodes are hand-written code, which is the honest measure of this platform's limit: the triggers, the branching and the scheduling are worth having, and the shaping in between usually has no node that does it. Development and production are separate instances so a half-finished flow cannot answer a live webhook.

    n8n · Docker Compose · Postgres

  • RAG Lab

    Explaining a system by building it

    Teaching tool that walks through a retrieval pipeline one stage at a time — ingestion, chunking, embeddings, sparse index, retrieval, reranking, context packing, generation, validation — and puts BM25, vector, hybrid and hybrid-with-reranker side by side so the difference is visible. Explanations come in a beginner and a technical register.

    The embeddings and scores are deterministic mocks and the tool says so on the page. A teaching simulator that quietly used real model output would be unrepeatable between two people looking at it, and someone would eventually cite its numbers as a benchmark.

    TypeScript · Next.js · KaTeX

  • Digital business card

    Front-end delivery

    A single page that hands over contact details, with a QR code for the certification list. Written by hand with no framework and no build step.

    Three files served as they are. Anything that needs a build to show a phone number is over-built.

    HTML · CSS · JavaScript

n8n automation samples

8

node counts read from the instances, not estimated · customers not named

  • n8n operations assistant in Google Chat

    47 nodes

    Chat message, plus internal webhooks for the slow jobs

    Engineers run the automation platform by talking to it in the chat client they already have open. Ask in plain language and it lists the workflows, summarises one, reports which ones errored in the last day, explains why, and proposes a fix. Accept the fix and it patches the workflow, deploys it, activates it and offers to replay the payload that failed so you can see it pass. It also writes new workflows: it interviews you for the specification, researches the nodes it will need, and builds the flow.

    A planner model picks one of 10 tools rather than improvising, so every answer comes from a real call and not from the model's memory. What it refuses is deliberate: it never deletes a workflow, never prints a secret into a chat thread — credentials are referred to by name only — and works against one instance at a time. Anything slow runs on an internal webhook and posts its result back, because a chat client will not wait for a build.

    Google Chat · LLM planner · n8n REST API · Code · Webhook

  • Caller context popup for the agent

    45 nodes

    Webhook on the inbound call, answered with HTML

    When a call arrives, the caller's number is looked up in the CRM and the agent gets a rendered panel: who is calling, their open deals, their notes, tasks and activities, their company, their stores, and their previous calls on the platform. If the number is not a known contact it falls back to matching the account instead of showing nothing. A second endpoint lets the agent write a note straight back into the CRM from that panel.

    Six CRM lookups and the call history run in parallel and are merged in five stages, because sequentially they would not return before the agent has to speak. The panel is built as HTML inside the workflow and returned in the response, so there is no front end to host for it. The token refresh happens in the same run rather than being cached somewhere that could go stale mid-call.

    Webhook · Zoho Bigin · Merge · Code · HTML response

  • Trial administration as a single workflow

    51 nodes

    Webhook for the actions, hourly schedule for the reminders

    The whole administrative side of a trial programme: adding and removing tenants, registering users and approving them, keeping the notification list, reading usage totals out of the warehouse, and writing an audit line for each action. Registration is not automatic — an approval email goes out, and the user is only mailed once someone has approved them. An hourly pass works out which trials are due a reminder, checks their usage against the threshold and mails whoever needs mailing, then deactivates the reminder so it cannot fire twice.

    One webhook and a switch carry about 20 distinct actions, which is why 30 of the 51 nodes are code. The reminder branch does not trust its own schedule: it re-checks usage against the threshold before it sends, so a tenant who became active in the meantime does not get chased.

    Webhook · Schedule · BigQuery · Gmail · Code · Switch

  • An authenticated dashboard with no application behind it

    25 nodes

    Three webhooks: the page, sign-in, and the OAuth callback

    A campaign dashboard that a person signs into and reads. The workflow serves the sign-in page, runs the OAuth handshake, sets the session cookie, queries the warehouse and renders the dashboard — as HTML for a browser or as JSON for anything else asking. An unauthenticated request gets a redirect or a 401 depending on what it asked for.

    There is no application server, no deployment and nothing to keep alive: a workflow is the entire service, sign-in included. It branches on what the caller wants back rather than assuming a browser, which is the only reason the same three endpoints can serve a page and an API at once.

    Webhook · OAuth2 · Session cookie · BigQuery · HTML response

  • 10 endpoints for a conference showcase

    40 nodes

    10 webhooks, 10 responses

    The back end for a live demonstration stand: event logging, RSVPs, an outbound SMS through a gateway, a mocked payment step, an account lookup, a rendered report, spreadsheet setup, a dialler log — and a conversational turn against a hosted voice agent so visitors could talk to it.

    A spreadsheet is the whole database, which for something running for the length of an event is the right amount of infrastructure. The payment step is mocked on purpose and labelled as such, so nobody demonstrating it has to wonder whether it is charging anyone.

    Webhook · Google Sheets · SMS gateway · Voice agent API · Code

  • Meetings reconciled against the CRM calendar

    20 nodes

    Webhook, on demand

    Recorded sales meetings are matched against what the CRM calendar says happened. Transcripts come from the recording service, events and the user list come from the CRM, and the workflow decides per meeting whether the matching event needs updating or does not exist yet and has to be created.

    Three sources are merged in sequence before anything is decided, because the match needs all three at once — the meeting, the calendar entry and the user who owns it. Deciding first and fetching later would have produced an event assigned to the wrong person.

    Webhook · GraphQL · Zoho CRM · Merge · Code

  • Store records between a CRM and the platform

    15 nodes

    Webhook for the calls, hourly cron for the push

    A small API over store records: read one, search, create or update, delete, and the same operations in bulk for whoever is moving a whole list. An hourly job pushes what has changed into the contact-centre platform.

    Two paths on purpose. Callers get the immediate answer; the scheduled push is what makes the bridge trustworthy, because a bridge that only reacts to events silently keeps whatever it dropped. Bulk operations are separate endpoints rather than a loop over the single one, so a partial failure is reported per record.

    Webhook · Schedule · Switch · Code

  • Scheduled report feed in XML over FTP

    15 nodes

    Schedule every 30 minutes, manual run kept

    Three reporting queries — queue performance, agent queue activity and agent system time — run against the warehouse every half hour, are converted to XML and delivered to an FTP drop, because XML over FTP was what the system on the other end could accept.

    The consumer's format decided the design, not ours. Each report is generated and delivered independently, so one failing query does not hold up the other two, and the manual trigger stays next to the schedule because the first thing anyone wants after a missed window is to run it again by hand.

    Schedule · BigQuery · XML · FTP

Technical domains

22
  • CCaaS / VoIP
  • SaaS platforms
  • CRM / ERP
  • Zoho CRM
  • HubSpot
  • REST APIs
  • SQL
  • n8n
  • MCP / WebMCP
  • Google Apps Script
  • JIRA
  • Selenium
  • Python
  • SAP
  • Power Platform
  • Cursor
  • Vercel
  • HTML / CSS / JS
  • BigQuery
  • Chrome extensions (MV3)
  • Flutter
  • Docker
Updated 2026-08-11