Show HN: Sim – Apache-2.0 n8n alternative
173 points
12 hours ago
| 11 comments
| github.com
| HN
Hey HN, Waleed here. We're building Sim (https://sim.ai/), an open-source visual editor to build agentic workflows. Repo here: https://github.com/simstudioai/sim/. Docs here: https://docs.sim.ai.

You can run Sim locally using Docker, with no execution limits or other restrictions.

We started building Sim almost a year ago after repeatedly troubleshooting why our agents failed in production. Code-first frameworks felt hard to debug because of implicit control flow, and workflow platforms added more overhead than they removed. We wanted granular control and easy observability without piecing everything together ourselves.

We launched Sim [1][2] as a drag-and-drop canvas around 6 months ago. Since then, we've added:

- 138 blocks: Slack, GitHub, Linear, Notion, Supabase, SSH, TTS, SFTP, MongoDB, S3, Pinecone, ...

- Tool calling with granular control: forced, auto

- Agent memory: conversation memory with sliding window support (by last n messages or tokens)

- Trace spans: detailed logging and observability for nested workflows and tool calling

- Native RAG: upload documents, we chunk, embed with pgvector, and expose vector search to agents

- Workflow deployment versioning with rollbacks

- MCP support, Human-in-the-loop block

- Copilot to build workflows using natural language (just shipped a new version that also acts as a superagent and can call into any of your connected services directly, not just build workflows)

Under the hood, the workflow is a DAG with concurrent execution by default. Nodes run as soon as their dependencies (upstream blocks) are satisfied. Loops (for, forEach, while, do-while) and parallel fan-out/join are also first-class primitives.

Agent blocks are pass-through to the provider. You pick your model (OpenAI, Anthropic, Gemini, Ollama, vLLM), and and we pass through prompts, tools, and response format directly to the provider API. We normalize response shapes for block interoperability, but we're not adding layers that obscure what's happening.

We're currently working on our own MCP server and the ability to deploy workflows as MCP servers. Would love to hear your thoughts and where we should take it next :)

[1] https://news.ycombinator.com/item?id=43823096

[2] https://news.ycombinator.com/item?id=44052766

solarkraft
6 hours ago
[-]
This looks really cool for DIYing workflows, especially since you seem to have a very useful selection of tools!

Did you build your own agent engine? Why not LangGraph?

Say I was building a general agentic chat app with LangGraph in the backend (as it seems to provide a lot of infrastructure for highly reliable and interactive agents, all the way up to a protocol usable by UIs, plus a decent ecosystem, making it very easily extensible). Could I integrate with this for DIY workflows in a high quality fashion (high-precision updates and control)?

Is there a case for switching out LangGraph‘s backend with Sim (can you build agents of the same quality and complexity - I’m thinking coding agent)? Could it interact with LangGraph agents in a high quality way so you can tap that ecosystem?

Can I use Sim workflows with my current agent, say, via MCP?

reply
waleedlatif1
6 hours ago
[-]
1. we wanted to have full control over the agent orchestration and the execution since we didn't like the abstractions that many of the existing frameworks had built, and didn't want to have dependencies in places we didn't need them. so, we built the orchestration and execution engine from scratch, allowing us to do neat things like human in the loop, settings that run the same block 10 times concurrently, etc.

2. this would kind of serve as a drop-in replacement for langgraph. you could build a workflow with an agent and some tools, perhaps some form of memory. then, just deploy that as an API, call it from your frontend, and consume the streamed response on your chat client and without the need to maintain any infra at all.

3. we have a generic code block and an api block used to call APIs for integrations that we may not have, and you can use those to plug (langgraph) agents into the Sim ecosystem.

4. we are adding in the ability to deploy your workflow as an MCP server in the next week, stay tuned :) in the meantime, you can deploy the workflow as an API and have the agent call it as a tool. moreover, you can use the workflow block in sim to call other agents/worklows as well, so its easy to encapsulate a lot of complexity in a `parent` workflow that you call that dynamically routes and uses different tools based on the task at hand

