Help

Re: Commenting on AT Interface

3514 3
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

When I @mention someone on Interphase and they get an email notification to link them to the base to see the comment, is there a way to link them to the Interphase via that notification? I’m running into a bit of trouble with @mentioning someone and they’re taken to a gridview instead of the Interphase view. My gridviews and my interphase shows different fields so when they’re taken to a grid view, they don’t see the necessary information/fields.

17 Replies 17

Welcome to the community, @Ivy_Zhong! :grinning_face_with_big_eyes: Airtable doesn’t currently provide any options for changing how the @ tagging behavior works, probably because the tag is tied to a record. An interface (not interphase) is just another way of viewing and interacting with records, similar to view types like gallery, Kanban, etc. As far as Airtable is concerned, the important thing when tagging someone is the record, not the environment in which the record is viewed.

I understand what you’re saying @Justin_Barrett . But I second @Ivy_Zhong 's point.

We use Interfaces to display ‘only what’s necessary’ data for management, as an interface dashboard for Managers to change Status fields and leave comments in the comment field - the Comment box field type that AirTable has provided in Interfaces, and that is editable from Interfaces.

We use this Comment box on Interfaces to @mention colleagues and converse about the key details of the record. Not all details of the record need to be seen for this. There is alot we capture in a record that isn’t needed for this purpose/for management’s review.

We want to be able to only do this (@mention commenting) in Interfaces, as the ‘back-end’ of AirTable gridview is over-complicated for management. Yet the @mention email notification link opens the ‘back-end’ gridview, when they’re used to using only the Interface, and it really confuses the process.

Thanks for sharing more about your use case, @Jazmin_Poyser . I can see how the workflow that you describe could be very useful in that type of situation. Whether or not the Airtable devs implement that feature (or something like it) remains to be seen. It may be possible for the @ tagging system to operate contextually, so that it sends a record link when used in an expanded record, an interface link when used in an interface, etc. Only the devs can say for sure.

Thanks for your response @Justin_Barrett . Am I able to up-vote this anywhere? Or is it passed onto dev team as feature request/feedback?

@Jazmin_Poyser There currently isn’t a public space where feature requests can be upvoted other than the #show-and-tell:product-suggestions category here in the forum. If you find it there, give the initial post in the thread a thumbs-up to show your support. Higher votes don’t necessarily mean that the feature will be implemented sooner (or at all), but it still gives Airtable staffers an idea of the popularity of the idea.

I also recommend reaching out to Airtable support directly (in the app: Help → Contact support) to let them know. While Airtable staffers do frequent the forum and note popular threads in that category linked above, direct requests are never a bad idea.

Thanks Justin, will do. appreciate it.

Michael_Kneller
5 - Automation Enthusiast
5 - Automation Enthusiast

I’d like to one up this. We’d love for interfaces to be our single source of access for the bulk of users, but in order for that to happen, interfaces need to be far more integrated into how Airtable operates.

Right now, instead of Airtable being a facility with several different entrances to different wings for different employees, it’s definitely a big warehouse everyone waltzes into where they can see everyone else’s stuff all laid out on the floor. Interfaces was a step in the right direction, but instead of different wings, they’re booths, with no locked doors in between them.

Agree with Michael_Kneller1: I’d like to give access to interfaces only…they are designed for a user who doesn’t want to figure out things in the DB (views still get messy). And since they are designed such that individuals know what they need to execute, very efficient for the user.

More, if this is possible, we could add more users, who would only interact with certain interfaces, essentially limiting their data table access, but drive more efficient process. For example, we have invoicing and payment that we link to the table, but we had to build a separate base and sync tables between them to protect non-public info. We can use third party portals, but really, this would simplify our work in building out tools.

Rachel_Fowler
4 - Data Explorer
4 - Data Explorer

+1 to this idea! My team would like to use this feature (@mention comments taking a user straight to the interface) for management to access only the need-to-knows without getting bogged down in other details, and to eliminate the redundancy for those more involved in the project of having to share certain files, notes, etc with them elsewhere as must currently be done.

Stephanie_Goss
4 - Data Explorer
4 - Data Explorer

+1. This is a huge challenge for my team because while they get the notification, they have to switch back to the notification main screen in airtable to see what record it might have been regarding and then go back into interface to find the record. It is a huge time suck since we comment on records a lot!

Chase_Kolozsi
4 - Data Explorer
4 - Data Explorer

Running into this issue more and more nowadays. One of the more pressing growing pains now that more of my team is relying on Airtable.

This works fine for me. The interface page that I’m using has a comment widget as part of the page. Any time that my boss leaves me a comment on a record and I click “View comment” in the notification email, it takes me straight to that record in the interface. It’s been working this way for some time (at least a month or two that I recall).

Lynne_Fetterman
5 - Automation Enthusiast
5 - Automation Enthusiast

 We are trying to work around this by adding a link to the base record in the interface for our backend team to access it quickly. However, when they comment on the back end on a record, it doesn't notify collaborators who only have interface access. Anyone find a way around this?

