When President Trump spoke to Volodymyr Zelenskiy on July 25, Trump held the keys to two things the new Ukranian president needed in order to demonstrate he had full U.S. backing to push back on Russian aggression: military assistance and an Oval Office meeting. Both would send a necessary signal that the U.S.-Ukraine alliance was strong.

But the alliance was on shaky ground. In the months leading up to the call, Trump's personal attorney Rudy Giuliani pressed Ukrainian officials to launch investigations that stood to benefit the president politically. Trump was also withholding the White House meeting Zelenskiy coveted, in addition to military aid that was already approved by Congress.

What started as a mission to undermine then-special counsel Robert Mueller's Russia investigation had morphed into an effort to sully a potential political rival, former Vice President Joe Biden. Now, Trump faces the greatest threat to his presidency — the risk of impeachment.

Here's how we got there.

Trump's early focus on Ukraine

April 21, 2017: Three months after his inauguration, President Trump sits for an interview with The Associated Press and floats a debunked conspiracy theory about Ukrainian involvement in hacks of Hillary Clinton's presidential campaign and the Democratic National Committee during the election.

"They get hacked, and the FBI goes to see them, and they won't let the FBI see their server," Trump says about the attack on the DNC, which U.S. intelligence has traced to Russian state actors. "They brought in another company that I hear is Ukrainian-based."

Trump is talking about CrowdStrike, the California cybersecurity firm that helped investigate the DNC attack — even providing federal investigators with evidence. In bringing up the company, the president appears to be alluding to a false narrative that has emerged suggesting that Ukraine, not Russia, was involved in the hacking and that CrowdStrike helped cover it up.

"I heard it's owned by a very rich Ukrainian, that's what I heard," he tells the AP.

It's a theory the president returns to more than two years later on his July 25, 2019, call with Volodymyr Zelenskiy.

Giuliani enters the fray

Late 2018: Rudy Giuliani participates in a Skype call with the former top Ukrainian prosecutor, Viktor Shokin, who was ousted from office after multiple Western leaders, including former Vice President Joe Biden, pressed for his removal. Leaders complain Shokin was failing to tackle corruption. It's around this time that Giuliani says he first learned of a possible Biden-Ukraine connection.

January 2019: Giuliani meets in New York with the top Ukrainian prosecutor at the time, Yuriy Lutsenko. This is when, Giuliani says, his investigation into the Bidens began.

A man named Lev Parnas has said he attended the meeting with Lutsenko and arranged the call with Shokin. Parnas told NPR he attended at least two meetings Giuliani had with Lutsenko. Parnas and an associate, who also worked with Giuliani, are later arrested and charged with violating campaign finance law in a separate matter.

March 31: The first round of presidential elections take place in Ukraine. Zelenskiy, a comedian who once played a president on television, comes out ahead of incumbent President Petro Poroshenko. The race goes to a runoff.

April 7: In an interview on Fox News, Giuliani, unprompted, brings up a Biden-Ukraine connection. He says that while investigating the origin of the Russia investigation, "some people" told him "the story about [gas company] Burisma and Biden's son." Giuliani suggests that as vice president, Biden pressed to remove Shokin because he was investigating Burisma, a Ukrainian gas company that had Biden's son Hunter on its board for several years. There is no evidence to support this claim.

Zelenskiy elected; Trump talks "corruption"

April 21: Zelenskiy is elected president of Ukraine and Trump calls to congratulate him. A White House readout of the call says Trump "expressed his commitment to work together with President-elect Zelenskyy and the Ukrainian people to implement reforms that strengthen democracy, increase prosperity, and root out corruption."

April 25: Trump calls in to Sean Hannity's TV show and says he has heard rumors about Ukrainian "collusion." He tells the Fox News host he expects Attorney General Bill Barr to look into it. "I would imagine he would want to see this," Trump says.

May 6: Marie Yovanovitch, the U.S. Ambassador to Ukraine and an Obama appointee, ends her assignment in Kyiv. According to the whistleblower complaint filed against Trump, she had been "suddenly recalled" to the U.S. by senior State Department officials a week earlier.

Giuliani later says in an interview that she was removed "because she was part of the efforts against the President." Yovanovitch tells Congress that she learned from the deputy secretary of state "there had been a concerted campaign against me, and that the Department had been under pressure from the President to remove me since the Summer of 2018," according to prepared remarks reported by multiple outlets.

May 9: Giuliani tells The New York Times he will travel to Ukraine "in the coming days" to push for investigations that could help Trump. Giuliani says he hopes to meet with President-elect Zelenskiy to push for inquiries into the origins of the Russia investigation and the Bidens' involvement with Burisma.

"We're not meddling in an election, we're meddling in an investigation, which we have a right to do," Giuliani tells the Times.

