I have a custom object called Server_Order__c used in my customer portal which is mirrored to the Opportunities object, as well as mirroring the data I would also like to mirror any attachments that are uploaded. A 'Service Order' object is a child of Opportunities object, each record contains a Opportunity__c foriegn key. Here is my apex trigger as of now, but it does not seem to work. trigger CopyAttachmentstoOpps on Attachment (after insert) { List<Attachment> insertAttList = new List<Attachment>(); for (Attachment att:Trigger.new) { String parentIdString = String.valueof(att.parentId); Service_Order__c oppId = [SELECT Opportunity__c FROM Service_Order__c WHERE ID = :att.parentId]; system.debug('The ID is' + oppId); Attachment b = att.clone(); b.parentid = parentIdString; insertAttList.add(b); } } **EDIT**<br> My initial code has a trigger on Service Order updates, however the way Salesforce works when an attachment is uploaded it is stored in a child object hence no updates are made to the parent. I have modified my code accordingly but I am still unable to get it to work.