reply
threecheese
6 hours ago
[-]
Their deployment stuff has been turning me off lately; everyone is rushing to monetize - which I understand and support - but I feel like Langsmith is creeping further and further into Langchain|graph and it makes me hesitant to invest. It’s giving AWS-like gentle but firm lock-in vibes, I wonder if they have any PMs from there.

I do like the way they’ve been able to leverage Langgraph workflows to build agents - it seems like the right abstraction to me - and I also feel their middleware approach is very Django-y which I also like. Are you enjoying their stack?

reply
popalchemist
55 minutes ago
[-]
> You can run Sim locally using Docker, with no execution limits or other restrictions.

This is big. Thank you.

reply
waleedlatif1
25 minutes ago
[-]
hope you enjoy :)
reply
smarx007
6 hours ago
[-]
So here is a case that I wanted to implement in n8n a few years ago and it required quite heavy JS blocks:

- I want to check some input - pick one of your 138 blocks

- I want to extract a list of items from that input

- I want to check which items did I encounter before <- that's the key bit

- Do something for the items that have not been encountered before; bonus point for detecting updated and deleted items

- Rinse and repeat

It could be a row added to a CSV file, a new file dropped into a Nextcloud folder, a list of issues pulled from a repo, or an RSS feed (Yahoo! Pipes, what a sweet memory).

How good is the support for such a case in Sim? And did it get better in n8n?

reply
waleedlatif1
6 hours ago
[-]
this is actually a perfect use case, mostly deterministic workflows that need LLMs to fill in the gaps or do the knowledge work. As you mentioned, you can either add it as a row in a CSV file (sheets), use the baked-in memory block and treat it as simple storage, store the row in supabase, or use the knowledgebase. Basically, there are a ton of ways that this can be done that don't require you to maintain the memory solution yourself. you can even detect the updated and deleted items by keeping some sort of version-controlled snapshot of each row in the csv and updating it as you go.

I can't tell you whether it got better in n8n, but I can definitively say that this sounds like a great candidate workflow to build in sim :)

reply
vulture916
5 hours ago
[-]
N8n can definitely do this.

They recently added native tables, albeit still just a few data types, you can store stuff in and use in workflows.

reply
nine_k
6 hours ago
[-]
But does that require AI agents? Well, maybe the extraction step, if it's not CSV but a general-case web page.
reply
smarx007
6 hours ago
[-]
Maybe in the middle, processing the items - classifying, summarizing.

But the post bills the tool as an n8n alternative. Therefore, I am evaluating it as such. Solid basics before the AI whizbang.

reply
waleedlatif1
6 hours ago
[-]
the agents would be great in the instructions where we need to `do something`, but asides from that is sounds like a pure orchestration task.

now, handling an integration to something like google sheets myself for a task this small is a nightmare, not to mention the separate table I'd need to keep to store the access token & refresh token and the permissions I'd need to get from google. on top of that, hosting it somewhere and then monitoring it.

reply
grantith
5 hours ago
[-]
I really like windmill.dev which should support your scenario just fine
reply
itayd
4 hours ago
[-]
Hey - could be a good use case for https://github.com/autokitteh/autokitteh - which gives you durable workflows over python. Since your logic is deterministic it's a simple python script that stores the history in memory, and autokitteh will take care of the persistancy aspect.
reply
Multicomp
2 hours ago
[-]
Excited to try this out, I've been looking at LangFlow and similar tools for doing DAG workflows. Sure, I could prompt or try to do an MCP or a claude skill for my utility workflows, but they aren't strongly followed and I want to, where possible, make each AI agent call be smaller, like a function.

This is definitely going to be given a try tomorrow morning. I think first up will be something easy and personal like going through the collection of NPC character sheets in my recent campaign and ensuring all NPCs have the following sections with some content in them, and if not, flagging them for my review.

reply
waleedlatif1
2 hours ago
[-]
sounds super cool! let me know how it goes
reply
greggh
55 minutes ago
[-]
Development seems pretty rapid, how often are breaking changes forcing workflow modifications to keep updated with the latest versions?
reply
waleedlatif1
23 minutes ago
[-]
We keep all workflows running on Sim cloud backwards compatible always. The idea is that you build, deploy, and never have to make modifications again unless you want to.