"There's nothing illegal about it," he says. "Somebody could say it's improper. And this isn't foreign policy — I'm asking them to do an investigation that they're doing already and that other people are telling them to stop. And I'm going to give them reasons why they shouldn't stop it because that information will be very, very helpful to my client and may turn out to be helpful to my government."

May 10: Facing a backlash, Giuliani cancels his trip. "I'm not going to go because I think I'm walking into a group of people that are enemies of the president, in some cases, enemies of the United States," he tells The Washington Post.

There are echoes of this language in Trump's July 25 call with the Ukranian president. After mentioning that his assistant recently spoke with Giuliani, Zelenskiy tells the president, "I just wanted to assure you once again that you have nobody but friends around us."

May 14: Trump allegedly instructs Vice President Pence to cancel his planned travel to Ukraine to attend Zelenskiy's inauguration, according to the whistleblower complaint brought against the president. Energy Secretary Rick Perry travels in his place.

May 19: In an interview with Steve Hilton on Fox News, Trump puts the focus on Biden and Ukraine:

"Look at Joe Biden, he calls them and says, 'Don't you dare prosecute, if you don't fire this prosecutor' — The prosecutor was after his son. Then he said 'If you fire the prosecutor, you'll be OK. And if you don't fire the prosecutor, we're not giving you $2 billion in loan guarantees,' or whatever he was supposed to give. Can you imagine if I did that?"

Biden did, in fact, press for the prosecutor, Shokin, to be sacked because of concerns that he was turning a blind eye to corruption. However, the effort was in keeping with U.S. policy at the time and consistent with the goals of European allies and the International Monetary Fund.

May 30: Zelenskiy receives a letter from Trump inviting him to Washington for an official visit, according to Ukranian media reports. The Ukrainian government says plans are being made for a visit, but no date is set.

June 12: Trump tells ABC's George Stephanopoulos that he would consider taking damaging information on political rivals from a foreign government.

"I think you might want to listen. There isn't anything wrong with listening," Trump says. "If somebody called from a country, Norway, [and said] 'We have information on your opponent' — oh, I think I'd want to hear it."

Funding for Ukraine

June 18: The Defense Department announces that it intends to provide $250 million to Ukraine in "security cooperation funds for additional training, equipment, and advisory efforts to build the capacity of Ukraine's armed forces." This follows a May 23 letter from a top Defense Department official certifying "that the Government of Ukraine has taken substantial actions to make defense institutional reforms for the purposes of decreasing corruption" and "increasing accountability."

June 21: Giuliani tweets that Zelenskiy is "silent on investigation of Ukranian interference in 2016 election and alleged Biden bribery."

July 18: President Trump blocks nearly $400 million in aid to Ukraine. According to the whistleblower complaint, officials in the Office of Management and Budget "stated explicitly that the instruction to suspend this assistance had come directly from the President, but they still were unaware of the policy rationale."

It is not clear at what point the Ukrainians learned the funding was being held.

July 19: According to text messages released by Giuliani and House investigators, Kurt Volker, the U.S. special representative for Ukraine negotiations, has breakfast with Giuliani to discuss Ukraine. Volker later connects Giuliani via text with Andrey Yermak, a top aide to Zelenskiy, and suggests scheduling a call together.

That same day, Volker texts Gordon Sondland, U.S. ambassador to the European Union, and Ambassador Bill Taylor, the chief of mission in Ukraine, about the upcoming call between Trump and Zelenskiy. "Most impt is for Zelensky to say that he will help investigation," Volker writes.

July 24: Mueller testifies before the House Judiciary and Intelligence committees about his report on Russian interference in the 2016 election.

Trump takes to Twitter suggesting the hearing went well for him.

July 25, 8:36 a.m.: In a text message sent shortly before the call between Trump and Zelenskiy, Volker tells Yermak: "Heard from White House - assuming President Z convinces trump he will investigate / 'get to the bottom of what happened' in 2016, we will nail down a date for visit to Washington."

9:03 a.m. to 9:33 a.m.: Trump and Zelenskiy speak. According to the Ukrainian readout of the call, the two leaders discuss "investigation of corruption cases." It also mentions a planned visit by Zelenskiy to the U.S. The U.S. readout of the call also mentions a meeting.

While on the call, Zelenskiy mentions wanting to purchase anti-tank missiles from the U.S., according to a rough transcript of the call released by the White House. Trump responds, "I would like you to do us a favor though." Trump brings up investigating both the CrowdStrike conspiracy theory and the Bidens. He repeatedly tells Zelenskiy he should talk to Giuliani and Attorney General Barr.

Zelenskiy mentions an Oval Office meeting. "Whenever you would like to come to the White House, feel free to call. Give us a date and we'll work that out," Trump says, according to the rough transcript, which according to the whistleblower complaint, was later put on "lockdown" by "senior White House officials."

