<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.method.me/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search results by user ID 89951</title><link>http://forums.method.me/cs/search/SearchResults.aspx?o=DateDescending&amp;u=89951</link><description>Search results by user ID 89951</description><dc:language>en-US</dc:language><generator>CommunityServer 2007.1 SP2 (Build: 31113.47)</generator><item><title>Zapier help - find Opportunity ID</title><link>http://forums.method.me/cs/forums/p/13432/37461.aspx#37461</link><pubDate>Fri, 23 Jan 2026 22:22:33 GMT</pubDate><guid isPermaLink="false">3393c1ec-311b-4812-96cb-ad8c611bba4f:37461</guid><dc:creator>Hallie</dc:creator><description>&lt;p&gt;&lt;span id="mce_0_start" style="overflow:hidden;"&gt;I&amp;#39;m trying to build an automation through Zapier to change an o&lt;span id="mce_1_start" style="overflow:hidden;"&gt;pportunity stage when &lt;span id="mce_2_start" style="overflow:hidden;"&gt;I mark a meeting in Calendly as a no-show. The zap &lt;span id="mce_16_start" style="overflow:hidden;"&gt;first&amp;nbsp;&lt;/span&gt;finds the contact record ID, then I need to find the &lt;span id="mce_5_start" style="overflow:hidden;"&gt;associated&amp;nbsp;&lt;/span&gt;opportunity&amp;nbsp;through the A&lt;span id="mce_13_start" style="overflow:hidden;"&gt;&lt;/span&gt;PI (since&lt;span id="mce_3_start" style="overflow:hidden;"&gt; Find Opportunity is not an out of the box function ). I keep getting an&amp;nbsp;API error: 401 Unauthorized, so the output is missing the correct Opportuni&lt;span id="mce_14_start" style="overflow:hidden;"&gt;&lt;/span&gt;ty RecordID.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Here&amp;#39;s the input data: apiKey (my generated key) &amp;amp;&amp;nbsp;contactRecordId (found&lt;span id="mce_15_start" style="overflow:hidden;"&gt;&lt;/span&gt; in the prev&lt;span id="mce_18_start" style="overflow:hidden;"&gt;&lt;/span&gt;ious zap step). This is t&lt;span id="mce_22_start" style="overflow:hidden;"&gt;&lt;/span&gt;he javascript that Zapier generated for me:&lt;span id="mce_12_start" style="overflow:hidden;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="overflow:hidden;"&gt;&lt;span id="mce_21_start" style="overflow:hidden;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;&lt;span&gt;&lt;span id="mce_11_start" style="overflow:hidden;"&gt;&lt;/span&gt;const&lt;/span&gt; contactRecordId &lt;span&gt;=&lt;/span&gt; inputData&lt;span&gt;.&lt;/span&gt;contactRecordId&lt;span&gt;;&lt;span id="mce_23_start" style="overflow:hidden;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;const&lt;/span&gt; apiKey &lt;span&gt;=&lt;/span&gt; inputData&lt;span&gt;.&lt;/span&gt;apiKey&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;if&lt;/span&gt; &lt;span&gt;(!&lt;/span&gt;contactRecordId &lt;span&gt;||&lt;/span&gt; &lt;span&gt;!&lt;/span&gt;apiKey&lt;span&gt;)&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;return&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;opportunityId&lt;span&gt;:&lt;/span&gt; &lt;span&gt;null&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;error&lt;span&gt;:&lt;/span&gt; &lt;span&gt;&amp;#39;Missing contactRecordId or apiKey&amp;#39;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;// Query opportunities by Contact RecordID&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;const&lt;/span&gt; url &lt;span&gt;=&lt;/span&gt; &lt;span&gt;`https://rest.method.me/api/v1/tables/Opportunity?filter=Contacts eq &amp;#39;&lt;/span&gt;&lt;span&gt;${&lt;/span&gt;contactRecordId&lt;span&gt;}&lt;/span&gt;&lt;span&gt;&amp;#39;`&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;try&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;const&lt;/span&gt; response &lt;span&gt;=&lt;/span&gt; &lt;span&gt;await&lt;/span&gt; fetch&lt;span&gt;(&lt;/span&gt;url&lt;span&gt;,&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;method&lt;span&gt;:&lt;/span&gt; &lt;span&gt;&amp;#39;GET&amp;#39;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;headers&lt;span&gt;:&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;#39;Content-Type&amp;#39;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt; &lt;span&gt;&amp;#39;application/json&amp;#39;&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;&amp;#39;Authorization&amp;#39;&lt;/span&gt;&lt;span&gt;:&lt;/span&gt; &lt;span&gt;`Bearer &lt;/span&gt;&lt;span&gt;${&lt;/span&gt;apiKey&lt;span&gt;}&lt;/span&gt;&lt;span&gt;`&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;});&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;if&lt;/span&gt; &lt;span&gt;(!&lt;/span&gt;response&lt;span&gt;.&lt;/span&gt;ok&lt;span&gt;)&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;return&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;opportunityId&lt;span&gt;:&lt;/span&gt; &lt;span&gt;null&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;error&lt;span&gt;:&lt;/span&gt; &lt;span&gt;`API error: &lt;/span&gt;&lt;span&gt;${&lt;/span&gt;response&lt;span&gt;.&lt;/span&gt;status&lt;span&gt;}&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;${&lt;/span&gt;response&lt;span&gt;.&lt;/span&gt;statusText&lt;span&gt;}&lt;/span&gt;&lt;span&gt;`&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;url&lt;span&gt;:&lt;/span&gt; url&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;const&lt;/span&gt; responseText &lt;span&gt;=&lt;/span&gt; &lt;span&gt;await&lt;/span&gt; response&lt;span&gt;.&lt;/span&gt;text&lt;span&gt;();&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;if&lt;/span&gt; &lt;span&gt;(!&lt;/span&gt;responseText&lt;span&gt;)&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;return&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;opportunityId&lt;span&gt;:&lt;/span&gt; &lt;span&gt;null&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;error&lt;span&gt;:&lt;/span&gt; &lt;span&gt;&amp;#39;Empty response from API&amp;#39;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;const&lt;/span&gt; data &lt;span&gt;=&lt;/span&gt; &lt;span&gt;JSON&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;parse&lt;span&gt;(&lt;/span&gt;responseText&lt;span&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;&lt;span&gt;// Return the first opportunity&amp;#39;s RecordID&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;if&lt;/span&gt; &lt;span&gt;(&lt;/span&gt;data &lt;span&gt;&amp;amp;&amp;amp;&lt;/span&gt; data&lt;span&gt;.&lt;/span&gt;rows &lt;span&gt;&amp;amp;&amp;amp;&lt;/span&gt; data&lt;span&gt;.&lt;/span&gt;rows&lt;span&gt;.&lt;/span&gt;length &lt;span&gt;&amp;gt;&lt;/span&gt; &lt;span&gt;0&lt;/span&gt;&lt;span&gt;)&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;return&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;opportunityId&lt;span&gt;:&lt;/span&gt; data&lt;span&gt;.&lt;/span&gt;rows&lt;span&gt;[&lt;/span&gt;&lt;span&gt;0&lt;/span&gt;&lt;span&gt;].&lt;/span&gt;&lt;span&gt;RecordID&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;rowsFound&lt;span&gt;:&lt;/span&gt; data&lt;span&gt;.&lt;/span&gt;rows&lt;span&gt;.&lt;/span&gt;length&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt; &lt;span&gt;else&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;return&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;opportunityId&lt;span&gt;:&lt;/span&gt; &lt;span&gt;null&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;error&lt;span&gt;:&lt;/span&gt; &lt;span&gt;`No opportunities found`&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;rowsFound&lt;span&gt;:&lt;/span&gt; data&lt;span&gt;.&lt;/span&gt;rows &lt;span&gt;?&lt;/span&gt; data&lt;span&gt;.&lt;/span&gt;rows&lt;span&gt;.&lt;/span&gt;length &lt;span&gt;:&lt;/span&gt; &lt;span&gt;0&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt; &lt;span&gt;catch&lt;/span&gt; &lt;span&gt;(&lt;/span&gt;error&lt;span&gt;)&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;return&lt;/span&gt; &lt;span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;opportunityId&lt;span&gt;:&lt;/span&gt; &lt;span&gt;null&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;error&lt;span&gt;:&lt;/span&gt; &lt;span&gt;`Error: &lt;/span&gt;&lt;span&gt;${&lt;/span&gt;error&lt;span&gt;.&lt;/span&gt;message&lt;span&gt;}&lt;/span&gt;&lt;span&gt;`&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;};&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;&lt;span&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p style="padding-left:30px;"&gt;&lt;span id="mce_9_start" style="overflow:hidden;"&gt;&lt;/span&gt;&lt;/p&gt;</description></item></channel></rss>