Good_Ink
5 - Automation Enthusiast
5 - Automation Enthusiast

We have a similar issue with comment notifications when someone is mentioned in an interface they don't have access to.

We have interface-only sales reps who do all of their work in a rep interface. The admin team is also interface-only and makes comments on orders in an admin interface. Often times, the admin team will make a comment in their interface, mentioning the rep but the rep never receives a notification because they don't have access to the admin interface.

Because this level of collaboration is crucial for orders to flow properly, I've been trying to figure out a way to force some level of notifications so the rep knows to go in and check on an order. What would be most ideal is if Airtable would allow some level of trigger to fire when a comment is made. To my knowledge, nothing (including modified time fields) fire when a comment is made.

The below is a pseudo-workaround that I haven't been able to get working due to time constraints for scripts. If anyone has advice on how to better execute this and get it working, please let me know.

1. The first automation runs on a time-based trigger and runs the below script to check the API to see if comments are present

let apiKey = 'xxxxxxxxxx'; // Replace with your API key/token
let endpoint = 'https://api.airtable.com/v0/appXXX/tblXXX?recordMetadata=commentCount';
let table = base.getTable('Orders'); // Replace with your table name

// Function to make a GET request using fetch
async function fetchData() {
  let response = await fetch(endpoint, {
    method: 'GET',
    headers: {
      Authorization: `Bearer ${apiKey}`,
    },
  });

  if (response.ok) {
    let data = await response.json();
    let dataArray = [];
    if (data) {
      for (var i in data) {
        dataArray.push([i, data [i]]);
        }
    }

    let offset = dataArray[1][1];
    console.log(offset);
    if (offset !== undefined) {
      do {
        const api1 = await fetch(endpoint + "&offset=" + offset, {
          method: 'GET',
          headers: {
          Authorization: `Bearer ${apiKey}`,
        },
      });
        const response = await api1.json();
        for (var j in response) {
          dataArray.push([j, data [j]]);
        }
        offset = dataArray[1][1];
      } while (offset !== undefined);
    }
    for (var k in dataArray[0][1]) {
      const commentCount = dataArray[0][1][k]["commentCount"];
      const recordId = dataArray[0][1][k]["id"];
      await table.updateRecordAsync(recordId, {
            "Comment Count": commentCount,
            },
        )}
    
  } else {
    console.error('Error fetching data:', response.statusText);
  }
}

// Call the function to fetch data and update records
fetchData();

2. The second automation runs every 2 hours and checks for records with a comment count greater than 0. If there are comments, it checks a latest comment date field and sees if there is something newer. If so, it updates the date, comment text, and mentioned fields with fetched API data 

const inputConfig = input.config();
const recordIds = inputConfig.recordIds; // Replace with the actual record ID you want to monitor
console.log(recordIds.length);

const token = 'XXXX';
const baseId = 'appXXXX';
const tableId = 'tblXXXX';
const table = base.getTable("Orders");

const headers = {
  Authorization: `Bearer ${token}`,
  'Content-Type': 'application/json',
};

for (var i in recordIds) {
  const commentsEndpoint = `https://api.airtable.com/v0/${baseId}/${tableId}/${recordIds}/comments`;
  let response = await fetch(commentsEndpoint, { headers });
  let dataArray = [];
  if (response) {
    for(var i in response) {
      dataArray.push([i, response [i]]);
    }
    console.log(dataArray);
  }
}


try {
  let response = await fetch(commentsEndpoint, { headers });

  if (!response.ok) {
    throw new Error(`Request failed with status: ${response.status}`);
  }

  let data = await response.json();
  let dataArray = [];
  if (data) {
    for(var i in data) {
      dataArray.push([i, data [i]]);
    }
    console.log(dataArray);
    let commentDate = dataArray[0][1][0].createdTime; //gets the date of the latest comment
    let commentText = dataArray[0][1][0].text; //gets the text of the latest comment
    let mentioned = dataArray[0][1][0].mentioned;
    await table.updateRecordAsync(recordId, {
            "Last Comment Date": commentDate,
            "Last Comment Text": commentText,
            },
    )}

  } catch (error) {
    console.error('Error:', error.message);
}

 3. The third automation runs on a record updated trigger that watches the latest comment date field for changes and sends the comment text to the rep saying there has been comment activity on their order.

As mentioned, this is a long workaround (not working at the moment) to what seems like a relatively easy fix from Airtable to fire an event of some sort when a comment is made.

MoNasser
5 - Automation Enthusiast
5 - Automation Enthusiast

In case you guys don't already know, this issue has been fixed since late August 2023, enjoy!

Good_Ink
5 - Automation Enthusiast
5 - Automation Enthusiast

Do you have more information or release notes on this?

MoNasser
5 - Automation Enthusiast
5 - Automation Enthusiast

This should be the update related to the avove: https://support.airtable.com/docs/interface-designer-permissions

This is evident if you try it out in your interfaces with interface collaborators, it was one of the biggest pain points that our company had, but that's history now.