function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
XIOXIO 

Help with FeedItem Trigger - Trying to query attached File ID

Hello,

I have the trigger below that is retreving the FeedItem ID but I need it to retrieve the File ID when a file is attached to the feed. Any assistancw will be greatly appreciated.

 
trigger FeedItemIDOppty on FeedItem (before insert,after insert, before update,after update) {
List<Opportunity> O = [select id, File_ID__c from Opportunity where id =: Trigger.new[0].ParentId];
        for(FeedItem fi : trigger.new)
        if(O.size()>0)
            O[0].File_ID__c = fi.ID;
                                    update O;
                        }


 
Best Answer chosen by XIO
XIOXIO
This worked

trigger FeedItemIDOppty on FeedItem (before insert,after insert,before update,after update) {
List<Opportunity> O = [select id, File_ID__c from Opportunity where id =: Trigger.new[0].ParentId];
        for(FeedItem fi : trigger.new)
        if(O.size()>0 && fi.Title.Contains('SOW'))
            O[0].File_ID__c = fi.ID;
                                    update O;
                        }

 

All Answers

Raj VakatiRaj Vakati
Bulkify this code and use it
 
trigger FeedItemIDOppty on FeedItem (after insert, after update) {
List<Opportunity> O = [select id, File_ID__c from Opportunity where id =: Trigger.new[0].ParentId];
        for(FeedItem fi : trigger.new){
	FeedItem fiii =[SELECT Body, (SELECT RecordId, Title, Type, Value FROM FeedAttachments) 
FROM FeedItem 
WHERE Id = fi.Id Limit 1];
		
		O[0].File_ID__c  =fiii.FeedAttachments[0].Id ; 
		update 0 ;
		
		}
   

   }

 
XIOXIO
Thanks for responding Raj! I'm getting this error:

Compile Error: Unexpected token 'fi.Id'. at line 6 column 12
Raj VakatiRaj Vakati
Use this 
 
trigger FeedItemIDOppty on FeedItem (after insert, after update) {
List<Opportunity> O = [select id, File_ID__c from Opportunity where id =: Trigger.new[0].ParentId];
        for(FeedItem fi : trigger.new){
	FeedItem fiii =[SELECT Body, (SELECT RecordId, Title, Type, Value FROM FeedAttachments) 
FROM FeedItem 
WHERE Id =: fi.Id Limit 1];
		
		O[0].File_ID__c  =fiii.FeedAttachments[0].Id ; 
		update 0 ;
		
		}
   

   }

 
XIOXIO
This worked

trigger FeedItemIDOppty on FeedItem (before insert,after insert,before update,after update) {
List<Opportunity> O = [select id, File_ID__c from Opportunity where id =: Trigger.new[0].ParentId];
        for(FeedItem fi : trigger.new)
        if(O.size()>0 && fi.Title.Contains('SOW'))
            O[0].File_ID__c = fi.ID;
                                    update O;
                        }

 
This was selected as the best answer