Description
Functionality
Functionality | Solution |
Multiple Workplaces: Seamlessly connect with various Slack workplaces using separate integration setups and distinct Fibery databases. | We can setup multiple integrations with the functionality of the integration framework. |
Public Channels Only: Integrate with multiple public Slack channels to capture discussions and interactions. | The prototype proved this functionality. |
Threaded Structure: Maintain the original thread structure of Slack messages within Fibery, ensuring chronological context. | The prototype proved this functionality. Database structure where Message has a relation to its parent Message. |
Custom Emojis: Effectively handle the presence of custom emojis in Slack messages, ensuring they retain their meaning in Fibery. | The prototype proved this functionality. The Relation can contain any emoji name from Slack in the names. |
File Attachments: Integrate and store file attachments from Slack messages within Fibery, maintaining their original format and accessibility. | The prototype proved this functionality. |
Message Formatting: Preserve the original formatting of Slack messages, including bold, italics, and code blocks, within Fibery. | We have identified some known issues arising from differences between Slack message formatting and default markdown. |
Event-Based Sync: Optimize data synchronization based on Slack events, ensuring real-time updates and minimal data overhead. | Webhook works well in the prototype. |
Permanent Message Link: Obtain the permanent link to each Slack message synchronized with Fibery, enabling easy access and reference. | The prototype proved this functionality. We have a URL field. |
Configuration
Here are the steps of the configuration.
Start
The Slack integration is accessible
from the Space setup integration screen,
from the app Template menu,
from Fibery website.
Authentication
Allows OAuth v2 authentication to Slack or use Auth Token | |
Database setup
Databases
Message, Reaction, Channel, User databases are reselected by default
Channels
Can select multiple channels from the list
Archived channels are marked as (Archived)
private channels are not listed
Oldest Message
User Messages Only (Filter out Fibery Bots & Apps messages)
Error handling
If the Fiber Slack Bot is not a channel member, it should warn the users before leaving the configuration.
"Fibery Automations" is not a selected channel(s [channel(s)] member. Please invite the bot to the channel to sync messages and reactions.
Removing Fibery Slack Bot from the channel will permanently delete all previous channel information, messages, and reactions from the Fibery databases.
If any Slack channel is archived after the setup, the sync should stop and display an error message.
The selected channel(s) [channel(s)] has been archived. To sync messages and reactions, please unarchive the Slack channel and reinvite the Slack bot (@Fibery Automation) to the channel.
Removing the channel from the configuration will permanently delete all previous channel information, messages, and reactions from the Fibery databases.
If the permission level for the Fibery Slack Bot is insufficient, the following error message should be displayed.
"Fibery Automations" requires additional permissions for full functionality. Please recreate the account with the necessary permissions and attach it to the integration.
If the channel is deleted or set to private.
The previously configured channel is no longer accessible. This may be due to it being deleted or set to private. Please fix the configuration by removing Unavailable channels or making the channels available again.
Removing the channel from the configuration will permanently delete all previous channel information, messages, and reactions from the Fibery databases.
Database structure
Channel: Every configured Slack channel is one entry.
Slack field | Type | Fibery field | Description |
Name | Name | Name | Name of the Channel, mandatory field |
Archived | Checkbox | Archived | Represent the Slack channel archive status |
Message: Every single message in the configured Slack channel(s) is one entry.
Slack field | Type | Fibery field | Description |
Name | Name | Name | Generated from Message (first x character), mandatory field |
Channel Id | Relation | Channel | The Channel where the Message is. Message has one Channel |
Date | Date and Time | Date | Message creation date in Slack (not in Fibery) |
Files | Files | Files | Slack message attachment(s) |
Message Id | Text | Message Id | Unique message identifier |
Order | Decimal number | Order | Message order |
Root Message Id | Text | Root Message Id | Unique identifier of the root message |
Thread Id | Relation | Thread / Replies | The parent message of the message. If there is no parent, this is empty. Message has one Message |
URL | URL | URL | The permanent link to the Slack message |
User | Relation | User | The sender of the message. Message has one User |
Reaction: Every emoji is one entry, even for the same message.
Slack field | Type | Fibery field | Description |
Name | Name | Name | Emoji names with semicolons, mandatory field |
Message | Relation | Message | Emoji on the message. Reaction has one Message. |
User | Relation | User | Creator of the emoji. Reaction has one User. |
User: Every user of the Slack workplace.
Slack field | Type | Fibery field | Description |
Name | Name | Name | Slack User name mandatory field |
Bot | Checkbox | Bot | Indicates whether the user is actually a bot user. |
Deleted | Checkbox | Deleted | When the value is true the user is deactivated. |
Display Name | Text | Display Name | Display Name of the Slack user |
Email | Email | Email | Email address of the Slack User |
First Name | Text | First Name | The user's first name. |
Last Name | Text | Last Name | The user's last name. |
Phone | Text | Phone | The user's phone number, in any format. |
Title | Text | Title | The user's title. |
Usergroup: Group of users with one handle address
Slack field | Type | Fibery field | Description |
Name | Name | Name | Slack Usergroup name mandatory field |
Description | Rich Text Markdown | Description | Explains the purpose of the group |
Handle | Text | Handle | Indicates the value used to notify group members via a mention without a leading @ sign. |
Users | Relation | User | Member of the users |
Known Issues / Improvement Idea
The custom emojis Icon field is not supported. The emoji name in the Reaction database can be used for automation.
User Mentions in messages: Recognize and handle user mentions (@username) in Slack messages, linking them to their respective Slack User database / Fibery User database.
The integration configuration framework does not support image handling. In some cases, displaying an image to guide users through the issue or solution would be helpful.
Add filtering options. Add filtering options on the integration side by user or emoji. e.g., we should filter out the Fibery Automation bot reply from the Slack messages, or we do not want to pull in all the emojis that are not marked yet. Option to filter out Fibery Slack Bot messages from Slack Integration