---
title: Apache NiFi Mailing Lists &amp; Chat
---

<div class="large-space"></div>
<div class="row">
    <div class="large-12 columns">
        <h1 class="nifi-txt">
            <span>
                Apache <span class="ni">ni</span><span class="fi">fi</span> Mailing Lists
            </span>
        </h1>
    </div>
</div>
<div class="row">
    <div class="large-12 columns">
        <p class="description">
            These are the mailing lists that have been established for this project. For each list, there is a subscribe, unsubscribe, and an archive link.  Tips on how to interact with ASF mailing lists found <a href="http://apache.org/foundation/mailinglists.html">here</a>
        </p>
    </div>
</div>
<div class="row">
    <div class="large-12 columns">
        <table>
            <tr>
                <th>Name</th>
                <th>Subscribe</th>
                <th>Unsubscribe</th>
                <th>Post</th>
                <th>Pony Mail Archive</th>
                <th>Legacy Archive</th>
		<th>Purpose</th>
            </tr>
            <tr>
                <td>Users Mailing List</td>
                <td><a class="externalLink" href="mailto:users-subscribe@nifi.apache.org">Subscribe</a></td>
                <td><a class="externalLink" href="mailto:users-unsubscribe@nifi.apache.org">Unsubscribe</a></td>
                <td><a class="externalLink" href="mailto:users@nifi.apache.org">Post</a></td>
                <td><a class="externalLink" href="https://lists.apache.org/list.html?users@nifi.apache.org">users@nifi.apache.org</a></td>
                <td><a class="externalLink" href="https://mail-archives.apache.org/mod_mbox/nifi-users/">mail-archives.apache.org</a></td>
		<td>For nifi users to get help, ask questions, report bugs</td>
            </tr>
            <tr>
                <td>Developers Mailing List</td>
                <td><a class="externalLink" href="mailto:dev-subscribe@nifi.apache.org">Subscribe</a></td>
                <td><a class="externalLink" href="mailto:dev-unsubscribe@nifi.apache.org">Unsubscribe</a></td>
                <td><a class="externalLink" href="mailto:dev@nifi.apache.org">Post</a></td>
                <td><a class="externalLink" href="https://lists.apache.org/list.html?dev@nifi.apache.org">dev@nifi.apache.org</a></td>
                <td><a class="externalLink" href="https://mail-archives.apache.org/mod_mbox/nifi-dev/">mail-archives.apache.org</a></td>
		<td>For developers to discuss features, bugs, share ideas</td>
            </tr>
            <tr>
                <td>Commits Mailing List</td>
                <td><a class="externalLink" href="mailto:commits-subscribe@nifi.apache.org">Subscribe</a></td>
                <td><a class="externalLink" href="mailto:commits-unsubscribe@nifi.apache.org">Unsubscribe</a></td>
                <td><a class="externalLink" href="mailto:commits@nifi.apache.org">Post</a></td>
                <td><a class="externalLink" href="https://lists.apache.org/list.html?commits@nifi.apache.org">commits@nifi.apache.org</a></td>
                <td><a class="externalLink" href="https://mail-archives.apache.org/mod_mbox/nifi-commits/">mail-archives.apache.org</a></td>
		<td>Automated e-mails each time code commits occur</td>
            </tr>
            <tr>
                <td>Issues Mailing List</td>
                <td><a class="externalLink" href="mailto:issues-subscribe@nifi.apache.org">Subscribe</a></td>
                <td><a class="externalLink" href="mailto:issues-unsubscribe@nifi.apache.org">Unsubscribe</a></td>
                <td><a class="externalLink" href="mailto:issues@nifi.apache.org">Post</a></td>
                <td><a class="externalLink" href="https://lists.apache.org/list.html?issues@nifi.apache.org">issues@nifi.apache.org</a></td>
                <td><a class="externalLink" href="https://mail-archives.apache.org/mod_mbox/nifi-issues/">mail-archives.apache.org</a></td>
                <td>Automated e-mails each time comments are made in JIRA or Github</td>
            </tr>
            <tr>
                <td>Security Mailing List</td>
                <td>private</td>
                <td>private</td>
                <td><a class="externalLink" href="mailto:security@nifi.apache.org">Post</a></td>
                <td>not archived</td>
                <td>not archived</td>
                <td>Alias to report security issues to NiFi.  Please see <a href="https://www.apache.org/security/committers.html">ASF security reporting guidance</a> and <a href="https://nifi.apache.org/security.html">NiFi security page</a></td>
            </tr>
        </table>
    </div>
</div>
<div class="large-space"></div>
<div class="row">
    <div class="large-12 columns">
        <h2 class="nifi-txt">
            <span>
                Mailing List Archives
            </span>
        </h2>
    </div>
</div>
<div class="row">
    <div class="large-12 columns">
        <p class="description">
            Some other popular archive sources which are not part of the official Apache archives.
        </p>
        <ul>
            <li>
                <a href="http://apache-nifi-developer-list.39713.n7.nabble.com/">Developer List archive on Nabble</a>
            </li>
            <li>
                <a href="http://apache-nifi-users-list.2361937.n4.nabble.com/">Users List archive on Nabble</a>
            </li>
        </ul>
    </div>
</div>
<div class="row">
    <div class="large-12 columns">
        <h1 class="nifi-txt">
            <span>
                Apache <span class="ni">ni</span><span class="fi">fi</span> Chat
            </span>
        </h1>
    </div>
</div>
<div class="row">
    <div class="large-12 columns">
        <p class="description">
            For more interactive discussions, community members can often be found in the following locations:
        </p>
        <ul>
            <li>
                Apache NiFi Slack Workspace: <a href="https://apachenifi.slack.com/">https://apachenifi.slack.com/</a> <br />
                New users can join the workspace using the following <a href="https://s.apache.org/nifi-community-slack">invite link</a>.
            </li>
            <li>
                IRC:  #nifi on <a href="http://webchat.freenode.net/?channels=#nifi">irc.freenode.net</a>
            </li>
        </ul>
    </div>
</div>
