I have a custom object called Server_Order__c used in my customer portal which is then mirrored to my Opportunities, I would like to also copy over attachments to the relavent Opportunity. How the attachment can be linked to the right Opportunity is by getting the Opportunity__c value from Service_Orders__c object. Edit: Due to the way SF works, attachment are uploaded to their own object and justhave reference the parent object which means the record is not updated. What I would like to know is how can I have any attachments uploaded to my Service Order object, they should be also copied to the relevant Opportunity. The mirrored opportunity (ID) is referenced in my Service Order as Opportunity__c. 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); } }