MacGregor turned to Williams after her shock resignation as Craig's press secretary before the general election in 2014.
At the time Craig was the leader of the Conservative Party.
MacGregor told Williams that Craig had been sexually harassing her for a long period of time and had sent her letters, poems and a sex text.
Williams was "horrified" and alerted party members including then-chief executive Christine Rankin.
He claims he was concerned that Craig's actions were a threat to the party and the good reputations of its members.
Craig later claimed that Williams and others were spreading "false accusations" about him, and that he was going to take action against them for their lies.
He held a press conference and released a pamphlet that named Williams as one of the "culprits".
Williams alleges that was defamation and he filed civil proceedings, leading to a trial in the High Court at Auckland that started on Monday.
After giving evidence for almost two days, Williams is now under cross-examination from Craig's legal team.
Mills suggested Williams had not seen the "sex text" Craig sent to MacGregor when he disclosed what he knew to Rankin.
Williams revealed this week that the text read "I slept well last night because I dreamt I was between your naked legs".
Today Williams conceded that when he went to Rankin, he may not have seen the text message.
However he had read handwritten letters and poems Craig had sent to MacGregor.
"You knew the sex text was enormously damaging to Mr Craig, and you had never read it," Mills suggested.
Williams conceded that he could not recall if he had seen the text at that stage.
"If I could say I'd read it, I would have," Williams told the jury.
Williams also conceded that the wording of the text that he shared with others was not exact.
The actual text did not have the word "naked", he said.
Williams said the wording of the text was irrelevant to the defamation case, the point was
that the text existed.
"I know the wording was slightly wrong, I accept that I never read the text. But I didn't make this up - that's the allegation in the leaflet," Williams said.
"I relayed what Rachel told me, what I believed to be true at the time," he said.
Williams remains adamant that when he went to Craig's Conservative Party colleagues he was armed with truthful information, that the exact wording may not have been 100 per cent accurate but what he told them was materially correct.
Mills revealed that Craig was going to tell the jury that he "never sent a sex text" and said Williams' disclosure of the alleged text and letters led to Craig's "personal reputation being shredded in the media".
Craig also sat by, under attack in the media, "watching the destruction of any political hopes he had for himself" and "also seeing the loss of the hopes his party had for New Zealand get destroyed".
Mills has also canvassed why Williams took information disclosed to him by MacGregor to other parties when he knew it was related to a Human Rights Tribunal case and subject to a strict confidentiality agreement.
Williams maintains he acted primarily in MacGregor's best interests and to protect her, and secondly to protect the integrity of the Conservative Party.
He told the court he was "angry" at Craig and wanted to "shine a light" on what he believed was unacceptable behaviour.
Williams felt Craig had lied to his party about the MacGregor situation, and furthermore, was breaching the confidentiality agreement by discussing her resignation in the media.
Meanwhile, MacGregor was not able to defend herself.
"It is completely normal to want to expose hypocrisy," Williams said.
The cross-examination continues.