Hello.

I was developing a system/tutorial on how to build a self-hosted, collaborative content circulation no-code setup, using nocodb and n8n.

n8n does not yet support lemmy, not even through community nodes.

I can try to go through the API using the HTTP node, but I wanted to ask if there’s some tutorial with examples that I can use, because so far most of the documentation I’ve found is focused on building alternative clients and that’s a lot of overhead, especially in how I’m supposed to handle the credentials.

That said, I’m opening this postly mostly to see if there would be interest in developing a community node. This should be a quite easy project for anybody familiar with Lemmy and Lemmy’s REST API. Here’s a community node for mastodon, that looks quite close to what Lemmy’s community node could look like.

https://github.com/n8n-community-node/n8n-nodes-mastodon/tree/master/nodes/Mastodon

It’s mostly a matter of specifying a bunch of metadata about the fields of the node, and implement a few calls to the API. I know some TS and JS but they are not my strongest language. If somebody is willing to lead this effort though, I could contribute some code and some design documents.

  • Nothing4You@programming.dev
    link
    fedilink
    English
    arrow-up
    1
    ·
    5 days ago

    I’m not familiar with n8n but it’s fairly straightforward on the API side.

    You’ll need a session token, also known as JWT, which you can get from logging in.

    You typically don’t want to do a login for every post, so you’ll want to store that as a persistent value.
    For authentication, you can pass the header authorization: Bearer {jwt}, with {jwt} being the session token.

    https://join-lemmy.org/api/classes/LemmyHttp.html contains the API documentation.

    You’ll need to figure out the id of the community that you want to post to.

    If you need to look it up, you can use getCommunity to fetch its details. Afterwards you can use createPost to submit it.

    The form links for the methods explain the request body json values that should be provided.