10:15 a.m.: Yermak texts Volker. "Phone call went well. President Trump proposed to choose any convenient dates. President Zelenskiy chose 20, 21, 22 September for the White House Visit. Thank you again for your help!"

He also mentions an upcoming meeting with Giuliani.

The aftermath

Aug. 9 to 17: In a series of text threads released by House investigators, State Department officials, Giuliani and Yermak discuss a statement that would commit Ukraine to investigate both the 2016 election and Burisma.

In one exchange, Sondland tells Volker that Trump "really wants the deliverable," but the Ukrainains make clear they don't want to release such a statement until a White House meeting is set. "Once we have a date, will call for a press briefing, announcing upcoming visit and outlining vision for the reboot of US-UKRAINE relationship, including among other things Burisma and election meddling investigations," Yermak writes.

Aug. 12: The inspector general for the intelligence community, Michael Atkinson, receives the anonymous whistleblower complaint now at the center of the impeachment inquiry. It alleges "the President of the United States is using the power of his office to solicit interference from a foreign country in the 2020 U.S. election."

Aug. 28: Politico reports that U.S. military aid to Ukraine is being held up. Yermak sends a text to Volker the next day linking to the article and says, "Need to talk with you."

Aug. 29: Trump cancels a trip to Poland to commemorate World War II. He is scheduled to meet with Zelenskiy while on the trip, but plans change so that he can stay in Washington to monitor an approaching hurricane. Meanwhile, congressional pressure to release aid to Ukraine heats up.

Sept. 1: Ambassador Taylor, a career foreign service officer, texts Sondland asking a pointed question. "Are we now saying that security assistance and WH meeting are conditioned on investigations?" Sondland replies, "Call me."

Separately, Pence, who is traveling in Poland in place of Trump, meets with Zelenskiy.

Sept. 2: Pence tells reporters he didn't discuss Biden with Zelenskiy. But he says they did discuss "corruption" and "the upcoming decision the President will make on the latest tranche of financial support."

"But as President Trump had me make clear, we have great concerns about issues of corruption."

Sept. 9: On the day that the congressional intelligence committees are formally notified of the existence of the whistleblower complaint, Ambassador Taylor in a text with Sondland says, "As I said on the phone, I think it's crazy to withhold security assistance for help with a political campaign."

Sondland responds five hours later by saying, "The President has been crystal clear no quid pro quo's of any kind" adding "I suggest we stop the back and forth by text." The Wall Street Journal reports that Sondland spoke with Trump before sending this response.

Sept. 11: Under pressure from lawmakers, the White House releases the funding for Ukraine without any explanation of what changed.

Sept. 13: The chairman of the House Intelligence Committee, Rep. Adam Schiff, D-Calif., subpoenas the acting director of national intelligence, Joseph Maguire, to provide the whistleblower complaint to Congress. Maguire had refused to do so, citing guidance from the Justice Department.

Sept. 18: The Washington Post reports on the standoff over the whistleblower complaint, thrusting its substance into public view. Media reports later indicate the complaint was prompted by a call involving the Ukrainian president.

Sept. 22: Departing the White House, Trump tells reporters the call with Zelenskiy was "absolutely perfect" and "a beautiful, warm, nice conversation." He also says he brought up corruption accusations against Biden.

"We had a great conversation. The conversation I had was largely congratulatory. It was largely corruption — all of the corruption taking place. It was largely the fact that we don't want our people, like Vice President Biden and his son, creating to the corruption already in the Ukraine. And Ukraine — Ukraine has got a lot of problems," Trump says.

Over the course of the next several days, he shifts his description of why he held up funding to Ukraine. First he says it's because not enough was being done to fight corruption. He then suggests it's because European nations should contribute more.

Sept. 24: House Speaker Nancy Pelosi, D-Calif., announces a formal impeachment inquiry. "The president must be held accountable," Pelosi says. "No one is above the law."

Sept. 25: The White House releases the rough transcript of Trump's July 25 call with Zelenskiy.

Zelenskiy reminds Trump of an earlier invitation to visit Washington. Trump again suggests he talk to Barr and Giuliani before mentioning a visit. "Whenever you would like to come to the White House, feel free to call. Give us a date and we'll work that out," Trump says, according to the rough transcript.

That same day, Trump and Zelenskiy finally meet on the sidelines of the United Nations General Assembly in New York. Zelenskiy says he didn't feel pressured by Trump, and adds, "I want to thank you for the invitation to Washington. You invited me. But I think — I'm sorry, but I think you forgot to tell me the date."

The visit has still not been scheduled.

Sept. 26: The House Intelligence Committee releases the whistleblower complaint. It reads, in part, "In the course of my official duties, I have received information from multiple U.S. Government officials that the President of the United States is using the power of his office to solicit interference from a foreign country in the 2020 U.S. election."

Copyright 2019 NPR. To see more, visit https://www.npr.org.