# Cannot join in 'auto' mode

**URL:** <https://discourse.nodered.org/t/cannot-join-in-auto-mode/12089>\
**Category:** General\
**Created:** [12 June 2019 02:37 UTC](https://discourse.nodered.org/t/cannot-join-in-auto-mode/12089 "2019-06-12T02:37:41Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![leftShark2019](https://avatars.discourse-cdn.com/v4/letter/l/4da419/32.png) [@leftShark2019](https://discourse.nodered.org/u/leftShark2019)\
**Post date:** [12 June 2019 02:37 UTC](https://discourse.nodered.org/t/cannot-join-in-auto-mode/12089/1 "2019-06-12T02:37:41Z")

</div>

I keep receiving a "Message missing msg.parts property - cannot join in 'auto' mode" error when I try to publish a message from HiveMQ.

I've looked into the source code on multiple repos (GitHub and Git Lab) that might have to do with this, and Stack Overflow has nothing on it.

What I've done is wired the receiving MQTT node to a json node which morphed into a join node--which is then wired to a switch node which pipes the output to different debug nodes depending on a single criteria.

If there are resources I should have looked into before asking on this site, please do tell me about it in discussion.

---

<div class="post-metadata">

**Author:** ![shrickus](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/shrickus/32/517_2.png) [@shrickus](https://discourse.nodered.org/u/shrickus)\
**Post date:** [12 June 2019 04:17 UTC](https://discourse.nodered.org/t/cannot-join-in-auto-mode/12089/2 "2019-06-12T04:17:43Z")

</div>

Hi -- the `join` node used in "auto" mode is designed to work in tandem with the `split` node. Without first going through the split node, the individual messages will not have the "parts" (properties) necessary for the auto join to work. As described in the info sidebar under "Inputs":

> _parts_
> 
> To automatically join a sequence of messages, they should all have this property set. The **split** node generates this property but it can be manually created.

So instead, you will need to use "manual" mode... which can build a merged object from different topics/values, or wait until so much time has elapsed or a certain number of messages are received. If you want to post some sample input msgs, and describe _how_ you want them joined, there are many people on this forum who will be willing to give suggestions.

---

<div class="post-metadata">

**Author:** ![leftShark2019](https://avatars.discourse-cdn.com/v4/letter/l/4da419/32.png) [@leftShark2019](https://discourse.nodered.org/u/leftShark2019)\
**Post date:** [12 June 2019 14:57 UTC](https://discourse.nodered.org/t/cannot-join-in-auto-mode/12089/3 "2019-06-12T14:57:50Z")

</div>

So I'm trying to pass a JSON object to the debug nodes. The switch case uses "msg.payload.analyze" and passes the object to one debug output or another based on whether the analysis is true or false. The join mode is currently automatic, so I don't understand what the issue is when I pass it  
"{"analyze":true, "value":6}"

I have no preference as to how the messages are joined, only that they are joined so I may understand how it works.

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [12 June 2019 14:59 UTC](https://discourse.nodered.org/t/cannot-join-in-auto-mode/12089/4 "2019-06-12T14:59:26Z")

</div>

> [@leftShark2019](#):
>
> I have no preference as to how the messages are joined

Right - but the Join node needs to be given some hint what to do.

The 'automatic' mode means the node expects each message to have the `parts` property and the Join node will know what to do.

If your messages don't have the `parts` property then you need to tell the Join node what to do by putting it into Manual mode.

---

<div class="post-metadata">

**Author:** ![leftShark2019](https://avatars.discourse-cdn.com/v4/letter/l/4da419/32.png) [@leftShark2019](https://discourse.nodered.org/u/leftShark2019)\
**Post date:** [12 June 2019 15:07 UTC](https://discourse.nodered.org/t/cannot-join-in-auto-mode/12089/5 "2019-06-12T15:07:03Z")

</div>

Thank you.

I had used the json node, which morphed into the join node, but the json node was correct and what worked. I appreciate your patience.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [12 June 2019 18:55 UTC](https://discourse.nodered.org/t/cannot-join-in-auto-mode/12089/6 "2019-06-12T18:55:14Z")

</div>

What do you mean it morphed into a Join node? If the JSON node did what you wanted why change it to Join which does something completely different.

---

<div class="post-metadata">

**Author:** ![leftShark2019](https://avatars.discourse-cdn.com/v4/letter/l/4da419/32.png) [@leftShark2019](https://discourse.nodered.org/u/leftShark2019)\
**Post date:** [13 June 2019 03:48 UTC](https://discourse.nodered.org/t/cannot-join-in-auto-mode/12089/7 "2019-06-13T03:48:25Z")

</div>

The way I remember it happening is I pulled a json node, but when I wired up the switch node the json node changed to a join node.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [13 June 2019 06:19 UTC](https://discourse.nodered.org/t/cannot-join-in-auto-mode/12089/8 "2019-06-13T06:19:24Z")

</div>

That sounds rather unlikely, but no way of knowing now.
