Учитывая, что Signal во многом является клиентским приложением, API определённо существует, и вы почти наверняка сможете провести реверс-инжиниринг, изучив исходный код.
Но, как они сами говорят, использование вне экосистемы Signal «не поддерживается». Поэтому, хотя вы, возможно, получите помощь от их сообщества, никаких гарантий стабильности этого интерфейса или библиотек, на которые вам, возможно, придётся полагаться в мире Ruby on Rails, не будет.
Безусловно, в различных экосистемах на нескольких репозиториях GitHub существуют другие попытки реализации, которые могут больше не поддерживаться и не работать, но при этом давать некоторые представления о возможностях.
Вам потребуется связать каждую учётную запись пользователя Discourse с соответствующей учётной записью Signal аналогично текущей схеме, хранить локальные приватные ключи для каждого пользователя, расшифровывать сообщения и затем обрабатывать их.
Это определённо осуществимо, но потребует непредсказуемо большого объёма постоянной работы. В первую очередь потому, что у вас нет документации к API, который никогда не предназначался для использования в Ruby on Rails (но кто знает).
Я подозреваю, что вам потребуется очень сильно этого хотеть, чтобы довести дело до конца.
, если только вы не сможете вдохновить кого-то взяться за это как за хобби-проект.