Add n8n integration

Managed to get n8n nodes to communicate input data to SCM and return that data.

I am also cleaning up SCM API while doing this.

All changes in the SCM API are reflected in the postman collection

All previous API routes are still supported, however only the newest routes are being displayed on postman.

Eg, all project routes renamed to task

2 Likes

Refactoring the task find inside n8n.

In addition to coding the n8n node, I am also simplifying and redoing API calls where required.

For task name searching, instead of requiring an exact case match to return the task, instead now you can input a partial name.

Do a partial name search for ‘google’

FYI: Task name is jobName in the database.

Just tasks with Google in the name.

1 Like

Great stuff, I already have 3 feature request in my mind after this is done :sweat_smile::folded_hands:

I use deepwiki to understand any library/framework on github.

Nice let me see.

Have to admit the dev docs for n8n are poor. Couldn’t even find a page that doc all methods and props on objects.

The only way I’ve been able to code anything was opening existing nodes and looking at their source.

Makes progress slow.

Their setup page is OK, but beyond the example project there is no help.

Most the docs are user docs for how to use node.

I have officially published the SCM n8n node on on the npm registry

For now calls are limited to start stop, get data.

No task data editing yet, while I figure out best way to add it.

However it means you can install and try it out on n8n.

How to install it

Go to install a community node

Package name

n8n-nodes-seo-content-machine

Install it!

Integration is pretty barebones until task editing is added, so please report bugs and provide feedback.

I am early publishing this so that at least you can get your hands on what is working.

1 Like

Thanka for extra research and long hours

1 Like

The most crucial is task id. Can you add to the json for each node?

So I can use custom api call and pass the {id} value. It’s just for convenience.
Currently to get task id is to add task/find node

btw Operation Data doesn’t have status ‘done’.

Does success true = status done in this node context?

Get task cache for all task not just article creator task :folded_hands:

Yup, let me make sure all api calls return task Id so it’s easier to chain.

Data just returns the actual task data. You use it as is to update the task properties.

Things like task status, does not belong inside the task data.

It sits outside the task data struct, like task create time.

There is a separate call to get task status.

Task status is read only, while everything else in task data is considered amenable to changes by the user.

Result success just means the api call passed, it is not the same as the task status.

1 Like

taskid added as return for start and abort.

Investigating task cache call now.

Just released new update for scm with taskid added to return calls.

Let me know any calls that are missing this.

For content cache, it is only for the article creator as it returns the cached titles sentence paragraph etc content inside cache.

Looks like you want to get result of a task output, so I have to add a new api call that will return the result of task output folder.

Will be most likely an array with file name and file content.

Not sure about security implications of allowing this though.

It does mean you can create a task and set output folder to any arbitrary folder on your hard drive and get a file listing with file contents returned over the api.

Might have to also cap max file size readable as you prly don’t want to send 1gb file via api too.

I see, if it has security implications, don’t do it. Or if it’s possible output in json, with max limit.

There’s a work around to save the task output to dropbox/drive, and pull it to n8n as binary file and convert it to json. The cons is latency.

Thanks Tim, trying the new update now.

Nice update… Thanks.

Just a tip for those following this thread, to update any community nodes, you need to update n8n instance (npm/docker).

Another idea is force usage of scm api key if you want to take content from hard drive.

I will have to look into it a bit further re: returning task results.

However once this is implemented, it does mean all features should be available via n8n.

Maybe task update is still a but difficult due to number of param ie article creator, but i could maybe add to SCM ui a view task data json window. That way you can configure the task on the UI and copy paste settings into n8n node.

1 Like

Yes please :sweat_smile:

This is actually similar with my future request, not for data json only, but the curl command with included json data so i can import to n8n http request node. This is for human, a workflow node, not agent tool.

I think for human, just keep it simple like normal multi step api call, we can share n8n workflow.json as a quick scaffolding task creation or create an mcp server template (contain all scm api endpoints , read only documentation and AI prompts).

MCP is just a standardized way to organize tools, resources and prompts.

I believe n8n is the easiest way to create your own controlled, secured mcp server without coding.

Here are some example mcp server templates (as you can see, the pattern is clear)

If you have several website, you don’t create another mcp server per site, build the server once, call within any new workflow.

One great thing about MCP is that it’s client agnostic, you can use whatever client app that can call the server.

In this example, change the chat trigger node to discord/telegram/whatsapp message trigger as your ‘mcp client’

What I personally dream is scm as agent native tool, so llm can fill the params based on user natural language. But that’s for another discussion.

Here’s the doc Let AI specify tool parameters | n8n Docs