public Builder mergeFrom(com.google.cloud.vertexai.api.SlackSource.SlackChannels other) {
        if (other == com.google.cloud.vertexai.api.SlackSource.SlackChannels.getDefaultInstance())
          return this;
        if (channelsBuilder_ == null) {
          if (!other.channels_.isEmpty()) {
            if (channels_.isEmpty()) {
              channels_ = other.channels_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureChannelsIsMutable();
              channels_.addAll(other.channels_);
            }
            onChanged();
          }
        } else {
          if (!other.channels_.isEmpty()) {
            if (channelsBuilder_.isEmpty()) {
              channelsBuilder_.dispose();
              channelsBuilder_ = null;
              channels_ = other.channels_;
              bitField0_ = (bitField0_ & ~0x00000001);
              channelsBuilder_ =
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
                      ? getChannelsFieldBuilder()
                      : null;
            } else {
              channelsBuilder_.addAllMessages(other.channels_);
            }
          }
        }
        if (other.hasApiKeyConfig()) {
          mergeApiKeyConfig(other.getApiKeyConfig());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }
<pre>
SlackChannels contains the Slack channels and corresponding access token.
</pre>

Protobuf type {@code google.cloud.vertexai.v1.SlackSource.SlackChannels}
java-vertexai/proto-google-cloud-vertexai-v1/src/main/java/com/google/cloud/vertexai/api/SlackSource.java