If we release a breaking change that requires a migration for existing local workflows, we release notice at least a few weeks ahead of time/bake it into the db migrations.

Incase there are significant changes made, everything is versioned so you opt-in to upgrading.

reply
SCUSKU
10 hours ago
[-]
A bit of feedback, the readme gifs are a little too fast, it's hard to tell what exactly is happening.
reply
waleedlatif1
9 hours ago
[-]
thanks for the feedback, I was actually thinking this the other day. we'll slow them down.
reply
hbarka
8 hours ago
[-]
I wonder how the free open-source in this stacks up to the free open-source in n8n.
reply
waleedlatif1
8 hours ago
[-]
n8n uses a "Sustainable Use License"—source available, but not OSI-approved open source. This means you can only use it for internal business purposes or non-commercial use. Sim is Apache 2.0.
reply
threecheese
5 hours ago
[-]
Edit: I checked out your materials, I see. Copilot; smart - one could probably do this themselves with the self hosted, and those that would do this aren’t good customers for you. Those that don’t want to bother will use the free tier and possibly convert, and maybe you’ll get some enterprise out of the bargain. Good luck!

What is your business strategy, if someone like AWS could treat you like Elastic or Redis? Premium addons? As a consumer I have no problem with n8ns license, it’s their technology that I think could be done better by a fresh competitor.

reply
waleedlatif1
4 hours ago
[-]
Copilot and a few modules are sim.ai-only, but self-hosters can access them with an API key. The core—execution engine, all integrations, deployment—is fully Apache 2.0.

We aimed for feature parity with n8n and improved much of the workflow building experience along the way. We also added what we think agentic workflows needed (mentioned above). Would love your feedback.

reply
spflueger
8 hours ago
[-]
Looks interesting. The 12GB minimum RAM requirements seem quite steep though. Why so much?
reply
waleedlatif1
7 hours ago
[-]
its a conservative estimate, but primarily because there's a socket server that runs alongside the main container, so you never have to manually save because changes are debounced, broadcasted to any other users on the canvas, and sent to the socket server which persists it to the DB
reply
brene
10 hours ago
[-]
How does it deal with loops? I’ve often see workflow builders struggle at that?
reply
waleedlatif1
10 hours ago
[-]
for loops we use two sentinel nodes with a backwards edge, and before each iteration, we check the condition and update loop variables.

  sentinel -> body -> sentinel (condition with backwards edge to first sentinel)
in the UI, this is just represented as another block, and depending on the varying types of loops you can either define a collection or the number of iterations
reply
Natfan
10 hours ago
[-]
and specifically nested loops. if you're spinning up full runtime copies for each loop, you're gonna have a hard time
reply
waleedlatif1
10 hours ago
[-]
at the moment, we don't support 'loops in loops' on the client-side, but not for any other reason asides from it becoming confusing for users. since we don't actually make copies for each loop, it wouldn't be a performance issue.
reply
malcolmgreaves
10 hours ago
[-]
What does “n8n” stand for? I’m assuming it’s a shortening of a longer word, like k8s.
reply
aquariusDue
6 hours ago
[-]
I've been pronouncing it as "nanites" in my head since the first time I've seen it. Dunno why and now I feel just a tiny silly, though I still prefer my pronunciation.

Needless to say I never had to actually say "n8n".

reply
waleedlatif1
10 hours ago
[-]
i believe it stands for “nodemation”
reply
beklein
10 hours ago
[-]
Correct, check the "Our name" section at: https://n8n.io/press/
reply
isoprophlex
10 hours ago
[-]
naaathaaan
reply
esafak
10 hours ago
[-]
Is that intoned like Ricardo Montalbán's "Khaaaan!" ?
reply
donalhunt
5 hours ago
[-]
I think more "Fenton!"...

https://youtu.be/3GRSbr0EYYU

reply
saubeidl
5 hours ago
[-]
How does this compare to say, Node Red?
reply
waleedlatif1
4 hours ago
[-]
Node-RED is great for IoT/edge/data flows. Sim is built specifically for AI agents—native LLM support, tool-use control, structured outputs, token-level observability, etc.
reply